hexagon logo

Alignment Issues

Afternoon,
I've used the search function here but cannot seem to find anything related to my issue.

Before I get into the issue I will say I have 0 formal training using PC-DMIS, I've had to ultimately self teach my self how to run this machine based on a previous inspector's programs in the last 18 months, our version is 4.2.

I set up the part on a preexisting fixture and set my manual alignment using DATUMS F A E, this is the most common datum usage on the part.
Then switch to DCC mode to set the Auto Alignment using the same features.

The probe then checks a few features including DATUM H and J, after this I set another alignment at the end of the program to DATUMS H J with a rotation to E for dimensioning purposes, however, when i set the new alignment, all of my features previous to the alignment, shift. Not much, but noticeable.
On the full program this is an issue as the further from the new alignment i get, the farther out it says my dimensions are.

I have confirmed by other means that the dimensions are correct and in tolerance but the CMM is reading them as out.

I am programming this completely using the solid .iges model, all features line up correctly until i run the program through, then everything moves.

Here is the program: (I've had to omit a lot of data to fit the 10000 characters limit. but hopefully there is nothing crucial missing.)

STARTUP    =ALIGNMENT/START,RECALL:,LIST=YES
            ALIGNMENT/END
            MODE/MANUAL
            PREHIT/ 0.3
            RETRACT/ 0.3
            MANRETRACT/2.54
            FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
            LOADPROBE/1-5 BY 30MM BALL
            TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
            COMMENT/OPER,NO,TAKE FOUR POINTS ON DATUM F
DATUM F INITIAL=FEAT/PLANE,CARTESIAN,TRIANGLE
            THEO/<0.2826,-0.027,-0.125>,<0,0,1>
            ACTL/<7.5757,30.5858,-18.8371>,<0.0114563,-0.0041409,0.9999258>
            MEAS/PLANE,4

            ENDMEAS/
            COMMENT/OPER,NO,TAKE THREE POINTS ON LARGE DIAMETER
DATUM E INITIAL=FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
            THEO/<0,0,-0.2265>,<0,0,1>,3.75
            ACTL/<7.3584,30.3527,-18.9719>,<0,0,1>,3.7543
            MEAS/CIRCLE,3,WORKPLANE

            ENDMEAS/
            TIP/T1A75B-90, SHANKIJK=0.9659, 0, 0.2588, ANGLE=-90
            WORKPLANE/XPLUS
            COMMENT/OPER,NO,TAKE TWO POINTS ON DATUM A
                           ,FRONT TO BACK
PNT1       =FEAT/POINT,CARTESIAN
            THEO/<12.0658,29.0039,-18.8758>,<1,0,0>
            ACTL/<12.066,28.9702,-18.8849>,<0.9999996,0.0009112,0>
            MEAS/POINT,1
            HIT/BASIC,NORMAL,<12.0658,29.0039,-18.8758>,<1,0,0>,<12.066,28.9702,-18.8849>,USE THEO = YES
            ENDMEAS/
PNT2       =FEAT/POINT,CARTESIAN
            THEO/<12.0673,31.5941,-18.8759>,<1,0,0>
            ACTL/<12.0675,31.7242,-18.8556>,<1,0,0>
            MEAS/POINT,1
            HIT/BASIC,NORMAL,<12.0673,31.5941,-18.8759>,<1,0,0>,<12.0675,31.7242,-18.8556>,USE THEO = YES
            ENDMEAS/
DATUM A INITIAL=FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<12.0666,29.0039,-18.8758>,<0,1,-0.0000609>
            ACTL/<12.0668,28.9702,-18.8849>,<0,0.9999432,0.0106599>
            CONSTR/LINE,BF,2D,PNT1,PNT2,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
            COMMENT/OPER,NO,READY TO RUN DCC
MANUAL ALIGNMENT=ALIGNMENT/START,RECALL:STARTUP,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,DATUM F INITIAL
            ALIGNMENT/ROTATE,YPLUS,TO,DATUM A INITIAL,ABOUT,ZPLUS
            ALIGNMENT/TRANS,ZAXIS,DATUM F INITIAL
            ALIGNMENT/TRANS,XAXIS,DATUM E INITIAL
            ALIGNMENT/TRANS,YAXIS,DATUM E INITIAL
            ALIGNMENT/END
            CLEARP/ZPLUS,0.5,ZPLUS,0.5,ON
            MODE/DCC
            WORKPLANE/ZPLUS
            MOVE/INCREMENT,<0,0,6>
            TIP/T1A0B0, SHANKIJK=-0.0115, 0.0041, 0.9999, ANGLE=0.0027
            MOVE/INCREMENT,<-6,0,0>
DATUM F    =FEAT/PLANE,CARTESIAN,TRIANGLE
            THEO/<0.2826,-0.027,0>,<0,0,1>
            ACTL/<0.2826,-0.027,0>,<-0.0000021,-0.000018,1>
            MEAS/PLANE,4
            MOVE/CLEARPLANE

            ENDMEAS/
DATUM E    =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
            THEO/<0,0,-0.1>,<0,0,1>,3.75
            ACTL/<-0.0001,0.0003,-0.0998>,<0,0,1>,3.7548
            MEAS/CIRCLE,8,WORKPLANE
            MOVE/CLEARPLANE

            ENDMEAS/
            MOVE/INCREMENT,<0,0,6>
            MOVE/INCREMENT,<10,0,0>
            WORKPLANE/XPLUS
            CLEARP/XPLUS,6,XPLUS,6,ON
            TIP/T1A75B-90, SHANKIJK=0.9629, 0.0011, 0.2699, ANGLE=-90.2261
DATUM A-1  =FEAT/POINT,CARTESIAN
            THEO/<4.71,-1.236,0>,<1,0,0>
            ACTL/<4.7058,-1.2359,0.0002>,<1,0,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<4.71,-1.236,0>,<1,0,0>,<4.7058,-1.2359,0.0002>,USE THEO = YES
            ENDMEAS/
DATUM A-2  =FEAT/POINT,CARTESIAN
            THEO/<4.71,1.236,0>,<1,0,0>
            ACTL/<4.7074,1.2361,0.0002>,<1,0,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<4.71,1.236,0>,<1,0,0>,<4.7074,1.2361,0.0002>,USE THEO = YES
            ENDMEAS/
DATUM A    =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<4.71,-1.236,0>,<0,1,0>
            ACTL/<4.7066,-1.2359,0.0002>,<0,1,0.0000148>
            CONSTR/LINE,BF,2D,DATUM A-1,DATUM A-2,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
AUTO ALIGNMENT=ALIGNMENT/START,RECALL:MANUAL ALIGNMENT,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,DATUM F
            ALIGNMENT/ROTATE,YPLUS,TO,DATUM A,ABOUT,ZPLUS
            ALIGNMENT/TRANS,ZAXIS,DATUM F
            ALIGNMENT/TRANS,XAXIS,DATUM E
            ALIGNMENT/TRANS,YAXIS,DATUM E
            ALIGNMENT/END
            CLEARP/ZPLUS,0.5,ZPLUS,0.5,ON
            RETRACT/ 0.2
            PREHIT/ 0.2
            MOVE/INCREMENT,<0.5,0,7>
            TIP/T1A0B0, SHANKIJK=-0.0115, 0.0041, 0.9999, ANGLE=0.0028
            WORKPLANE/ZPLUS
            MOVE/INCREMENT,<-5,0,0>
DATUM J    =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
            THEO/<3.38,-1.81,-0.063>,<0,0,1>,1.13
            ACTL/<3.3778,-1.8192,-0.0628>,<0,0,1>,1.1299
            MEAS/CIRCLE,12,WORKPLANE
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<3.945,-1.81,-0.063>,<-1,0,0>,<3.9421,-1.8094,-0.0628>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.8693,-1.5275,-0.063>,<-0.8660254,-0.5,0>,<3.8621,-1.5312,-0.0627>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.6625,-1.3207,-0.063>,<-0.5,-0.8660254,0>,<3.6584,-1.3274,-0.0623>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.38,-1.245,-0.063>,<0,-1,0>,<3.38,-1.2528,-0.0628>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.0975,-1.3207,-0.063>,<0.5,-0.8660254,0>,<3.1016,-1.327,-0.0628>,USE THEO = YES
            HIT/BASIC,NORMAL,<2.8907,-1.5275,-0.063>,<0.8660254,-0.5,0>,<2.8937,-1.5289,-0.0629>,USE THEO = YES
            HIT/BASIC,NORMAL,<2.815,-1.81,-0.063>,<1,0,0>,<2.8135,-1.8096,-0.0629>,USE THEO = YES
            HIT/BASIC,NORMAL,<2.8907,-2.0925,-0.063>,<0.8660254,0.5,0>,<2.8855,-2.0951,-0.0631>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.0975,-2.2993,-0.063>,<0.5,0.8660254,0>,<3.0923,-2.3078,-0.0633>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.38,-2.375,-0.063>,<0,1,0>,<3.3801,-2.3847,-0.0628>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.6625,-2.2993,-0.063>,<-0.5,0.8660254,0>,<3.6661,-2.3049,-0.0628>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.8693,-2.0925,-0.063>,<-0.8660254,0.5,0>,<3.8718,-2.0933,-0.0628>,USE THEO = YES
            ENDMEAS/
DATUM H    =FEAT/PLANE,CARTESIAN,TRIANGLE
            THEO/<3.3664,-1.7805,-0.063>,<0,0,1>
            ACTL/<3.3665,-1.7806,-0.0606>,<-0.0014467,-0.0001116,0.9999989>
            MEAS/PLANE,3
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<4.0006,-1.7632,-0.063>,<0,0,1>,<4.0007,-1.7632,-0.0596>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.0635,-1.2104,-0.063>,<0,0,1>,<3.0635,-1.2104,-0.0609>,USE THEO = YES
            HIT/BASIC,NORMAL,<3.0353,-2.368,-0.063>,<0,0,1>,<3.0353,-2.3681,-0.0611>,USE THEO = YES
            ENDMEAS/
            MOVE/INCREMENT,<0,2,0>
            MOVE/INCREMENT,<5,0,5>
            CLEARP/XPLUS,6,XPLUS,6,ON
            TIP/T1A75B-45, SHANKIJK=0.6801, 0.684, 0.2638, ANGLE=-75.7966
            WORKPLANE/XPLUS

A1         =ALIGNMENT/START,RECALL:AUTO ALIGNMENT,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,DATUM H
            ALIGNMENT/ROTATE,YPLUS,TO,DATUM A,ABOUT,ZPLUS
            ALIGNMENT/TRANS,ZAXIS,DATUM H
            ALIGNMENT/TRANS,XAXIS,DATUM J
            ALIGNMENT/TRANS,YAXIS,DATUM J
            ALIGNMENT/END


On the photo's you can see in the large bore, the circle feature outline, moves into the wall on the Y+ end.




Any help would be greatly appreciated

Thanks,
Eric
  • It moves because the feature Datum J is .009 different than nominal (in the Y axis).
    It should move.
  • So it is normal for all the features to move when setting a new alignment? Seems odd when looking at it on the software. On this particular part there are 7 different true position blocks, and as I scroll down through each alignment, ALL of the features constantly move back and forth up and down, I'm concerned that I am not getting correct readings because of this.
  • Side Note: When naming features avoid spaces, hyphens, and special characters. Underscores are ok to use.
  • Visually your model will move to each alignment. So your model and features can move around as you place your cursor in different parts of the program. You should dimension your features after each alignment for your report.
    Align, measure any additional features and dimension. Move on to the next alignment, measure and dimension. So on and so forth.

    I'm not saying this is the best method or how others would do it, but seems to be what you are currently trying to acccomplish.
  • [color="#ff0000"]workplane/xplus[/color]            
    clearp/xplus,6,xplus,6,on
    tip/t1a75b-90, shankijk=0.9629, 0.0011, 0.2699, angle=-90.2261
    datum a-1  =feat/point,cartesian
                theo/<4.71,-1.236,0>,<1,0,0>
                actl/<4.7058,-1.2359,0.0002>,<1,0,0>
                meas/point,1
                move/clearplane
                hit/basic,normal,<4.71,-1.236,0>,<1,0,0>,<4.7058,-1.2359,0.0002>,use theo = yes
                endmeas/
    datum a-2  =feat/point,cartesian
                theo/<4.71,1.236,0>,<1,0,0>
                actl/<4.7074,1.2361,0.0002>,<1,0,0>
                meas/point,1
                move/clearplane
                hit/basic,normal,<4.71,1.236,0>,<1,0,0>,<4.7074,1.2361,0.0002>,use theo = yes
                endmeas/
    [color="#ff0000"]change workplane to zplus here[/color]
    datum a    =feat/line,cartesian,unbounded,no
                theo/<4.71,-1.236,0>,<0,1,0>
                actl/<4.7066,-1.2359,0.0002>,<0,1,0.0000148>
                constr/line,bf,2d,datum a-1,datum a-2,,
                outlier_removal/off,3
                filter/off,wavelength=0
    


    When constructing the line you have to change the workplane to Z (In fact, you don't need to change to X when taking the 2 points)
  • So it is normal for all the features to move when setting a new alignment? Seems odd when looking at it on the software. On this particular part there are 7 different true position blocks, and as I scroll down through each alignment, ALL of the features constantly move back and forth up and down, I'm concerned that I am not getting correct readings because of this.


    It is completely normal for all of the features to move with each different alignment. Each alignment is using different measured features or combinations thereof.

    There are really 2 approaches to use here. Either as Donald suggested Align, Measure, Dimension, and repeat, or use a single DCC alignment for measuring the entire part and then define your alignments per the DRF later for dimensioning only. Either way is fine. Just pay attention to what work plane a feature needs to be constructed in for the alignment it is used with or dimensioned in.
  • It is completely normal for all of the features to move with each different alignment. Each alignment is using different measured features or combinations thereof.

    There are really 2 approaches to use here. Either as Donald suggested Align, Measure, Dimension, and repeat, or use a single DCC alignment for measuring the entire part and then define your alignments per the DRF later for dimensioning only. Either way is fine. Just pay attention to what work plane a feature needs to be constructed in for the alignment it is used with or dimensioned in.


    It may happen ONLY in extreme cases, but you can get BAD contacts (touches) and report parts AS BAD, when you have GOOD parts, if you check features NOT IN the correct alignment (the alignment they are called out to).

    For example, a basically flat part, 2 holes in it, and a dimple in the middle, more of an ant-hill than a mountain. A datum is the falt of the part, B datum is the long edge of the part, C datum is the short edge of the part. BOTH holes have a TP of 3.0mm to ABC. The holes are Datum D and Datum E, the dimple has a TP of 0.25 to ADE and a height (profile) of +/-0.25 to ADE. If the D&E holes are 1.4mm off in "X" to ABC, they are still in tolerance, but if you try to measure the dimple while in ABC, you will miss the 'tip', thus getting a bad hit on a good part that makes it look bad when it is good.
  • Side Note: When naming features avoid spaces, hyphens, and special characters. Underscores are ok to use.


    Is there a reason for this or just a good practice?
  • It is completely normal for all of the features to move with each different alignment. Each alignment is using different measured features or combinations thereof.

    There are really 2 approaches to use here. Either as Donald suggested Align, Measure, Dimension, and repeat, or use a single DCC alignment for measuring the entire part and then define your alignments per the DRF later for dimensioning only. Either way is fine. Just pay attention to what work plane a feature needs to be constructed in for the alignment it is used with or dimensioned in.


    Thanks for the response.

    The program for this part does just that, I set my DCC alignment and check each feature under one alignment.
    When i get down to dimensioning is when i start to add additional alignments
  • It may happen ONLY in extreme cases, but you can get BAD contacts (touches) and report parts AS BAD, when you have GOOD parts, if you check features NOT IN the correct alignment (the alignment they are called out to).

    For example, a basically flat part, 2 holes in it, and a dimple in the middle, more of an ant-hill than a mountain. A datum is the falt of the part, B datum is the long edge of the part, C datum is the short edge of the part. BOTH holes have a TP of 3.0mm to ABC. The holes are Datum D and Datum E, the dimple has a TP of 0.25 to ADE and a height (profile) of +/-0.25 to ADE. If the D&E holes are 1.4mm off in "X" to ABC, they are still in tolerance, but if you try to measure the dimple while in ABC, you will miss the 'tip', thus getting a bad hit on a good part that makes it look bad when it is good.


    Good advice, thanks.

    I do believe everything is being checked in the correct alignment but it won't hurt to run down through the program and make sure.