hexagon logo

Skipping Recalled Alignments Using Select/End Select and Case End_Case

So I need to measure a couple of ring shaped parts that vary in ID and OD. I made a fixture that will hold all the parts without having to move standoffs in and out. So the hard work would be the programming. I can't get the alignments working. I have a separate program that runs through the alignments of the parts and saved the .aln. When I recall the .aln using case/end_case, my dcc alignment uses the last recalled alignment so my choices are not working. I've seen some threads where its been recommend to save alignments to generic but I haven't been able to figure it out or have a alignment recall a generic feature. Any suggestions will be appreciated.







Here's my test program with just 2 parts.

LOADPROBE/6X30
TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0

C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,

select 1 or 2

SELECT/C1.INPUT

CASE/1
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
you picked small
RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0353_MA
ASSIGN/IN_DIA=2.755
ASSIGN/OUT_DIA=3.747
GOTO/L1
END_CASE/

CASE/2
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
you picked big
RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0357_MA
ASSIGN/PLANE_SPACER=2.5
ASSIGN/IN_DIA=4.505
ASSIGN/OUT_DIA=5.497
GOTO/L1
END_CASE/

DEFAULT_CASE/
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
wrong choice
GOTO/C1
END_DEFAULTCASE/

END_SELECT/

L1 =LABEL/

PLN1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
THEO/<0,0,0>,<0,0,1>
ACTL/<0,0,0>,<0,0,1>
TARG/<0,0,0>,<0,0,1>
ANGLE VEC=<1,0,0>,RADIAL
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=10,NUMRINGS=1
SPACER=PLANE_SPACER
AVOIDANCE MOVE=NO,DISTANCE=0.3937
SHOW HITS=NO

CYL1 =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0,0,-0.1876>,<0,0,1>,IN_DIA,-0.1576
ACTL/<0,0,-0.1876>,<0,0,1>,2.755,-0.1576
TARG/<0,0,-0.1876>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=10,NUMLEVELS=2,DEPTH=0,END OFFSET=0,PITCH=0
SAMPLE METHOD=SAMPLE_HITS
SAMPLE HITS=0,SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.2
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO

A1 =ALIGNMENT/START,RECALL:USE_ACTIVE_ALIGNMENT(RECALL:TEST_FEC0 357_MA),LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1
ALIGNMENT/TRANS,XAXIS,CYL1
ALIGNMENT/TRANS,YAXIS,CYL1
ALIGNMENT/TRANS,ZAXIS,PLN1
ALIGNMENT/END

CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
THEO/<0,0,0>,<0,0,1>,OUT_DIA,0
ACTL/<0,0,0>,<0,0,1>,3.747,0
TARG/<0,0,0>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=YES
NUMHITS=20,DEPTH=0,PITCH=0
SAMPLE METHOD=SAMPLE_HITS
SAMPLE HITS=0,SPACER=0
AVOIDANCE MOVE=BOTH,DISTANCE=0.5906
FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
SHOW HITS=NO

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 IN_DIA 0.0020 0.0020 2.7550 0.0000 0.0000 ---#----
END OF DIMENSION LOC1

DIM LOC2= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
D OUT_DIA 0.0020 0.0020 3.7470 0.0000 0.0000 ---#----
END OF DIMENSION LOC2​
Parents
  • So I think I got it going. Its working like it suppose to offline. Now to try it on a CMM.

    Here is my alignment program and case testing program.

    PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<-0.1032,-1.0788,1.864>,<0,0,1>
    ACTL/<-0.1032,-1.0788,1.864>,<0,0,1>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<-0.0621,0.3997,1.864>,<0,0,1>,<-0.0621,0.3997,1.864>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.2647,-2.0719,1.864>,<0,0,1>,<1.2647,-2.0719,1.864>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.5121,-1.5643,1.864>,<0,0,1>,<-1.5121,-1.5643,1.864>,USE THEO=YES
    ENDMEAS/
    
    CYL1 =FEAT/CYLINDER,CARTESIAN,IN,LEAST_SQR
    THEO/<0,-1.1432,1.7567>,<0,0,1>,2.755,0.09
    ACTL/<0,-1.1432,1.7567>,<0,0,1>,2.755,0.09
    MEAS/CYLINDER,6
    HIT/BASIC,NORMAL,<-1.3682,-1.3033,1.7252>,<0.9932211,0.1162405,0>,<-1.3682,-1.3033,1.7252>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.0807,0.232,1.7336>,<0.0586078,-0.9982811,0>,<-0.0807,0.232,1.7336>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.3731,-1.2533,1.7116>,<-0.9967991,0.0799477,0>,<1.3731,-1.2533,1.7116>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.3688,-1.2977,1.7896>,<-0.9936889,0.1121716,0>,<1.3688,-1.2977,1.7896>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.0514,0.2334,1.7865>,<0.0373301,-0.999303,0>,<-0.0514,0.2334,1.7865>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.3673,-1.3107,1.8017>,<0.9925735,0.1216461,0>,<-1.3673,-1.3107,1.8017>,USE THEO=YES
    ENDMEAS/
    
    TEST_FEC0353_MA=ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,XAXIS,CYL1
    ALIGNMENT/TRANS,YAXIS,CYL1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/END
    
    SAVE/ALIGNMENT,TEST_FEC0353_MA.aln,BOTH
    
    PLN2 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<0.0961,1.1553,0>,<0,0,1>
    ACTL/<0.0961,1.1553,0>,<0,0,1>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<-0.4703,3.5078,0>,<0,0,1>,<-0.4703,3.5078,0>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.6298,-0.7703,0>,<0,0,1>,<-1.6298,-0.7703,0>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.3884,0.7284,0>,<0,0,1>,<2.3884,0.7 284,0>,USE THEO=YES
    ENDMEAS/
    
    CYL2 =FEAT/CYLINDER,CARTESIAN,IN,LEAST_SQR
    THEO/<0,1.1102,-0.118>,<0,0,1>,4.505,0.0986
    ACTL/<0,1.1102,-0.118>,<0,0,1>,4.505,0.0986
    MEAS/CYLINDER,6
    HIT/BASIC,NORMAL,<-2.2337,0.8199,-0.162>,<0.991663,0.1288582,0>,<-2.2337,0.8199,-0.162>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.3955,3.3277,-0.1607>,<0.1755836,-0.9844645,0>,<-0.3955,3.3277,-0.1607>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.2477,0.9637,-0.1673>,<-0.9978818,0.0650531,0>,<2.2477,0.9637,-0.1673>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.2497,0.9973,-0.1025>,<-0.9987421,0.0501426,0>,<2.2497,0.9973,-0.1025>,USE THEO=YES
    HIT/BASIC,NORMAL,<0.1792,3.3556,-0.0923>,<-0.0795768,-0.9968287,0>,<0.1792,3.3556,-0.0923>,USE THEO=YES
    HIT/BASIC,NORMAL,<-2.2249,0.7586,-0.0687>,<0.9877398,0.1561094,0>,<-2.2249,0.7586,-0.0687>,USE THEO=YES
    ENDMEAS/
    
    TEST_FEC0357_MA=ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN2
    ALIGNMENT/TRANS,XAXIS,CYL2
    ALIGNMENT/TRANS,YAXIS,CYL2
    ALIGNMENT/TRANS,ZAXIS,PLN2
    ALIGNMENT/END
    
    SAVE/ALIGNMENT,TEST_FEC0357_MA.aln,BOTH
    ​
    


    I threw in a recall start up alignment after my first alignment and deleted it. I think that threw things off so my alignment nominals are based of the my first alignment.

    C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    select 1 or 2
    
    SELECT/C1.INPUT
    
    CASE/1
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    you picked small
    RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0353_MA
    ASSIGN/V1="TEST_FEC0353_MA"
    ASSIGN/PLANE_SPACER=1.6
    ASSIGN/Y_OFF=0
    ASSIGN/IN_DIA=2.755
    ASSIGN/OUT_DIA=3.747
    GOTO/L1
    END_CASE/
    
    CASE/2
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    you picked big
    RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0357_MA
    ASSIGN/V1="TEST_FEC0357_MA"
    ASSIGN/PLANE_SPACER=2.5
    ASSIGN/Y_OFF=0
    ASSIGN/IN_DIA=4.505
    ASSIGN/OUT_DIA=5.497
    GOTO/L1
    END_CASE/
    
    DEFAULT_CASE/
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    wrong choice
    GOTO/C1
    END_DEFAULTCASE/
    END_SELECT/
    
    L1 =LABEL/
    
    RECALL/ALIGNMENT,INTERNAL,V1
    
    PLN1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
    THEO/<0,Y_OFF,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    TARG/<0,Y_OFF,0>,<0,0,1>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=10,NUMRINGS=1
    SPACER=PLANE_SPACER
    AVOIDANCE MOVE=NO,DISTANCE=0.3937
    SHOW HITS=NO
    
    CYL1 =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,Y_OFF,-0.1876>,<0,0,1>,IN_DIA,-0.1576
    ACTL/<0,0,-0.1876>,<0,0,1>,4.505,-0.1576
    TARG/<0,Y_OFF,-0.1876>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=10,NUMLEVELS=2,DEPTH=0,END OFFSET=0,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.2
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    
    A1 =ALIGNMENT/START,RECALL:V1,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,XAXIS,CYL1
    ALIGNMENT/TRANS,YAXIS,CYL1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/END
    
    CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
    THEO/<0,Y_OFF,0>,<0,0,1>,OUT_DIA,0
    ACTL/<0,0,0>,<0,0,1>,5.497,0
    TARG/<0,Y_OFF,0>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=20,DEPTH=0,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.5906
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    
    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 IN_DIA 0.0020 0.0020 4.5050 0.0000 0.0000 ---#----
    END OF DIMENSION LOC1
    
    DIM LOC2= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    D OUT_DIA 0.0020 0.0020 5.4970 0.0000 0.0000 ---#----
    END OF DIMENSION LOC2
    


    I saved the alignment names in V1 and recalled V1 as internal rather than external after the end select. I had to add a variable Y_off to offset the y axis since all the parts will be at the same height in Z and location in X. ¯\_(ツ)_/¯

    Just need to test this on the floor.
Reply
  • So I think I got it going. Its working like it suppose to offline. Now to try it on a CMM.

    Here is my alignment program and case testing program.

    PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<-0.1032,-1.0788,1.864>,<0,0,1>
    ACTL/<-0.1032,-1.0788,1.864>,<0,0,1>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<-0.0621,0.3997,1.864>,<0,0,1>,<-0.0621,0.3997,1.864>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.2647,-2.0719,1.864>,<0,0,1>,<1.2647,-2.0719,1.864>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.5121,-1.5643,1.864>,<0,0,1>,<-1.5121,-1.5643,1.864>,USE THEO=YES
    ENDMEAS/
    
    CYL1 =FEAT/CYLINDER,CARTESIAN,IN,LEAST_SQR
    THEO/<0,-1.1432,1.7567>,<0,0,1>,2.755,0.09
    ACTL/<0,-1.1432,1.7567>,<0,0,1>,2.755,0.09
    MEAS/CYLINDER,6
    HIT/BASIC,NORMAL,<-1.3682,-1.3033,1.7252>,<0.9932211,0.1162405,0>,<-1.3682,-1.3033,1.7252>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.0807,0.232,1.7336>,<0.0586078,-0.9982811,0>,<-0.0807,0.232,1.7336>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.3731,-1.2533,1.7116>,<-0.9967991,0.0799477,0>,<1.3731,-1.2533,1.7116>,USE THEO=YES
    HIT/BASIC,NORMAL,<1.3688,-1.2977,1.7896>,<-0.9936889,0.1121716,0>,<1.3688,-1.2977,1.7896>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.0514,0.2334,1.7865>,<0.0373301,-0.999303,0>,<-0.0514,0.2334,1.7865>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.3673,-1.3107,1.8017>,<0.9925735,0.1216461,0>,<-1.3673,-1.3107,1.8017>,USE THEO=YES
    ENDMEAS/
    
    TEST_FEC0353_MA=ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,XAXIS,CYL1
    ALIGNMENT/TRANS,YAXIS,CYL1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/END
    
    SAVE/ALIGNMENT,TEST_FEC0353_MA.aln,BOTH
    
    PLN2 =FEAT/PLANE,CARTESIAN,TRIANGLE
    THEO/<0.0961,1.1553,0>,<0,0,1>
    ACTL/<0.0961,1.1553,0>,<0,0,1>
    MEAS/PLANE,3
    HIT/BASIC,NORMAL,<-0.4703,3.5078,0>,<0,0,1>,<-0.4703,3.5078,0>,USE THEO=YES
    HIT/BASIC,NORMAL,<-1.6298,-0.7703,0>,<0,0,1>,<-1.6298,-0.7703,0>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.3884,0.7284,0>,<0,0,1>,<2.3884,0.7 284,0>,USE THEO=YES
    ENDMEAS/
    
    CYL2 =FEAT/CYLINDER,CARTESIAN,IN,LEAST_SQR
    THEO/<0,1.1102,-0.118>,<0,0,1>,4.505,0.0986
    ACTL/<0,1.1102,-0.118>,<0,0,1>,4.505,0.0986
    MEAS/CYLINDER,6
    HIT/BASIC,NORMAL,<-2.2337,0.8199,-0.162>,<0.991663,0.1288582,0>,<-2.2337,0.8199,-0.162>,USE THEO=YES
    HIT/BASIC,NORMAL,<-0.3955,3.3277,-0.1607>,<0.1755836,-0.9844645,0>,<-0.3955,3.3277,-0.1607>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.2477,0.9637,-0.1673>,<-0.9978818,0.0650531,0>,<2.2477,0.9637,-0.1673>,USE THEO=YES
    HIT/BASIC,NORMAL,<2.2497,0.9973,-0.1025>,<-0.9987421,0.0501426,0>,<2.2497,0.9973,-0.1025>,USE THEO=YES
    HIT/BASIC,NORMAL,<0.1792,3.3556,-0.0923>,<-0.0795768,-0.9968287,0>,<0.1792,3.3556,-0.0923>,USE THEO=YES
    HIT/BASIC,NORMAL,<-2.2249,0.7586,-0.0687>,<0.9877398,0.1561094,0>,<-2.2249,0.7586,-0.0687>,USE THEO=YES
    ENDMEAS/
    
    TEST_FEC0357_MA=ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN2
    ALIGNMENT/TRANS,XAXIS,CYL2
    ALIGNMENT/TRANS,YAXIS,CYL2
    ALIGNMENT/TRANS,ZAXIS,PLN2
    ALIGNMENT/END
    
    SAVE/ALIGNMENT,TEST_FEC0357_MA.aln,BOTH
    ​
    


    I threw in a recall start up alignment after my first alignment and deleted it. I think that threw things off so my alignment nominals are based of the my first alignment.

    C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    select 1 or 2
    
    SELECT/C1.INPUT
    
    CASE/1
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    you picked small
    RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0353_MA
    ASSIGN/V1="TEST_FEC0353_MA"
    ASSIGN/PLANE_SPACER=1.6
    ASSIGN/Y_OFF=0
    ASSIGN/IN_DIA=2.755
    ASSIGN/OUT_DIA=3.747
    GOTO/L1
    END_CASE/
    
    CASE/2
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    you picked big
    RECALL/ALIGNMENT,EXTERNAL,TEST_FEC0357_MA
    ASSIGN/V1="TEST_FEC0357_MA"
    ASSIGN/PLANE_SPACER=2.5
    ASSIGN/Y_OFF=0
    ASSIGN/IN_DIA=4.505
    ASSIGN/OUT_DIA=5.497
    GOTO/L1
    END_CASE/
    
    DEFAULT_CASE/
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
    wrong choice
    GOTO/C1
    END_DEFAULTCASE/
    END_SELECT/
    
    L1 =LABEL/
    
    RECALL/ALIGNMENT,INTERNAL,V1
    
    PLN1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,NONE,LEAST_SQR
    THEO/<0,Y_OFF,0>,<0,0,1>
    ACTL/<0,0,0>,<0,0,1>
    TARG/<0,Y_OFF,0>,<0,0,1>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=10,NUMRINGS=1
    SPACER=PLANE_SPACER
    AVOIDANCE MOVE=NO,DISTANCE=0.3937
    SHOW HITS=NO
    
    CYL1 =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,Y_OFF,-0.1876>,<0,0,1>,IN_DIA,-0.1576
    ACTL/<0,0,-0.1876>,<0,0,1>,4.505,-0.1576
    TARG/<0,Y_OFF,-0.1876>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=10,NUMLEVELS=2,DEPTH=0,END OFFSET=0,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.2
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    
    A1 =ALIGNMENT/START,RECALL:V1,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,XAXIS,CYL1
    ALIGNMENT/TRANS,YAXIS,CYL1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/END
    
    CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
    THEO/<0,Y_OFF,0>,<0,0,1>,OUT_DIA,0
    ACTL/<0,0,0>,<0,0,1>,5.497,0
    TARG/<0,Y_OFF,0>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=20,DEPTH=0,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=0,SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.5906
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    
    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 IN_DIA 0.0020 0.0020 4.5050 0.0000 0.0000 ---#----
    END OF DIMENSION LOC1
    
    DIM LOC2= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    D OUT_DIA 0.0020 0.0020 5.4970 0.0000 0.0000 ---#----
    END OF DIMENSION LOC2
    


    I saved the alignment names in V1 and recalled V1 as internal rather than external after the end select. I had to add a variable Y_off to offset the y axis since all the parts will be at the same height in Z and location in X. ¯\_(ツ)_/¯

    Just need to test this on the floor.
Children
No Data