hexagon logo

Programs will not run part to part.

My programs will not run from part to part. This is something that has only recently started, and is happening with all of my programs. I usually end up re-learning the touches in the DCC alignment and the program runs fine, but I shouldn't have to do this. Here is the alignment portion of one of my programs. Any help would be greatly appreciated. I am a relative rookie at PC-DMIS and CMMs in general.
Thanks in advance!

Edit: This program was missing rotation features in A2, fixed but problem persists.

STARTUP =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/END
MODE/MANUAL
PREHIT/0.05
RETRACT/0.05
MOVESPEED/ 250
MANRETRACT/1
FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;MEAS,NOM,TOL,DEV,OUTTOL, ,
TEMPCOMP/METHOD = AUTOMATIC,MATERIAL = Zerodur; Nexcera,CTE=0
,SET WARNING LIMIT = FALSE,MINIMUM = 10,MAXIMUM = 40
,PART SENSOR NUM=DEFAULT,X SCALE= 19.805,Y SCALE= 19.176,Z SCALE= 19.94,PART TEMP=19.123
LOADPROBE/2MMBY50MM
TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE
THEO/<15.56,12.966,0>,<-0.001238,0.0007892,0.9999989>
ACTL/<8.286,12.665,-29.97>,<0.0019632,-0.0019293,0.9999962>
MEAS/PLANE,3
HIT/BASIC,NORMAL,<11.552,18.575,-29.981>,<-0.001238,0.0007892,0.9999989>,<14.012,17.515,-29.972>,USE THEO=YES
HIT/BASIC,NORMAL,<19.502,12.505,-29.967>,<-0.001238,0.0007892,0.9999989>,<7.929,6.667,-29.981>,USE THEO=YES
HIT/BASIC,NORMAL,<15.626,7.817,-29.968>,<-0.001238,0.0007892,0.9999989>,<2.918,13.812,-29.957>,USE THEO=YES
ENDMEAS/
CIR1 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
THEO/<-3,0,0>,<0,0,1>,10.117
ACTL/<7.899,12.056,0>,<0,0,1>,10.12
MEAS/CIRCLE,5,ZPLUS
HIT/BASIC,NORMAL,<6.284,17.868,-30.04>,<0.3513632,-0.9362392,0>,<6.85,17.007,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<4.723,16.935,-30.04>,<0.6598625,-0.7513864,0>,<4.08,15.375,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<3.109,14.161,-30.04>,<0.9791227,-0.2032702,0>,<2.875,12.66,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<3.671,10.623,-30.04>,<0.8681695,0.4962678,0>,<3.468,9.612,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<4.92,9.167,-30.04>,<0.6208301,0.7839452,0>,<4.719,8.12,-30.045>,USE THEO=YES
ENDMEAS/
CIR2 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
THEO/<3,0,0>,<0,0,1>,10.111
ACTL/<13.911,12.115,0>,<0,0,1>,10.112
MEAS/CIRCLE,5,ZPLUS
HIT/BASIC,NORMAL,<17.304,9.207,-30.04>,<-0.6383161,0.7697743,0>,<16.112,7.563,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<18.395,10.467,-30.04>,<-0.8539136,0.5204148,0>,<16.967,8.088,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<19.031,12.089,-30.04>,<-0.97985,0.1997347,0>,<18.777,10.736,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<19.008,14.212,-30.04>,<-0.9754346,-0.2202893,0>,<18.825,13.301,-30.045>,USE THEO=YES
HIT/BASIC,NORMAL,<17.82,16.497,-30.04>,<-0.7403127,-0.6722627,0>,<17.058,16.073,-30.045>,USE THEO=YES
ENDMEAS/
PNT1 =FEAT/POINT,CARTESIAN,NO
THEO/<0,0,0>,<0,0,1>
ACTL/<10.905,12.086,0>,<0,0,1>
CONSTR/POINT,MID,CIR1,CIR2
A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1
ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CIR1,AND,CIR2,ABOUT,ZPLUS
ALIGNMENT/TRANS,XAXIS,PNT1
ALIGNMENT/TRANS,YAXIS,PNT1
ALIGNMENT/TRANS,ZAXIS,PLN1
ALIGNMENT/END
MODE/DCC
CLEARP/ZPLUS,0.1,ZPLUS,0.1,ON
PLN2 =FEAT/PLANE,CARTESIAN,TRIANGLE
THEO/<-0.177,-1.332,0>,<0.0000565,-0.0002095,1>
ACTL/<-0.177,-1.332,0.004>,<-0.0022661,0.0005189,0.9999973>
MEAS/PLANE,3
MOVE/CLEARPLANE
HIT/BASIC,NORMAL,<-5.618,-4.605,-0.001>,<0.0000565,-0.0002095,1>,<-5.618,-4.605,-0.006>,USE THEO=YES
HIT/BASIC,NORMAL,<-0.645,5.367,0.001>,<0.0000565,-0.0002095,1>,<-0.645,5.367,0>,USE THEO=YES
HIT/BASIC,NORMAL,<5.732,-4.759,-0.001>,<0.0000565,-0.0002095,1>,<5.733,-4.759,0.02>,USE THEO=YES
ENDMEAS/
CIR3 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
THEO/<-3,0,0>,<0,0,1>,10.118
ACTL/<-2.774,1.016,-0.005>,<-0.0023236,0.0035863,0.9999909>,10.119
MEAS/CIRCLE,5,ZPLUS
MOVE/CLEARPLANE
HIT/BASIC,NORMAL,<-4.78,4.788,-0.097>,<0.3486787,-0.9372423,0>,<-4.465,5.782,-0.123>,USE THEO=YES
HIT/BASIC,NORMAL,<-6.752,3.463,-0.099>,<0.738122,-0.6746673,0>,<-6.457,4.487,-0.124>,USE THEO=YES
HIT/BASIC,NORMAL,<-8.07,0.241,-0.103>,<0.9992759,-0.0380477,0>,<-7.824,1.285,-0.121>,USE THEO=YES
HIT/BASIC,NORMAL,<-6.801,-3.308,-0.11>,<0.7482387,0.6634296,0>,<-6.609,-2.282,-0.112>,USE THEO=YES
HIT/BASIC,NORMAL,<-4.779,-4.694,-0.113>,<0.3483359,0.9373698,0>,<-4.608,-3.7,-0.105>,USE THEO=YES
ENDMEAS/
CIR4 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR
THEO/<3,0,0>,<0,0,1>,10.117
ACTL/<3.235,0.925,0.009>,<-0.0023236,0.0035863,0.9999909>,10.118
MEAS/CIRCLE,5,ZPLUS
MOVE/CLEARPLANE
HIT/BASIC,NORMAL,<4.987,-4.599,-0.116>,<-0.3941298,0.9190548,0>,<5.158,-3.754,-0.086>,USE THEO=YES
HIT/BASIC,NORMAL,<7.175,-2.801,-0.114>,<-0.8262386,0.5633203,0>,<7.373,-1.989,-0.085>,USE THEO=YES
HIT/BASIC,NORMAL,<8.042,-0.252,-0.111>,<-0.9982257,0.0595442,0>,<8.279,0.546,-0.088>,USE THEO=YES
HIT/BASIC,NORMAL,<7.351,2.618,-0.106>,<-0.861464,-0.5078186,0>,<7.632,3.426,-0.095>,USE THEO=YES
HIT/BASIC,NORMAL,<5.093,4.652,-0.102>,<-0.4149493,-0.9098445,0>,<5.405,5.495,-0.104>,USE THEO=YES
ENDMEAS/
PNT2 =FEAT/POINT,CARTESIAN,NO
THEO/<0,0,0>,<0.001238,-0.0007892,0.9999989>
ACTL/<0.231,0.97,0.002>,<-0.0010978,0.0027782,0.9999955>
CONSTR/POINT,MID,CIR3,CIR4
A2 =ALIGNMENT/START,RECALL:A1,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN2
ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,,AND,,ABOUT,ZPLUS
ALIGNMENT/TRANS,XAXIS,PNT2
ALIGNMENT/TRANS,YAXIS,PNT2
ALIGNMENT/TRANS,ZAXIS,PLN2
ALIGNMENT/END
MOVE/CLEARPLANE​
  • A2 =ALIGNMENT/START,RECALL:A1,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN2
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,,AND,,ABOUT,ZPLUS
    ALIGNMENT/TRANS,XAXIS,PNT2
    ALIGNMENT/TRANS,YAXIS,PNT2
    ALIGNMENT/TRANS,ZAXIS,PLN2
    ALIGNMENT/END​

    Alignment is missing rotation features​
  • You're right, fixed this but it's still doing it. But missing this in A2 wouldn't have effected the DCC touches before it, right?
  • The DCC hit data would seem to indicate the part location had moved from when the Manual alignment features where taken.

    You say program will not run part to part do you mean load a new part without re-doing the manual alignment first and going straight into DCC if so the part will need to be held in some sort of fixture.
  • is correct. It appears your part is not "locked down".

    Based on your measurement data in DCC the part has shifted 0.25 in the X axis and 1.0 in the Y. If you want to measure the part using only the DCC alignment your setup must remove all 6 degrees of freedom of the physical part on the CMM. So if you or Jimmy on 3rd shift place your part on the CMM it should be in nearly the exact same location each and every time.

    If this cannot be achieved one way to work around it (as long as it can be place closely to the same position and orientation) is to remeasure your circles first in your DCC alignment with the find hole option turned on.

    Simply measure CIR3 first with find hole turned on.
    XY origin CIR3
    then measure CIR4 with find hole tuned on.
    Create a "pre-alignment" rotating from CIR3 TO CIR4 and XY origin one of them.
    Then measure the plane.
    After that create your DCC alignment like normal.