I am writing a program where I have 4 parts in a fixture and loop the part program 4 times with a Do/Until loop. To save time and keep the program short, I want to open a second Do/Until loop for the second probe and recall the part alignment from the first loop on the second loop's counter. Can anyone provide me with an example of how I can do this?
Here's my program so far:
$$ NO, ================================ FIXTURE ALIGNMENT FEATURES. ================================ PLN_TOP_FIXTURE=FEAT/PLANE,CARTESIAN,TRIANGLE THEO/<87.301,218.466,0>,<0,0,1> ACTL/<87.301,218.466,0>,<0,0,1> MEAS/PLANE,4 MOVE/CLEARPLANE HIT/BASIC,NORMAL,<24.34,27.168,0>,<0,0,1>,<24.34,27.168,0>,USE THEO=YES HIT/BASIC,NORMAL,<26.057,414.633,0>,<0,0,1>,<26.057,414.633,0>,USE THEO=YES HIT/BASIC,NORMAL,<144.518,404.826,0>,<0,0,1>,<144.518,404.826,0>,USE THEO=YES HIT/BASIC,NORMAL,<154.288,27.237,0>,<0,0,1>,<154.288,27.237,0>,USE THEO=YES ENDMEAS/ A1 =ALIGNMENT/START,RECALL[emoticon:6D505171FAA4497C85C5CA27290C555D]OROTHY_MEDIUM_FIXTURE_4_UP,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN_TOP_FIXTURE ALIGNMENT/TRANS,ZAXIS,PLN_TOP_FIXTURE ALIGNMENT/END LIN_SIDE_FIXTURE=FEAT/LINE,CARTESIAN,UNBOUNDED THEO/<0,59.453,-5>,<0,1,0> ACTL/<0,59.453,-5.406>,<0,1,0> MEAS/LINE,2,ZPLUS MOVE/CLEARPLANE HIT/BASIC,NORMAL,<0,59.453,-5>,<-1,0,0>,<0,59.453,-6.508>,USE THEO=YES HIT/BASIC,NORMAL,<0,365.805,-5>,<-1,0,0>,<0,365.805,-4.304>,USE THEO=YES ENDMEAS/ A2 =ALIGNMENT/START,RECALL:A1,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN_TOP_FIXTURE ALIGNMENT/TRANS,ZAXIS,PLN_TOP_FIXTURE ALIGNMENT/ROTATE,YPLUS,TO,LIN_SIDE_FIXTURE,ABOUT,ZPLUS ALIGNMENT/TRANS,XAXIS,LIN_SIDE_FIXTURE ALIGNMENT/END PNT_FRONT_FIXTURE=FEAT/POINT,CARTESIAN THEO/<45.291,0,-3.209>,<0,-1,0> ACTL/<45.291,0,-3.209>,<0,-1,0> MEAS/POINT,1,WORKPLANE MOVE/CLEARPLANE HIT/BASIC,NORMAL,<45.291,0,-3.209>,<0,-1,0>,<45.291,0,-3.209>,USE THEO=YES ENDMEAS/ FIXTURE_ALIGNMENT=ALIGNMENT/START,RECALL:STARTUP,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN_TOP_FIXTURE ALIGNMENT/TRANS,ZAXIS,PLN_TOP_FIXTURE ALIGNMENT/ROTATE,YPLUS,TO,LIN_SIDE_FIXTURE,ABOUT,ZPLUS ALIGNMENT/TRANS,XAXIS,LIN_SIDE_FIXTURE ALIGNMENT/TRANS,YAXIS,PNT_FRONT_FIXTURE ALIGNMENT/END $$ NO, ======================================== FIRST DO UNTIL LOOP FOR PROBE 1. ======================================== ASSIGN/COUNTER=0 DO/ ASSIGN/COUNTER=COUNTER+1 IF/COUNTER==1 ASSIGN/OFFSET_X=0 ASSIGN/OFFSET_Y=0 END_IF/ IF/COUNTER==2 ASSIGN/OFFSET_X=0 ASSIGN/OFFSET_Y=1*100 END_IF/ IF/COUNTER==3 ASSIGN/OFFSET_X=0 ASSIGN/OFFSET_Y=2*100 END_IF/ IF/COUNTER==4 ASSIGN/OFFSET_X=0 ASSIGN/OFFSET_Y=3*100 END_IF/ SEQUENCE_1 =GENERIC/POINT,DEPENDENT,CARTESIAN,$ NOM/XYZ,<0+0,0+0,0+0>,$ MEAS/XYZ,<OFFSET_X,OFFSET_Y,0+0>,$ NOM/IJK,<0+0,0+0,1+0>,$ MEAS/IJK,<0+0,0+0,1+0> A3 =ALIGNMENT/START,RECALL:FIXTURE_ALIGNMENT,LIST=YES ALIGNMENT/TRANS,XAXIS,SEQUENCE_1 ALIGNMENT/TRANS,YAXIS,SEQUENCE_1 ALIGNMENT/END $$ NO, ================================ PART ALIGNMENT FEATURES. ================================ MOVE/CLEARPLANE CIR_XY =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<75,73,-25.214>,<0,0,1>,20.498 ACTL/<75,73,-25.214>,<0,0,1>,20.498 TARG/<75,73,-25.214>,<0,0,1> START ANG=0,END ANG=360 ANGLE VEC=<1,0,0> DIRECTION=CCW SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=NO A4 =ALIGNMENT/START,RECALL:A3,LIST=YES ALIGNMENT/TRANS,XAXIS,CIR_XY ALIGNMENT/TRANS,YAXIS,CIR_XY ALIGNMENT/END PLN_TOP_PART =FEAT/PLANE,CARTESIAN,TRIANGLE THEO/<-0.197,-0.124,-19.066>,<0,0,1> ACTL/<-0.197,-0.124,-19.066>,<0,0,1> MEAS/PLANE,4 MOVE/CLEARPLANE HIT/BASIC,NORMAL,<-6.241,-12.898,-19.066>,<0,0,1>,<-6.241,-12.898,-19.066>,USE THEO=YES HIT/BASIC,NORMAL,<5.684,-12.995,-19.066>,<0,0,1>,<5.684,-12.995,-19.066>,USE THEO=YES HIT/BASIC,NORMAL,<5.91,12.66,-19.066>,<0,0,1>,<5.91,12.66,-19.066>,USE THEO=YES HIT/BASIC,NORMAL,<-6.14,12.739,-19.066>,<0,0,1>,<-6.14,12.739,-19.066>,USE THEO=YES ENDMEAS/ A5 =ALIGNMENT/START,RECALL:A4,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN_TOP_PART ALIGNMENT/TRANS,ZAXIS,PLN_TOP_PART ALIGNMENT/TRANS,XAXIS,CIR_XY ALIGNMENT/TRANS,YAXIS,CIR_XY ALIGNMENT/END PNT2 =FEAT/POINT,CARTESIAN THEO/<-2.72,-13.921,-2.258>,<0.8660254,0,0.5> ACTL/<-2.72,-13.921,-2.258>,<0.8660254,0,0.5> MEAS/POINT,1,WORKPLANE MOVE/CLEARPLANE HIT/BASIC,NORMAL,<-2.72,-13.921,-2.258>,<0.8660254,0,0.5>,<-2.72,-13.921,-2.258>,USE THEO=YES ENDMEAS/ PNT3 =FEAT/POINT,CARTESIAN THEO/<2.646,-13.893,-2.385>,<-0.8660254,0,0.5> ACTL/<2.646,-13.893,-2.385>,<-0.8660254,0,0.5> MEAS/POINT,1,WORKPLANE MOVE/CLEARPLANE HIT/BASIC,NORMAL,<2.646,-13.893,-2.385>,<-0.8660254,0,0.5>,<2.646,-13.893,-2.385>,USE THEO=YES ENDMEAS/ PNT4 =FEAT/POINT,CARTESIAN,NO THEO/<-0.037,-13.907,-2.321>,<0,0,1> ACTL/<-0.037,-13.907,-2.321>,<0,0,1> CONSTR/POINT,MID,PNT2,PNT3 PNT5 =FEAT/POINT,CARTESIAN THEO/<2.701,13.872,-2.29>,<-0.8660254,0,0.5> ACTL/<2.701,13.872,-2.29>,<-0.8660254,0,0.5> MEAS/POINT,1,WORKPLANE MOVE/CLEARPLANE HIT/BASIC,NORMAL,<2.701,13.872,-2.29>,<-0.8660254,0,0.5>,<2.701,13.872,-2.29>,USE THEO=YES ENDMEAS/ PNT6 =FEAT/POINT,CARTESIAN THEO/<-2.973,13.873,-1.819>,<0.8660254,0,0.5> ACTL/<-2.973,13.873,-1.819>,<0.8660254,0,0.5> MEAS/POINT,1,WORKPLANE MOVE/CLEARPLANE HIT/BASIC,NORMAL,<-2.973,13.873,-1.819>,<0.8660254,0,0.5>,<-2.973,13.873,-1.819>,USE THEO=YES ENDMEAS/ PNT7 =FEAT/POINT,CARTESIAN,NO THEO/<-0.136,13.872,-2.055>,<0,0,1> ACTL/<-0.136,13.872,-2.055>,<0,0,1> CONSTR/POINT,MID,PNT5,PNT6 LIN_ROTATION_PART =FEAT/LINE,CARTESIAN,UNBOUNDED,NO THEO/<-0.037,-13.907,-2.188>,<-0.0035702,0.9999936,0> ACTL/<-0.037,-13.907,-2.188>,<-0.0035702,0.9999936,0> CONSTR/LINE,BF,2D,PNT4,PNT7,, OUTLIER_REMOVAL/OFF,3 FILTER/OFF,WAVELENGTH=0 PART_ALIGNMENT =ALIGNMENT/START,RECALL:A5,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN_TOP_PART ALIGNMENT/TRANS,ZAXIS,PLN_TOP_PART ALIGNMENT/ROTATE,YPLUS,TO,LIN_ROTATION_PART,ABOUT,ZPLUS ALIGNMENT/TRANS,XAXIS,CIR_XY ALIGNMENT/TRANS,YAXIS,CIR_XY ALIGNMENT/END MOVE/CLEARPLANE CIR_INNER_DIAMETER =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<0,0,-6.148>,<0,0,1>,20.498 ACTL/<0,0,-6.148>,<0,0,1>,20.498 TARG/<0,0,-6.148>,<0,0,1> START ANG=0,END ANG=360 ANGLE VEC=<0.9999936,-0.0035702,0> DIRECTION=CCW SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=NO DIM INNTER_DIAMETER= LOCATION OF CIRCLE CIR_INNER_DIAMETER UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL D 20.500 0.200 0.200 20.498 0.000 0.000 -0.002 0.000 ----#---- END OF DIMENSION INNTER_DIAMETER UNTIL/COUNTER==4 $$ NO, ================================ SWITCH TO PROBE 2. ================================ MOVE/CLEARPLANE LOADPROBE/DOROTHY_PROBE TIP/T1A0B0, SHANKIJK=-1, 0.004, 0, ANGLE=0 $$ NO, =============================================================== SECOND LOOP TO RECALL ALIGNMENTS FROM THE PERVIOUS PARTS. ===============================================================