对于环形零件壁厚差,其实是内外圆相对应点之间的距离。1.平面,圆 建立零件坐标系。2.自动测量外圆,内圆。3.评价内外圆相对应触测点距离。 内外圆测量完毕后,分别评价外圆的点1到内圆的点1之间的距离,然后评价外圆点2到内圆点2之间的距离…依此类推直至最后一点即可评价出环形零件壁厚差。第一步,快速取出测量元素的测量点。 双击元素,在元素的属性页中拖放到点元素节点下,也可以直接拖放输出测量点(属性页中显示的数据是没有经过测头补偿的,而在点节点下是经过测头补偿的)。第二步:评价时是内外圆的点与点之间的对应。$$/* HeaderDMISMN/'Created by [爱科腾瑞科技(北京)有限公司-091520-DEMO] on 星期四, 五月 14, 2020', 4.0UNITS/MM, ANGDEC, MMPSWKPLAN/XYPLANPRCOMP/ONTECOMP/ONFLY/1.0000MODE/MANSNSET/APPRCH, 2.0000SNSET/RETRCT, 2.0000SNSET/DEPTH, 0.0000SNSET/SEARCH, 10.0000SNSET/CLRSRF, 20.0000RECALL/D(MCS)SNSLCT/S(L20-D2.0)GEOALG/BF, LSTSQRGEOALG/ANGLB, DEFALTGEOALG/CIRCLE, LSTSQRGEOALG/ARC, LSTSQRGEOALG/PLANE, LSTSQR$$$$$$*/MODE/MANF(PLN1)=FEAT/PLANE,CART,0.5399,-2.7834,0.0000,0.0000,0.0000,1.0000$$ Measurement points are created through actual pointsMEAS/PLANE, F(PLN1), 4 PTMEAS/CART, -12.9454, 16.2044, -0.0000, 0.0000, 0.0000, 1.0000 PTMEAS/CART, -15.1920, -14.3728, -0.0000, 0.0000, 0.0000, 1.0000 PTMEAS/CART, 10.0229, -18.5494, -0.0000, 0.0000, 0.0000, 1.0000 PTMEAS/CART, 20.2739, 5.5841, -0.0000, 0.0000, 0.0000, 1.0000ENDMESD(CRD1) = DATSET/FA(PLN1), ZDIRD(CRD1) = TRANS/ZORIG, FA(PLN1)F(CIR1)=FEAT/CIRCLE,INNER,CART,0.0000,0.0000,-2.1950,0.0000,0.0000,1.0000, 39.0000$$ Measurement points are created through actual pointsMEAS/CIRCLE, F(CIR1), 4 PTMEAS/CART, 4.8289, 18.8926, -2.1950, -0.2476, -0.9689, -0.0000 PTMEAS/CART, 18.3782, -6.5185, -2.1950, -0.9425, 0.3343, -0.0000 PTMEAS/CART, -8.0859, -17.7445, -2.1950, 0.4147, 0.9100, -0.0000 PTMEAS/CART, -19.3196, 2.6465, -2.1950, 0.9907, -0.1357, -0.0000ENDMESD(CRD2) = TRANS/XORIG, FA(CIR1), YORIG, FA(CIR1)MODE/PROG,MAN$$ MACRO: EASI_CLEARPLN_GOTO$$ FUNCTION: CLEARANCE SURFACE IMPLEMENTATION$$ Move machine CLEAR SURFACE DIST above the current clear surface $$ plane and then move machine parallel to the clear surface plane $$ ALL Macro parameters are in PCS and Current UNITS$$ Last update: 3-1-04 Add mode checking. only works in PROG MODE$$ Last update: 8-24-04 Clear position is based on the surface of$$ $$ This sample DMIS Macro is provided by External-Array Software, Inc.$$ It should be modified for your own use. There is no guarantee for$$ the quality of this Macro. November, 2003M(EASI_CLEARPLN_GOTO) = MACRO/ISNOM, TARX, TARY, TARZ DECL/LOCAL, REAL, CCX, CCY, CCZ, CCI, CCJ, CCK DECL/LOCAL, REAL, CURX, CURY, CURZ, TD, CLRDIST, SDIAM DECL/LOCAL, CHAR, 255, CLRLABEL, FLABEL, MMODE, SNAME MMODE = VALUE/MODE CLRLABEL = VALUE/SNSET, CLRSRF IF/ ( (LEN(CLRLABEL) .GT. 0) .AND. (MMODE .EQ. 'PROG,MAN') ) CLRDIST = VALUE/SNSET, CLRSRF, DIST FLABEL = ASSIGN/'FA' IF/ ISNOM .EQ. 0 FLABEL = ASSIGN/'F' ENDIF CCX = OBTAIN/FLABEL(@CLRLABEL), 3 CCY = OBTAIN/FLABEL(@CLRLABEL), 4 CCZ = OBTAIN/FLABEL(@CLRLABEL), 5 CCI = OBTAIN/FLABEL(@CLRLABEL), 6 CCJ = OBTAIN/FLABEL(@CLRLABEL), 7 CCK = OBTAIN/FLABEL(@CLRLABEL), 8 SNAME = VALUE/SNSLCT SDIAM = OBTAIN/SS(SNAME), 8 CCX = ASSIGN/CCX + CCI * SDIAM/2 CCY = ASSIGN/CCY + CCJ * SDIAM/2 CCZ = ASSIGN/CCZ + CCK * SDIAM/2 CURX = VALUE/GOTOM, XAXIS CURY = VALUE/GOTOM, YAXIS CURZ = VALUE/GOTOM, ZAXIS TD = ASSIGN/(CURX - CCX) * CCI + (CURY - CCY) * CCJ + (CURZ - CCZ) * CCK IF/ TD .LT. CLRDIST TD = ASSIGN/(CLRDIST - TD) GOTO/CURX+CCI*TD, CURY+CCJ*TD, CURZ+CCK*TD ENDIF TD = ASSIGN/(TARX - CCX) * CCI + (TARY - CCY) * CCJ + (TARZ - CCZ) * CCK IF/ TD .LT. CLRDIST TD = ASSIGN/(CLRDIST - TD) GOTO/TARX+CCI*TD, TARY+CCJ*TD, TARZ+CCK*TD ENDIF ENDIF ENDMACSNSET/APPRCH, 2.0000SNSET/RETRCT, 2.0000SNSET/DEPTH, 0.0000SNSET/SEARCH, 10.0000SNSET/CLRSRF, FA(PLN1), 20.0000F(CIR2)=FEAT/CIRCLE,OUTER,CART,0.0000,0.0000,-4.0000,0.0000,0.0000,1.0000, 45.0000$$ Measurement points are created through nominal points$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 18.0312, -18.0312, 21.0000MEAS/CIRCLE, F(CIR2), 8 GOTO/CART, 18.0312, -18.0312, 21.0000 GOTO/CART, 25.5000, 0.0000, 21.0000 GOTO/CART, 25.5000, 0.0000, 16.0000 PTMEAS/CART, 22.5000, 0.0000, -4.0000, 1.0000, 0.0000, 0.0000 GOTO/CART, 23.5589, 9.7584, -4.0000 PTMEAS/CART, 15.9099, 15.9099, -4.0000, 0.7071, 0.7071, 0.0000 GOTO/CART, 9.7584, 23.5589, -4.0000 PTMEAS/CART, 0.0000, 22.5000, -4.0000, 0.0000, 1.0000, 0.0000 GOTO/CART, -9.7584, 23.5589, -4.0000 PTMEAS/CART, -15.9099, 15.9099, -4.0000, -0.7071, 0.7071, 0.0000 GOTO/CART, -23.5589, 9.7584, -4.0000 PTMEAS/CART, -22.5000, 0.0000, -4.0000, -1.0000, 0.0000, 0.0000 GOTO/CART, -23.5589, -9.7584, -4.0000 PTMEAS/CART, -15.9099, -15.9099, -4.0000, -0.7071, -0.7071, 0.0000 GOTO/CART, -9.7584, -23.5589, -4.0000 PTMEAS/CART, 0.0000, -22.5000, -4.0000, 0.0000, -1.0000, 0.0000 GOTO/CART, 9.7584, -23.5589, -4.0000 PTMEAS/CART, 15.9099, -15.9099, -4.0000, 0.7071, -0.7071, 0.0000 GOTO/CART, 18.0312, -18.0312, 16.0000ENDMESF(CIR3)=FEAT/CIRCLE,INNER,CART,0.0000,0.0000,-4.0000,0.0000,0.0000,1.0000, 39.0000$$ Measurement points are created through nominal points$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 18.0312, -18.0312, 21.0000MEAS/CIRCLE, F(CIR3), 8 GOTO/CART, 18.0312, -18.0312, 21.0000 GOTO/CART, 16.5000, 0.0000, 21.0000 GOTO/CART, 16.5000, 0.0000, 16.0000 PTMEAS/CART, 19.5000, 0.0000, -4.0000, -1.0000, 0.0000, 0.0000 GOTO/CART, 15.2440, 6.3143, -4.0000 PTMEAS/CART, 13.7886, 13.7886, -4.0000, -0.7071, -0.7071, -0.0000 GOTO/CART, 6.3143, 15.2440, -4.0000 PTMEAS/CART, 0.0000, 19.5000, -4.0000, -0.0000, -1.0000, -0.0000 GOTO/CART, -6.3143, 15.2440, -4.0000 PTMEAS/CART, -13.7886, 13.7886, -4.0000, 0.7071, -0.7071, 0.0000 GOTO/CART, -15.2440, 6.3143, -4.0000 PTMEAS/CART, -19.5000, 0.0000, -4.0000, 1.0000, 0.0000, 0.0000 GOTO/CART, -15.2440, -6.3143, -4.0000 PTMEAS/CART, -13.7886, -13.7886, -4.0000, 0.7071, 0.7071, 0.0000 GOTO/CART, -6.3143, -15.2440, -4.0000 PTMEAS/CART, 0.0000, -19.5000, -4.0000, 0.0000, 1.0000, 0.0000 GOTO/CART, 6.3143, -15.2440, -4.0000 PTMEAS/CART, 13.7886, -13.7886, -4.0000, -0.7071, 0.7071, 0.0000 GOTO/CART, 11.6673, -11.6673, 16.0000ENDMESF(CR1-1)=FEAT/POINT,CART,22.5000,0.0000,-4.0000,1.0000,0.0000,0.0000$$ This sample DMIS Macro is provided by External-Array Software, Inc.$$ It should be modified for your own use. There is no guarantee for$$ the quality of this Macro. July, 2009$$ Last update: March 7, 2010$$ When PINDEX = 0, define POINT through feature's$$ characteristic point$$ FUNCION: The function retrieves the X,Y,Z,I,J,K of measurement$$ point from feature 'FEATLABEL' at index PINDEX.$$ The X,Y,Z,I,J,K are used to define a new point of 'POINTLABEL'$$ DERR is 0 if the PINDEX is in valid range and point actual$$ is defined. If DERR is 1, the PINDEX is greater than the$$ maximum index range.M(EASI_DEFINE_INDEXED_POINT) = MACRO/'FEATLABEL', 'POINTLABEL', PINDEX, DERR DECL/LOCAL, REAL, PX, PY, PZ, PI, PJ, PK DECL/LOCAL, INTGR, PSIZE, INDEX1 DECL/LOCAL, CHAR, 255, FNAME PSIZE = VALUE/FA(@FEATLABEL), PTDATA DERR = ASSIGN/1 IF/( PINDEX .EQ. 0 ) CALL/M(EASI_GETX_INDEX), FEATLABEL, INDEX1 PX = OBTAIN/FA(@FEATLABEL),INDEX1 PY = OBTAIN/FA(@FEATLABEL),INDEX1+1 PZ = OBTAIN/FA(@FEATLABEL),INDEX1+2 FNAME = OBTAIN/F(@FEATLABEL), 1 IF/( (FNAME .EQ. 'ELLIPS') .OR. (FNAME .EQ. 'SPHERE') ) PI = ASSIGN/0 PJ = ASSIGN/0 PK = ASSIGN/1 ELSE PI = OBTAIN/FA(@FEATLABEL),INDEX1+3 PJ = OBTAIN/FA(@FEATLABEL),INDEX1+4 PK = OBTAIN/FA(@FEATLABEL),INDEX1+5 ENDIF FA(@POINTLABEL) = FEAT/POINT, CART, PX, PY, PZ, PI, PJ, PK DERR = ASSIGN/0 ELSE IF/( PSIZE .GE. PINDEX ) PX = OBTAIN/FA(@FEATLABEL)[PINDEX], 2 PY = OBTAIN/FA(@FEATLABEL)[PINDEX], 3 PZ = OBTAIN/FA(@FEATLABEL)[PINDEX], 4 PI = OBTAIN/FA(@FEATLABEL)[PINDEX], 5 PJ = OBTAIN/FA(@FEATLABEL)[PINDEX], 6 PK = OBTAIN/FA(@FEATLABEL)[PINDEX], 7 FA(@POINTLABEL) = FEAT/POINT, CART, PX, PY, PZ, PI, PJ, PK DERR = ASSIGN/0 ENDIF ENDIFENDMACCALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-1), 1, KNPTR1F(CR1-2)=FEAT/POINT,CART,15.9099,15.9099,-4.0000,0.7071,0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-2), 2, KNPTR1F(CR1-3)=FEAT/POINT,CART,0.0000,22.5000,-4.0000,0.0000,1.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-3), 3, KNPTR1F(CR1-4)=FEAT/POINT,CART,-15.9099,15.9099,-4.0000,-0.7071,0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-4), 4, KNPTR1F(CR1-5)=FEAT/POINT,CART,-22.5000,0.0000,-4.0000,-1.0000,0.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-5), 5, KNPTR1F(CR1-6)=FEAT/POINT,CART,-15.9099,-15.9099,-4.0000,-0.7071,-0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-6), 6, KNPTR1F(CR1-7)=FEAT/POINT,CART,0.0000,-22.5000,-4.0000,0.0000,-1.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR2), (CR1-7), 7, KNPTR1F(CR1-8)=FEAT/POINT,CART,15.9099,-15.9099,-4.0000,0.7071,-0.7071,0.0000F(CR2-1)=FEAT/POINT,CART,19.5000,0.0000,-4.0000,-1.0000,0.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-1), 1, KNPTR1F(CR2-2)=FEAT/POINT,CART,13.7886,13.7886,-4.0000,-0.7071,-0.7071,-0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-2), 2, KNPTR1F(CR2-3)=FEAT/POINT,CART,0.0000,19.5000,-4.0000,-0.0000,-1.0000,-0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-3), 3, KNPTR1F(CR2-4)=FEAT/POINT,CART,-13.7886,13.7886,-4.0000,0.7071,-0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-4), 4, KNPTR1F(CR2-5)=FEAT/POINT,CART,-19.5000,0.0000,-4.0000,1.0000,0.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-5), 5, KNPTR1F(CR2-6)=FEAT/POINT,CART,-13.7886,-13.7886,-4.0000,0.7071,0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-6), 6, KNPTR1F(CR2-7)=FEAT/POINT,CART,0.0000,-19.5000,-4.0000,0.0000,1.0000,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-7), 7, KNPTR1F(CR2-8)=FEAT/POINT,CART,13.7886,-13.7886,-4.0000,-0.7071,0.7071,0.0000CALL/M(EASI_DEFINE_INDEXED_POINT), (CIR3), (CR2-8), 8, KNPTR1T(TDST1)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-1),FA(CR2-1),TA(TDST1)T(TDST2)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-2),FA(CR2-2),TA(TDST2)T(TDST3)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-3),FA(CR2-3),TA(TDST3)T(TDST4)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-4),FA(CR2-4),TA(TDST4)T(TDST5)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-5),FA(CR2-5),TA(TDST5)T(TDST6)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-6),FA(CR2-6),TA(TDST6)T(TDST7)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-7),FA(CR2-7),TA(TDST7)T(TDST8)=TOL/DISTB,NOMINL,3.0000,0.0000,0.0050,PT2PT,AVGOUTPUT/FA(CR1-8),FA(CR2-8),TA(TDST8)来源:山涧果子