Hello.
I'm trying to create a program that can measure 24 equal parts in a fixture. I've created a
program that simply shifts the origin to measure the next part. The issue arises in the alignment,
where PC-DMIS compensates, causing me to measure the same part multiple times
instead of moving to the next one. For instance, if I apply an alignment offset in X +100,
the nominal values of auto features change. How can I prevent the alignment from altering nominal
values during execution?" I've pasted the program below. Does anybody know how
to fix this issue?
PART ALIGNMENT=GROUP/SHOWALLPARAMS=NO (Here lies 24 x and y alignment offset) ENDGROUP/ID=PART ALIGNMENT ASSIGN/COUNTER=1 WHILE/COUNTER <=24 RECALL/ALIGNMENT,INTERNAL,"PART"+COUNTER PLN1_1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,OUTLINE,LEAST_SQR THEO/<-72,117,0>,<0,0,1> ACTL/<-72,117,0>,<0,0,1> TARG/<-72,117,0>,<0,0,1> ANGLE VEC=<1,0,0>,RADIAL SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES NUMHITS=3,NUMROWS=1 SPACER=12 AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=5,DISTANCE AFTER=5,DIRECTION=ALONG FEATURE VECTOR SHOW HITS=YES HIT/BASIC,<-60,117,0>,<0,0,1>,<-60,117,0> HIT/BASIC,<-78,127.392,0>,<0,0,1>,<-78,127.392,0> HIT/BASIC,<-78,106.608,0>,<0,0,1>,<-78,106.608,0> ENDMEAS/ CIR1_1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<-72,117,-1.5>,<0,0,1>,16 ACTL/<-72,117,-1.5>,<0,0,1>,16 TARG/<-72,117,-1.5>,<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=3,DEPTH=0.5,PITCH=0 SAMPLE METHOD=SAMPLE_HITS SAMPLE HITS=0,SPACER=0 AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO SHOW HITS=YES HIT/BASIC,<-64,117,-2>,<-1,0,0>,<-64,117,-2> HIT/BASIC,<-76,123.928,-2>,<0.5,-0.8660254,0>,<-76,123.928,-2> HIT/BASIC,<-76,110.072,-2>,<0.5,0.8660254,0>,<-76,110.072,-2> ENDMEAS/ A1_1 =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES (Part alignment) ALIGNMENT/LEVEL,ZPLUS,PLN1_1 ALIGNMENT/TRANS,ZAXIS,PLN1_1 ALIGNMENT/TRANS,XAXIS,CIR1_1 ALIGNMENT/TRANS,YAXIS,CIR1_1 ALIGNMENT/END CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR THEO/<0,0,0>,<0,0,1>,28.5,0 ACTL/<0,0,0>,<0,0,1>,28.5,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=5,DEPTH=2,PITCH=0 SAMPLE METHOD=SAMPLE_HITS SAMPLE HITS=0,SPACER=0 AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO SHOW HITS=YES HIT/BASIC,<14.25,0,-2>,<1,0,0>,<14.25,0,-2> HIT/BASIC,<3.946,13.693,-2>,<0.2769186,0.9608934,0>,<3.946,13.693,-2> HIT/BASIC,<-11.648,8.209,-2>,<-0.8174179,0.5760451,0>,<-11.648,8.209,-2> HIT/BASIC,<-11.388,-8.567,-2>,<-0.7991279,-0.601161,0>,<-11.388,-8.567,-2> HIT/BASIC,<5.146,-13.288,-2>,<0.3611221,-0.9325185,0>,<5.146,-13.288,-2> ENDMEAS/ CIR2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<0,0,0>,<0,0,1>,19 ACTL/<0,0,0>,<0,0,1>,19 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=10,DEPTH=0.5,PITCH=0 SAMPLE METHOD=SAMPLE_HITS SAMPLE HITS=0,SPACER=0 AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=2,DISTANCE AFTER=2,DIRECTION=ALONG FEATURE VECTOR FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO SHOW HITS=YES HIT/BASIC,<9.5,0,-0.5>,<-1,0,0>,<9.5,0,-0.5> HIT/BASIC,<7.686,5.584,-0.5>,<-0.809017,-0.5877853,0>,<7.686,5.584,-0.5> HIT/BASIC,<2.936,9.035,-0.5>,<-0.309017,-0.9510565,0>,<2.936,9.035,-0.5> HIT/BASIC,<-2.936,9.035,-0.5>,<0.309017,-0.9510565,0>,<-2.936,9.035,-0.5> HIT/BASIC,<-7.686,5.584,-0.5>,<0.809017,-0.5877853,0>,<-7.686,5.584,-0.5> HIT/BASIC,<-9.5,0,-0.5>,<1,0,0>,<-9.5,0,-0.5> HIT/BASIC,<-7.686,-5.584,-0.5>,<0.809017,0.5877853,0>,<-7.686,-5.584,-0.5> HIT/BASIC,<-2.936,-9.035,-0.5>,<0.309017,0.9510565,0>,<-2.936,-9.035,-0.5> HIT/BASIC,<2.936,-9.035,-0.5>,<-0.309017,0.9510565,0>,<2.936,-9.035,-0.5> HIT/BASIC,<7.686,-5.584,-0.5>,<-0.809017,0.5877853,0>,<7.686,-5.584,-0.5> ENDMEAS/ CIR3 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<0,0,-1.5>,<0,0,1>,16 ACTL/<0,0,-1.5>,<0,0,1>,16 TARG/<0,0,-1.5>,<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=5,DEPTH=0.5,PITCH=0 SAMPLE METHOD=SAMPLE_HITS SAMPLE HITS=0,SPACER=0 AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO SHOW HITS=YES HIT/BASIC,<8,0,-2>,<-1,0,0>,<8,0,-2> HIT/BASIC,<2.472,7.608,-2>,<-0.309017,-0.9510565,0>,<2.472,7.608,-2> HIT/BASIC,<-6.472,4.702,-2>,<0.809017,-0.5877853,0>,<-6.472,4.702,-2> HIT/BASIC,<-6.472,-4.702,-2>,<0.809017,0.5877853,0>,<-6.472,-4.702,-2> HIT/BASIC,<2.472,-7.608,-2>,<-0.309017,0.9510565,0>,<2.472,-7.608,-2> ENDMEAS/ DIM DIA1= LOCATION OF CIRCLE CIR1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL MEAS +TOL -TOL DEV OUTTOL D 28.500 28.500 0.100 0.100 0.000 0.000 -#-- END OF DIMENSION DIA1 DIM DIA2= LOCATION OF CIRCLE CIR2 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL MEAS +TOL -TOL DEV OUTTOL D 19.000 19.000 0.050 0.000 0.000 0.000 #--- END OF DIMENSION DIA2 DIM DIA3= LOCATION OF CIRCLE CIR3 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL MEAS +TOL -TOL DEV OUTTOL D 16.000 16.000 0.100 0.100 0.000 0.000 -#-- END OF DIMENSION DIA3 ASSIGN/MEAS1=DIA1.D.OUTTOL ASSIGN/MEAS2=DIA2.D.OUTTOL ASSIGN/MEAS3=DIA3.D.OUTTOL ASSIGN/V1=MEAS1+MEAS2+MEAS3 IF/V1==0 GOTO/L2 END_IF/ IF/V1<>0 GOTO/L1 END_IF/ L1 =LABEL/ SNAPSHOT1 =SNAPSHOT/ SOURCE/CAD TYPE/LIVE PRINT/REPORT,EXEC MODE=END,$ TO_FILE=ON,AUTO=1, OUTPUT_FORMAT/PDF,$ RESET_REPORT=YES,AUTO OPEN=ON,$ TO_PRINTER=OFF,COPIES=1,$ TO_DMIS_REPORT=ON,FILE_OPTION=INDEX,FILENAME=,$ REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMENSIONS=YES,$ TO_EXCEL=OFF,$ PREVIOUS_RUNS=DELETE_INSTANCES L2 =LABEL/ ASSIGN/COUNTER=COUNTER+1 END_WHILE/
Code update
[edited by: Mikael at 8:24 AM (GMT -5) on Sep 16, 2024]