hexagon logo

Upside-down Alignment

Hey guys. I'm trying to do an iterative alignment on a fixture but I'm hitting a speed bump and I'm not sure whats causing it. The points for the manual alignment are identical to the automatic alignment and share all the same properties. The manual alignment shows the vector correctly but the probe is upside down. The automatic one shows the vector correctly and the probe in the correct orientation. I've posted the code below as well as attached a picture of the "upside down probe". Does anyone see where the issue lies? When I run it, I go through the manual alignment and then when it attempts to measure the Master tooling ball on its own, it tries to go to the centre of the tooling ball and reads an unexpected probe hit. Running PC-DMIS 3.7 MR3

upside-down probe

STARTUP    =ALIGNMENT/START,RECALL:, LIST= YES
            ALIGNMENT/END
            MODE/MANUAL
            LOADPROBE/2X20_E30
            TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
            FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
            ASSIGN/INPUT_CUSTOMER_P = "xxxxx"
            ASSIGN/JOB_INPUT_P = "xxxx"
            ASSIGN/PART_NAME_INPUT_P = "xxxxxx"
            ASSIGN/PART_NUM_INPUT_P = "xxxxx"
            ASSIGN/TM_INPUT = "xxx"
            ASSIGN/TZ_INPUT = ""
            MOVESPEED/ 75
            TOUCHSPEED/ 1
            PREHIT/ 4
            RETRACT/ 2
MASTER_M   =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2299.95,-700.08,1262.45,0,0,-1,12.7
            ACTL/372.654,161.77,-483.981,0,0,-1,12.689
            TARG/2299.95,-700.08,1262.45,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 1,$
            START ANGLE 1 = 360,END ANGLE 1 = 0,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
LINE_M     =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2299.95,-175.076,1262.4,0,0,-1,12.7
            ACTL/370.56,686.758,-483.94,0,0,-1,12.69
            TARG/2299.95,-175.076,1262.4,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
            START ANGLE 1 = 360,END ANGLE 1 = 0,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
PLANE_M    =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2549.948,-700.101,1262.4,0,0,-1,12.7
            ACTL/122.679,160.773,-483.972,0,0,-1,12.714
            TARG/2549.948,-700.101,1262.4,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
            START ANGLE 1 = 360,END ANGLE 1 = 0,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
A0         =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
            ALIGNMENT/ITERATE
              PNT TARGET RAD = 0.5, START LABEL = , FIXTURE TOL = 0.12, ERROR LABEL = 
              MEAS ALL FEAT = NO ,MAX ITERATIONS = 99 ,LEVEL AXIS=ZAXIS ,ROTATE AXIS=XAXIS ,ORIGIN AXIS=YAXIS
            LEVEL = MASTER_M,LINE_M,PLANE_M,,
            ROTATE = MASTER_M,LINE_M,,
            ORIGIN = MASTER_M,,
            ALIGNMENT/END
            MODE/DCC
            MOVE/POINT,NORMAL,2371.693,-704.155,1074.34
MASTER     =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2299.95,-700.08,1262.45,0,0,-1,12.7
            ACTL/2299.95,-700.08,1262.45,0,0,-1,12.7
            TARG/2299.95,-700.08,1262.45,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 1,$
            START ANGLE 1 = 0,END ANGLE 1 = 360,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
            MOVE/POINT,NORMAL,2300.86,-688.662,999.186
            MOVE/POINT,NORMAL,2203.265,-689.038,999.197
            MOVE/POINT,NORMAL,2201.072,-140.423,999.19
            MOVE/POINT,NORMAL,2345.682,-173.786,1215.66
LINE       =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2299.95,-175.076,1262.4,0,0,-1,12.7
            ACTL/2299.918,-175.105,1262.406,-0.0000344,0.0000062,-1,12.7
            TARG/2299.95,-175.076,1262.4,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
            START ANGLE 1 = 360,END ANGLE 1 = 0,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
            MOVE/POINT,NORMAL,2349.049,-152.543,929.8
            MOVE/POINT,NORMAL,2453.275,-206.54,929.787
            MOVE/POINT,NORMAL,2559.6,-653.308,929.781
            MOVE/POINT,NORMAL,2580.739,-695.373,1215.982
            MOVE/POINT,NORMAL,2567.678,-716.314,1262.361
PLANE      =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
            THEO/2549.948,-700.101,1262.4,0,0,-1,12.7
            ACTL/2549.915,-700.131,1262.394,-0.0000344,0.0000062,-1,12.7
            TARG/2549.948,-700.101,1262.4,0,0,-1
            THEO_THICKNESS = 0,RECT,OUT,$
            AUTO MOVE = BOTH,DISTANCE = 5,$
            NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
            START ANGLE 1 = 360,END ANGLE 1 = 0,$
            START ANGLE 2 = 0,END ANGLE 2 = 90,$
            ANGLE VEC = 0,0,1
            MOVE/POINT,NORMAL,2540.867,-687.7,1055.002
A1         =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
            ALIGNMENT/ITERATE
              PNT TARGET RAD = 0.5, START LABEL = , FIXTURE TOL = 0.12, ERROR LABEL = 
              MEAS ALL FEAT = NO ,MAX ITERATIONS = 99 ,LEVEL AXIS=ZAXIS ,ROTATE AXIS=XAXIS ,ORIGIN AXIS=YAXIS
            LEVEL = MASTER,LINE,PLANE,,
            ROTATE = MASTER,LINE,,
            ORIGIN = MASTER,,
            ALIGNMENT/END
  • I don't use iterative alignments, so this is only an observation.

    Aren't the features used in iterative alignments supposed to have different vectors, as in at least 90 deg differences? All the features used have the same (0,0,-1) vector.

    There's a good tutorial on this forum for iteratives.
  • I was only taught iterative alignments so I don't have much to compare to... however I've used them plenty of times where all features were on the same plane, usually on tooling features to align a fixture. I think I found the Tutorial but the link is dead. I found it in this post. Does anyone have a mirror?
  • Ok, the if vectors of the spheres are 0,0,-1 try changing the ANGLE VEC from 0,0,1 to 1,0,0

    In addition, change the MEAS ALL FEAT as follows:
    Manual alignment = ONCE
    Automatic = ALWAYS
  • Before the manual alignment, the fixture is shown in machine coordinates. If your Z+ is up, then the fixture will show upside down until after the manual alignment. It's totally normal.

    I think Roberto is right about changing your angle vector to 1,0,0 or 0,1,0.

    I've had the problem you're having, but it happens to me if I forget to change the auto-sphere from an IN to an OUT, and yours are set correctly. Hopefully Roberto's suggestions fix it for you.
  • Thanks for the replies guys. I changed the angle vectors and the MEAS ALL FEAT variables but I'm still having the same issue. The co-ordinates listed by the command box make it look like it's trying to touch the center of the sphere. If that hit gets messed up and I hit continue it will continue taking hits around the diameter, return to the top and then have another bad touch at the top of the probe. It's listing the same Z values for the first hit as the ones around the diameter meaning it's trying to go touch the center the tooling ball instead of the top. The ACTL reading for the z axis is -483.998 and that's where it's trying to touch instead of something around -476.872. All the features are set to out and the tooling ball diameters are the correct sizes.

    STARTUP    =ALIGNMENT/START,RECALL:, LIST= YES
                ALIGNMENT/END
                MODE/MANUAL
                LOADPROBE/2X20_E30
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                ASSIGN/INPUT_CUSTOMER_P = "xxxxx"
                ASSIGN/JOB_INPUT_P = "xxxx"
                ASSIGN/PART_NAME_INPUT_P = "xxxx"
                ASSIGN/PART_NUM_INPUT_P = "xxxx"
                ASSIGN/TM_INPUT = "xxxx"
                ASSIGN/TZ_INPUT = ""
                MOVESPEED/ 75
                TOUCHSPEED/ 1
                PREHIT/ 4
                RETRACT/ 2
    MASTER_M   =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2299.95,-700.08,1262.45,0,0,-1,12.7
                ACTL/383.282,145.929,-483.998,-0.0000604,-0.0000068,1,12.691
                TARG/2299.95,-700.08,1262.45,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 1,$
                START ANGLE 1 = 360,END ANGLE 1 = 0,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
    LINE_M     =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2299.95,-175.076,1262.4,0,0,-1,12.7
                ACTL/368.083,670.705,-483.946,0,0,-1,12.696
                TARG/2299.95,-175.076,1262.4,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
                START ANGLE 1 = 360,END ANGLE 1 = 0,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
    PLANE_M    =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2549.948,-700.101,1262.4,0,0,-1,12.7
                ACTL/133.393,138.699,-483.963,0,0,-1,12.687
                TARG/2549.948,-700.101,1262.4,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 5,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
                START ANGLE 1 = 360,END ANGLE 1 = 0,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
    A0         =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
                ALIGNMENT/ITERATE
                  PNT TARGET RAD = 0.5, START LABEL = , FIXTURE TOL = 0.12, ERROR LABEL = 
                  MEAS ALL FEAT = ONCE ,MAX ITERATIONS = 99 ,LEVEL AXIS=ZAXIS ,ROTATE AXIS=XAXIS ,ORIGIN AXIS=YAXIS
                LEVEL = MASTER_M,LINE_M,PLANE_M,,
                ROTATE = MASTER_M,LINE_M,,
                ORIGIN = MASTER_M,,
                ALIGNMENT/END
                MODE/DCC
                MOVE/POINT,NORMAL,2371.698,-704.151,1074.333
    MASTER     =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2299.95,-700.08,1262.45,0,0,-1,12.7
                ACTL/2299.953,-700.078,1262.452,0.0000111,-0.0000094,-1,12.7
                TARG/2299.95,-700.08,1262.45,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 1,$
                START ANGLE 1 = 0,END ANGLE 1 = 360,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
                MOVE/POINT,NORMAL,2300.868,-688.656,999.177
                MOVE/POINT,NORMAL,2203.272,-689.032,999.185
                MOVE/POINT,NORMAL,2201.082,-140.417,999.187
                MOVE/POINT,NORMAL,2345.684,-173.784,1215.662
    LINE       =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2299.95,-175.076,1262.4,0,0,-1,12.7
                ACTL/2299.952,-175.074,1262.397,0.0000111,-0.0000094,-1,12.7
                TARG/2299.95,-175.076,1262.4,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
                START ANGLE 1 = 360,END ANGLE 1 = 0,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
                MOVE/POINT,NORMAL,2349.061,-152.536,929.802
                MOVE/POINT,NORMAL,2453.288,-206.534,929.793
                MOVE/POINT,NORMAL,2559.611,-653.302,929.782
                MOVE/POINT,NORMAL,2580.738,-695.372,1215.983
                MOVE/POINT,NORMAL,2567.676,-716.314,1262.361
    PLANE      =AUTO/SPHERE,SHOWALLPARAMS = YES,SHOWHITS = NO
                THEO/2549.948,-700.101,1262.4,0,0,-1,12.7
                ACTL/2549.951,-700.099,1262.404,0.0000111,-0.0000094,-1,12.7
                TARG/2549.948,-700.101,1262.4,0,0,-1
                THEO_THICKNESS = 0,RECT,OUT,$
                AUTO MOVE = BOTH,DISTANCE = 5,$
                NUMHITS = 9,NUMROWS = 2,INIT = 0,PERM = 0,SPACER = 2,$
                START ANGLE 1 = 360,END ANGLE 1 = 0,$
                START ANGLE 2 = 0,END ANGLE 2 = 90,$
                ANGLE VEC = 0,1,0
                MOVE/POINT,NORMAL,2540.873,-687.696,1055.002
    A1         =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
                ALIGNMENT/ITERATE
                  PNT TARGET RAD = 0.5, START LABEL = , FIXTURE TOL = 0.12, ERROR LABEL = 
                  MEAS ALL FEAT = ALWAYS ,MAX ITERATIONS = 99 ,LEVEL AXIS=ZAXIS ,ROTATE AXIS=XAXIS ,ORIGIN AXIS=YAXIS
                LEVEL = MASTER,LINE,PLANE,,
                ROTATE = MASTER,LINE,,
                ORIGIN = MASTER,,
                ALIGNMENT/END
    
  • did you do a setup option of part/machine. Part setup, Cad +X equals machine axis and so forth.

    Always us measure all always but make sure your prehit and retract are high enough to clear part.

    Why are you doing the second alignment?

    After you first alignment you should be checking the nets and the 2 and four way locators and then maybe use them to fine tune alignment.'


    So get rid of your second alignment and see what happens./
  • i'll ask the simple question first... how can you possibly hit a point in space in Z- with a probe angle of AOBO?

    second, why are the theos so far out of wack with the actuals on the manual features?

    sounds like a workplane issue to me
  • The first alignment is a rough alignment on the tooling balls. The second is a more accurate one done by the machine. I'm not aligning to the part in this case because the fixture has pins protruding through the 4way hole and 2 way slot which are covered by the clamps. So basically I have no datum features to work with. The fixture was poorly designed (it has a mating check feature that collides with a tab and if the tab wasn't there it would hit a side wall lol...) Anyways the customer knows about these issues and decided to go ahead and use the fixture anyways so I'm working with what I've got. I've done a handful of alignments this way and it's never been a problem.

    Retract and prehit are not the issue; I tried playing with those yesterday with no luck.

    Thanks for the input though
  • The first alignment is a rough alignment on the tooling balls. The second is a more accurate one done by the machine. I'm not aligning to the part in this case because the fixture has pins protruding through the 4way hole and 2 way slot which are covered by the clamps. So basically I have no datum features to work with. The fixture was poorly designed (it has a mating check feature that collides with a tab and if the tab wasn't there it would hit a side wall lol...) Anyways the customer knows about these issues and decided to go ahead and use the fixture anyways so I'm working with what I've got. I've done a handful of alignments this way and it's never been a problem.

    Retract and prehit are not the issue; I tried playing with those yesterday with no luck.

    Thanks for the input though


    presuming workplane = Z+
    with the fixture laying on the granite
    looking "down" at the fixture
    are the tooling balls facing you?
    if so they should have a K vector of 1, not -1
  • The workplane is Z-. I originally had it in the code but then tried removing it to see if that would have an effect, which it didn't. I think the probe looking upside down was just because my cursor wasn't far enough down the script to take the alignment into account. The real issue seems to be that the probe wants to cut the tooling ball in half.