hexagon logo

automatically measure copper electrode code

This thread is a sharing how to automatically measure copper electrode(mould) of us.
Use this code,just fit one point to run programs automatically.
If have any problem,reply the thread.


STARTUP         =ALIGNMENT/START,RECALL:,LIST=YES
            ALIGNMENT/END
            MODE/MANUAL
            FORMAT/TEXT, , , ,SYMBOLS, ;MEAS,NOM,TOL,DEV,OUTTOL, , 
            MOVESPEED/ 60
            LOADPROBE/1X30
            TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
            FLY/ON,3
            RECALL/ALIGNMENT,EXTERNAL,a3,CMM1-CHENG:a3
C1         =COMMENT/INPUT,NO,'PLEASE INPUT THE LENGHT,WIDTH,HEIGHT OF CAPPER ELECTRODE'
            ASSIGN/X=ELEMENT(1,"*",C1.INPUT)
            ASSIGN/Y=ELEMENT(2,"*",C1.INPUT)
            ASSIGN/Z=ELEMENT(3,"*",C1.INPUT)
            ASSIGN/VX=1.7
            ASSIGN/VY=1.7
            ASSIGN/VXF=5
            ASSIGN/VYF=5
            ASSIGN/VZ=1.7
            PREHIT/ 1.5
            RETRACT/ 1.5
P1         =FEAT/CONTACT/VECTOR POINT,CARTESIAN
            THEO/<12.215,-14.491,-6.703>,<0,0,1>
            ACTL/<12.215,-14.491,125.647>,<0,0,1>
            TARG/<12.215,-14.491,-6.703>,<0,0,1>
            SNAP=YES
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=NO
            ASSIGN/ZZ=P1.Z
A0         =ALIGNMENT/START,RECALL:CMM1-CHENG:a3,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,P1
            ALIGNMENT/TRANS,ZAXIS,P1
            ALIGNMENT/END
            MODE/DCC
            CLEARP/ZPLUS,2,ZPLUS,0,ON
P2         =FEAT/POINT,CARTESIAN
            THEO/<X/2-VXF,-Y/2+VY,0>,<0,0,1>
            ACTL/<10.999,-14.3,-0.001>,<0,0,1>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2-VXF,-Y/2+VY,0>,<0,0,1>,<10.999,-14.3,-0.001>,USE THEO=YES
            ENDMEAS/
P4         =FEAT/POINT,CARTESIAN
            THEO/<X/2-5,-Y/2,-VZ>,<0.0000008,-1,0>
            ACTL/<10.999,-16.507,-1.7>,<0.0000008,-1,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2-5,-Y/2,-VZ>,<0.0000008,-1,0>,<10.999,-16.507,-1.7>,USE THEO=YES
            ENDMEAS/
P5         =FEAT/POINT,CARTESIAN
            THEO/<-X/2+VX,-Y/2,-VZ>,<0.0000008,-1,0>
            ACTL/<-14.301,-16.529,-1.7>,<0.0000008,-1,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2+VX,-Y/2,-VZ>,<0.0000008,-1,0>,<-14.301,-16.529,-1.7>,USE THEO=YES
            ENDMEAS/
P6         =FEAT/POINT,CARTESIAN
            THEO/<-X/2+VX,-Y/2+VY,0>,<0,0,1>
            ACTL/<-14.301,-14.3,0.018>,<0,0,1>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2+VX,-Y/2+VY,0>,<0,0,1>,<-14.301,-14.3,0.018>,USE THEO=YES
            ENDMEAS/
P7         =FEAT/POINT,CARTESIAN
            THEO/<-X/2,-Y/2+VY,-VZ>,<-1,-0.0000008,0>
            ACTL/<-15.677,-14.299,-1.7>,<-1,-0.0000008,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2,-Y/2+VY,-VZ>,<-1,-0.0000008,0>,<-15.677,-14.299,-1.7>,USE THEO=YES
            ENDMEAS/
P8         =FEAT/POINT,CARTESIAN
            THEO/<-X/2,Y/2-VY,-VZ>,<-1,-0.0000008,0>
            ACTL/<-15.707,14.3,-1.7>,<-1,-0.0000008,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2,Y/2-VY,-VZ>,<-1,-0.0000008,0>,<-15.707,14.3,-1.7>,USE THEO=YES
            ENDMEAS/
P9         =FEAT/POINT,CARTESIAN
            THEO/<-X/2+VX,Y/2-VY,0>,<0,0,1>
            ACTL/<-14.3,14.3,-0.004>,<0,0,1>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2+VY,Y/2-VY,0>,<0,0,1>,<-14.3,14.3,-0.004>,USE THEO=YES
            ENDMEAS/
P10        =FEAT/POINT,CARTESIAN
            THEO/<-X/2+VX,Y/2,-VZ>,<-0.0000008,1,0>
            ACTL/<-14.299,15.473,-1.7>,<-0.0000008,1,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<-X/2+VX,Y/2,-VZ>,<-0.0000008,1,0>,<-14.299,15.473,-1.7>,USE THEO=YES
            ENDMEAS/
P11        =FEAT/POINT,CARTESIAN
            THEO/<X/2-VX,Y/2,-VZ>,<-0.0000008,1,0>
            ACTL/<14.299,15.503,-1.7>,<-0.0000008,1,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2-VX,Y/2,-VZ>,<-0.0000008,1,0>,<14.299,15.503,-1.7>,USE THEO=YES
            ENDMEAS/
P12        =FEAT/POINT,CARTESIAN
            THEO/<X/2-VX,Y/2-VY,0>,<0,0,1>
            ACTL/<14.3,14.3,-0.025>,<0,0,1>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2-VY,Y/2-VY,0>,<0,0,1>,<14.3,14.3,-0.025>,USE THEO=YES
            ENDMEAS/
P13        =FEAT/POINT,CARTESIAN
            THEO/<X/2,Y/2-VY,-VZ>,<1,0.0000008,0>
            ACTL/<16.295,14.3,-1.7>,<1,0.0000008,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2,Y/2-VY,-VZ>,<1,0.0000008,0>,<16.295,14.3,-1.7>,USE THEO=YES
            ENDMEAS/
P3         =FEAT/POINT,CARTESIAN
            THEO/<X/2,-Y/2+VYF,-VZ>,<1,0.0000008,0>
            ACTL/<16.317,-11.001,-1.7>,<1,0.0000008,0>
            MEAS/POINT,1
            MOVE/CLEARPLANE
            HIT/BASIC,NORMAL,<X/2,-Y/2+VYF,-VZ>,<1,0.0000008,0>,<16.317,-11.001,-1.7>,USE THEO=YES
            ENDMEAS/
PL1        =FEAT/PLANE,CARTESIAN,TRIANGLE,NO
            THEO/<-0.875,0,0>,<0,0,1>
            ACTL/<-0.826,0,-0.003>,<0.0007383,0.0007478,0.9999994>
            CONSTR/PLANE,BFRE,P12,P9,P6,P2,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
LN1        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<-17,32,-1.5>,<1,0.0000008,0>
            ACTL/<-14.299,15.473,-1.7>,<0.9999995,0.0010455,0>
            CONSTR/LINE,BF,2D,P10,P11,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
LN2        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<-17,-32,-1.5>,<1,0.0000008,0>
            ACTL/<-14.301,-16.529,-1.7>,<0.9999996,0.0008539,0>
            CONSTR/LINE,BF,2D,P5,P4,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
LN3        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<-18.5,30.5,-1.5>,<0.0000008,-1,0>
            ACTL/<-15.707,14.3,-1.7>,<0.0010455,-0.9999995,0>
            CONSTR/LINE,BF,2D,P8,P7,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
LN4        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<16,14.3,-1.7>,<0,-1,0>
            ACTL/<16.295,14.3,-1.7>,<0.0008796,-0.9999996,0>
            CONSTR/LINE,BF,2D,P13,P3,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
LN5        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<-17,0,-1.5>,<1,0.0000008,0>
            ACTL/<-14.3,-0.528,-1.7>,<0.9999996,0.0008539,0>
            CONSTR/LINE,MID,LN1,LN2
LN6        =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
            THEO/<0,17.75,-1.5>,<0.0000005,-1,0>
            ACTL/<0.294,14.3,-1.7>,<0.0008796,-0.9999996,0>
            CONSTR/LINE,MID,LN3,LN4
P14        =FEAT/POINT,CARTESIAN,NO
            THEO/<0,0,-1.5>,<1,0.0000008,0>
            ACTL/<0.307,-0.516,-1.7>,<0.9999996,0.0008539,0>
            CONSTR/POINT,INT,LN5,LN6
            IF/X>Y
A2         =ALIGNMENT/START,RECALL:A0,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,PL1
            ALIGNMENT/TRANS,ZAXIS,PL1
            ALIGNMENT/ROTATE,XPLUS,TO,LN5,ABOUT,ZPLUS
            ALIGNMENT/TRANS,YAXIS,P14
            ALIGNMENT/TRANS,XAXIS,P14
            ALIGNMENT/END
            END_IF/
            ELSE/
A3         =ALIGNMENT/START,RECALL:A0,LIST=YES
            ALIGNMENT/LEVEL,ZPLUS,PL1
            ALIGNMENT/TRANS,ZAXIS,PL1
            ALIGNMENT/ROTATE,YMINUS,TO,LN6,ABOUT,ZPLUS
            ALIGNMENT/TRANS,XAXIS,P14
            ALIGNMENT/TRANS,YAXIS,P14
            ALIGNMENT/END
            END_ELSE/
            CLEARP/ZPLUS,Z+3,ZPLUS,0,ON
            MOVE/CLEARPLANE