hexagon logo

Long hand Iterative Alignment (without using Iterative alignment command).

Hi all,

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
Parents Reply Children
No Data