hexagon logo

LOOPING SEQUENCE OF PARTS BEFORE PROBE CHANGE?

Hi there,

I am wondering if there is a way to loop all (5) pieces before swapping probes. I am trying to minimize the swaps along with the travel to and from.

Currently, the program runs (1) part all the way through, using (2) different probes and then goes on to the next part. When I tried to put another loop, it will run the first part of the program fine but then it does the second loop along with the first loop again..

PART NAME  :xxxxxxxxxxxxxxxxxx
REV NUMBER : xxx
SER NUMBER : 
STATS COUNT : 1
 
STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
            ALIGNMENT/END
            MODE/MANUAL
            PREHIT/0.05
            RETRACT/0.05
            MOVESPEED/ 200
            MANRETRACT/0.05
            FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
            LOADPROBE/2X21MM
            TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
$$ NO,
            PROGRAMMED BY: AUSTIN V
            PROGRAMMED DATE: 1/24/2024
V2         =LOOP/START,ID=YES,NUMBER=5,START=1,SKIP=,
              OFFSET:XAXIS=2,YAXIS=0,ZAXIS=0,ANGLE=0
V1         =LOOP/START,ID=YES,NUMBER=5,START=1,SKIP=,
              OFFSET:XAXIS=2,YAXIS=0,ZAXIS=0,ANGLE=0
              PRINT/REPORT,EXEC MODE=END,$
                TO_FILE=OFF,AUTO=1,AUTO OPEN=OFF,$
                TO_PRINTER=OFF,COPIES=1,$
                TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
                REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMENSIONS=NO,$
                TO_EXCEL=OFF,$
                PREVIOUS_RUNS=DELETE_INSTANCES
PLN1         =FEAT/PLANE,CARTESIAN,TRIANGLE
              THEO/<-0.0024,0.0016,0>,<0,0,1>
              ACTL/<3.3425,7.8022,-21.6522>,<-0.0029869,0.0002631,0.9999955>
              MEAS/PLANE,4
                HIT/BASIC,NORMAL,<-0.0039,0.3137,0>,<0,0,1>,<3.3338,8.1091,-21.6523>,USE THEO=YES
                HIT/BASIC,NORMAL,<-0.3142,0.0017,0>,<0,0,1>,<3.043,7.7928,-21.653>,USE THEO=YES
                HIT/BASIC,NORMAL,<-0.0039,-0.3111,0>,<0,0,1>,<3.3281,7.4835,-21.6521>,USE THEO=YES
                HIT/BASIC,NORMAL,<0.3124,0.0022,0>,<0,0,1>,<3.6647,7.8235,-21.6512>,USE THEO=YES
              ENDMEAS/
CIR1         =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
              THEO/<0,0,-0.1056>,<0,0,1>,0.506
              ACTL/<3.3522,7.7958,-21.7558>,<0,0,1>,0.5067
              MEAS/CIRCLE,4,ZPLUS
                HIT/BASIC,NORMAL,<0.253,-0.0012,-0.1043>,<-0.9999888,0.0047424,0>,<3.6038,7.8231,-21.7557>,USE THEO=YES
                HIT/BASIC,NORMAL,<0.023,-0.252,-0.1267>,<-0.0908057,0.9958686,0>,<3.3461,7.5429,-21.7557>,USE THEO=YES
                HIT/BASIC,NORMAL,<-0.253,-0.003,-0.0904>,<0.9999317,0.01169,0>,<3.099,7.8017,-21.7558>,USE THEO=YES
                HIT/BASIC,NORMAL,<0.028,0.2515,-0.1009>,<-0.1104814,-0.9938782,0>,<3.3507,8.0489,-21.7558>,USE THEO=YES
              ENDMEAS/
A1           =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                ALIGNMENT/LEVEL,ZPLUS,PLN1
                ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/TRANS,XAXIS,CIR1
                ALIGNMENT/TRANS,YAXIS,CIR1
              ALIGNMENT/END
              MODE/DCC
              CLEARP/ZPLUS,0.09,ZPLUS,0,ON
              MOVE/CLEARPLANE
CYL1         =FEAT/CONTACT/CYLINDER/ADAPTIVE_CYLINDER_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN,LEAST_SQR
              THEO/<0,0,-0.0598>,<0,0,1>,0.506,0.1855
              ACTL/<0,0,-0.0538>,<0,0,1>,0.506,0.1855
              TARG/<0,0,-0.0598>,<0,0,1>
              START ANG=90,END ANG=450
              ANGLE VEC=<1,0,0>
              DIRECTION=CCW
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
A2           =ALIGNMENT/START,RECALL:A1,LIST=YES
                ALIGNMENT/LEVEL,ZPLUS,CYL1
                ALIGNMENT/TRANS,XAXIS,CYL1
                ALIGNMENT/TRANS,YAXIS,CYL1
              ALIGNMENT/END
CYL2         =FEAT/CONTACT/CYLINDER/ADAPTIVE_CYLINDER_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN,LEAST_SQR
              THEO/<0,0,-0.262>,<0,0,1>,0.488,0.0447
              ACTL/<-0.0001,0,-0.262>,<-0.0007506,-0.0001919,0.9999997>,0.4887,0.0447
              TARG/<0,0,-0.262>,<0,0,1>
              START ANG=90,END ANG=450
              ANGLE VEC=<1,0,0>
              DIRECTION=CCW
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
CON1         =FEAT/CONTACT/CONE/ADAPTIVE_CONE_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN
              THEO/<0,0,-0.3488>,<0,0,1>,90,0.0279,0.4205
              ACTL/<0,-0.0001,-0.3487>,<0.0000181,0.0009596,0.9999995>,89.6982,0.0642,0.4232
              TARG/<0,0,-0.3488>,<0,0,1>
              START ANG=90,END ANG=450
              ANGLE VEC=<1,0,0>
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
              MOVE/INCREMENT,<0,0,0.276>
CON2         =FEAT/CONTACT/CONE/ADAPTIVE_CONE_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN
              THEO/<0,0,-0.0598>,<0,0,1>,60,0.0598,0.506
              ACTL/<0,0.0001,-0.0598>,<0.0001189,-0.0004535,0.9999999>,59.8718,0.0611,0.5077
              TARG/<0,0,-0.0598>,<0,0,1>
              START ANG=90,END ANG=450
              ANGLE VEC=<1,0,0>
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
              MOVE/CLEARPLANE
PLN2         =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
              THEO/<0,0,0>,<0,0,1>
              ACTL/<0,-0.0001,-0.0001>,<0.000318,-0.0001314,0.9999999>
              TARG/<0,0,0>,<0,0,1>
              ANGLE VEC=<0,1,0>,RADIAL
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
A3           =ALIGNMENT/START,RECALL:A2,LIST=YES
                ALIGNMENT/LEVEL,ZPLUS,PLN2
                ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/TRANS,XAXIS,CYL1
                ALIGNMENT/TRANS,YAXIS,CYL1
              ALIGNMENT/END
            LOOP/END
              LOADPROBE/5X50MM
              TIP/T1A0B0, SHANKIJK=0, -0.0001, 1, ANGLE=0
              MOVE/POINT,NORMAL,<0,0,1>
              CLEARP/ZPLUS,0.148,ZPLUS,0,ON
CYL3         =FEAT/CONTACT/CYLINDER/ADAPTIVE_CYLINDER_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN,LEAST_SQR
              THEO/<0,0,-0.3487>,<0,0,1>,0.4205,0.4605
              ACTL/<0,0,-0.3487>,<0.0000192,0.0000773,1>,0.4205,0.4605
              TARG/<0,0,-0.3487>,<0,0,1>
              START ANG=0,END ANG=360
              ANGLE VEC=<1,0,0>
              DIRECTION=CCW
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
              MOVE/INCREMENT,<-0.015,0,0>
CYL4         =FEAT/CONTACT/CYLINDER/ADAPTIVE_CYLINDER_CONCENTRIC_CIRCLE_SCAN,CARTESIAN,IN,LEAST_SQR
              THEO/<0,0,-1.03>,<0,0,1>,0.392,0.663
              ACTL/<0,0,-1.03>,<-0.0000462,-0.0001187,1>,0.3922,0.663
              TARG/<0,0,-1.03>,<0,0,1>
              START ANG=0,END ANG=360
              ANGLE VEC=<1,0,0>
              DIRECTION=CCW
              SHOW FEATURE PARAMETERS=NO
              SHOW CONTACT PARAMETERS=NO
              MOVE/CLEARPLANE
              LOADPROBE/2X21MM
              TIP/T1A0B0, SHANKIJK=0, -0.0001, 1, ANGLE=0
              COMMENT/REPT,
              *************************
              BALLOON #49
              *************************
  DIM LOC1= LOCATION OF CYLINDER CYL1  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  D       0.5060     0.0020     0.0020     0.5060     0.0000     0.0000 ----#----
  END OF DIMENSION LOC1
              COMMENT/REPT,
              *************************
              BALLOON #51
              *************************
CIR2         =FEAT/CIRCLE,CARTESIAN,IN,NO
              THEO/<0,0,0>,<0,0,1>,0.575
              ACTL/<0,0.0001,0>,<-0.0001991,-0.0003221,0.9999999>,0.5763
              CONSTR/CIRCLE,INTOF,CON2,PLN2
  DIM LOC2= LOCATION OF CIRCLE CIR2  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  D       0.5750     0.0050     0.0050     0.5763     0.0013     0.0000 -----#---
  END OF DIMENSION LOC2
              COMMENT/REPT,
              *************************
              BALLOON #52
              *************************
  DIM LOC3= LOCATION OF CONE CON2  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  A      60.0000     2.0000     2.0000    59.8718    -0.1282     0.0000 ----#----
  END OF DIMENSION LOC3
              COMMENT/REPT,
              *************************
              BALLOON #53
              *************************
  DIM LOC4= LOCATION OF CYLINDER CYL2  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  D       0.4880     0.0020     0.0020     0.4887     0.0007     0.0000 -----#---
  END OF DIMENSION LOC4
              COMMENT/REPT,
              *************************
              BALLOON #55
              *************************
  DIM LOC5= LOCATION OF CYLINDER CYL3  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  D       0.4205     0.0005     0.0005     0.4205     0.0000     0.0000 ----#----
  END OF DIMENSION LOC5
              COMMENT/REPT,
              *************************
              BALLOON #59
              *************************
  DIM LOC6= LOCATION OF CYLINDER CYL4  UNITS=IN ,$
  GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
  AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
  D       0.3920     0.0020     0.0020     0.3922     0.0002     0.0000 -----#---
  END OF DIMENSION LOC6
              PRINT/REPORT,EXEC MODE=END,$
                TO_FILE=ON,AUTO=3,AUTO OPEN=OFF,$
                TO_PRINTER=OFF,COPIES=1,$
                TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
                REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMENSIONS=NO,$
                TO_EXCEL=ON,AUTO=4,FILENAME=S:\V_AUSTIN\EXCEL DATA\63508817-1\10971-001\OP40\63508817-1_OP40 - NC.XLSX,AUTO OPEN=OFF,$
                PREVIOUS_RUNS=KEEP_INSTANCES
              REPORT/LABEL, FILENAME= FILE_HEADER.LBL
            LOOP/END

I believe it may just be how I am doing my loops..   Any insight would be greatly appreciated!

Parents
  • you've got two loops within each other, so what that is ultimately doing is Loop(V2) starts at count 1.

    Loop(V1) will conduct all 5 cycles.

    then Loop(V2) will become count 2

    and restart Loop(V1) will do another 5 cycles.

    and so on until it measures 5x5 times (25 total loops).

    Looping a routine with multiple part-dependent alignments and probe changes to me is a mess to get to work, as you need to deal with referencing array values of the prior loop cycles, within the next loop, for EVERYTHING. 

    When i program a fixture like this, and multiple probes are necessary, I generally just copy/offset my code, then use flow controls (do/until, do/while. if/ goto /endif, or if_goto with Labels) with a quantity input at the beginning of the routine to control how many parts to run.

  • Gotcha! Thank you very much for the insight. I will have to play around with the flow controls and see if I can get it right. Thanks again !!

Reply Children
No Data