After a discussion in another thread I thought I'd post an example of an iterative alignment done long hand (without using Iterative alignment command)
There are two reasons for this.
1) When using iterative alignment command it's necessary for the vectors of your features for each group (Level, Rotate etc) to be roughly the same. For example you cannot have three points for a level where two are approx 0,0,1 and the third is 0,0,-1.
2) I think this is a great way of understanding what's going on when you do an iterative alignment - before I saw this method it was a bit of a black box to me, this made it all clear.
It's ages since I've done it so, it might not be the most elegant method, but it gives you the general idea.
This was done on the hexblock if anyone wants to copy it and have a play.
PART1
[COLOR=#FF0000]DEFINE MANUAL POINTS[/COLOR] A_1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<68.91724,90.03451,[COLOR=#FF0000]13.995[/COLOR]>,<0,0,1> ACTL/<68.91724,90.03451,13.995>,<0,0,1> TARG/<68.91724,90.03451,13.995>,<0,0,1> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO A_2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<224.66066,26.63014,[COLOR=#FF0000]-22[/COLOR]>,<0,0,1> ACTL/<224.66066,26.63014,-22>,<0,0,1> TARG/<224.66066,26.63014,-22>,<0,0,1> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO A_3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<105.84726,8.49368,0>,<0,0,1> ACTL/<105.84726,8.49368,0>,<0,0,1> TARG/<105.84726,8.49368,0>,<0,0,1> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO B_1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<76.31905,[COLOR=#FF0000]6[/COLOR],-6.60326>,<0,-1,0> ACTL/<76.31905,6,-6.60326>,<0,-1,0> TARG/<76.31905,6,-6.60326>,<0,-1,0> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO B_2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<215.89615,[COLOR=#FF0000]35[/COLOR],-7.02906>,<0,-1,0> ACTL/<215.89615,35,-7.02906>,<0,-1,0> TARG/<215.89615,35,-7.02906>,<0,-1,0> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO C_1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<[COLOR=#FF0000]209[/COLOR],26.76939,-15.36707>,<1,0,0> ACTL/<209,26.76939,-15.36707>,<1,0,0> TARG/<209,26.76939,-15.36707>,<1,0,0> SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=BEFORE,DISTANCE=15 SHOW HITS=NO [COLOR=#FF0000]CONSTRUCT OFFSET FEATURES, NOTE OFFSETS COME FROM FEATURE THEOS[/COLOR] PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE,YES THEO/<133.14172,41.71944,0>,<0,0,1> ACTL/<133.14172,41.71944,0>,<0,0,1> CONSTR/PLANE,OFFSET ID = A_1,A_2,A_3,, OFFSET = [COLOR=#FF0000]-13.995,22,0[/COLOR] LIN1 =FEAT/LINE,CARTESIAN,UNBOUNDED,YES THEO/<76.31905,0,-6.81616>,<1,0,0> ACTL/<76.31905,0,-6.81616>,<1,0,0> CONSTR/LINE,OFFSET SURFACE NORMAL = <0,0,1>,MULTI POINT ID = B_1,B_2,, OFFSET =[COLOR=#FF0000] -6,-35 CREATE ALIGNMENT (3-2-1)[/COLOR] A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN1 ALIGNMENT/TRANS,ZAXIS,PLN1 ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS ALIGNMENT/TRANS,YAXIS,LIN1 ALIGNMENT/TRANS,XAXIS,C_1 ALIGNMENT/TRANS_OFFSET,XAXIS,[COLOR=#FF0000]-209[/COLOR] ALIGNMENT/END [COLOR=#FF0000]SAVE IT[/COLOR] SAVE/ALIGNMENT,long_hand_iter.aln,MACHINETOPARTS [COLOR=#FF0000]EVALUATE FEATURES IN AXIS THEY'RE NOT CONTROLLING (POINT TARGET RAIDUS)[/COLOR] DIM LOC1= LOCATION OF POINT A_1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 68.91724 0.10000 -0.10000 68.91724 0.00000 0.00000 ----#---- Y 90.03451 0.10000 -0.10000 90.03451 0.00000 0.00000 ----#---- END OF DIMENSION LOC1 DIM LOC2= LOCATION OF POINT A_2 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 224.66066 0.10000 -0.10000 224.66066 0.00000 0.00000 ----#---- Y 26.63014 0.10000 -0.10000 26.63014 0.00000 0.00000 ----#---- END OF DIMENSION LOC2 DIM LOC3= LOCATION OF POINT A_3 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 105.84726 0.10000 -0.10000 105.84726 0.00000 0.00000 ----#---- Y 8.49368 0.10000 -0.10000 8.49368 0.00000 0.00000 ----#---- END OF DIMENSION LOC3 DIM LOC4= LOCATION OF POINT B_1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 76.31905 0.10000 -0.10000 76.31905 0.00000 0.00000 ----#---- Z -6.60326 0.25000 -0.25000 -6.60326 0.00000 0.00000 ----#---- END OF DIMENSION LOC4 DIM LOC5= LOCATION OF POINT B_2 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 215.89615 0.10000 -0.10000 215.89615 0.00000 0.00000 ----#---- Z -7.02906 0.25000 -0.25000 -7.02906 0.00000 0.00000 ----#---- END OF DIMENSION LOC5 DIM LOC6= LOCATION OF POINT C_1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL Y 26.76939 0.10000 -0.10000 26.76939 0.00000 0.00000 ----#---- Z -15.36707 0.25000 -0.25000 -15.36707 0.00000 0.00000 ----#---- END OF DIMENSION LOC6 [COLOR=#FF0000]CHECK OUTTOL CONDITION AND SET FLAG IF OUTTOL (WILL ALMOST CERTAINLY BE SO FOR MANUAL POINTS)[/COLOR] ASSIGN/RERUN=0 IF/LOC1.X.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC1.Y.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC2.X.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC2.Y.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC3.X.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC3.Y.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC4.X.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC4.Z.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC5.X.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC5.Z.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC6.Y.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ IF/LOC6.Z.OUTTOL<>0 ASSIGN/RERUN=1 END_IF/ [COLOR=#FF0000]ACT ON FLAG (IN EFFECT JUST GO TO THE DCC ALIGN)[/COLOR] IF_GOTO/RERUN==0,GOTO = ENDALN GOTO/DCCALN
Attached Files