1.几何特征拟合
在测量软件中,通常用特征的质心(质心又称作重心或中心,是物体质量或形状的假想中心)坐标代表特征的位置,用特征的矢量方向表示特征的方向。
除了点以外的其他几何特征都是在点的基础上,通过拟合计算得到的,但是并不是使用补偿后的测点直接拟合,而是先使用红宝石球心坐标拟合,然后整体进行半径补偿,这样可以消除测量点补偿的余弦误差。
根据三维特征和二维特征的不同,基本拟合步骤如下:
(1)测量所需要的点;
(2)将测点投影到工作(投影)平面;(仅对直线、圆等二维特征需要先投影再拟合,三维特征跳过此步)
(3)将所有测点红宝石球心坐标拟合为相应特征:整体向内测或外侧补偿测头半径,得到实际被测特征;
所以余弦误差对单个测量点的影响最大,对二维和三维特征影响较小,空间点测量时注意按照正确的矢量方向进行测量和补偿。
2.圆的基础知识:
测量一个圆,至少需要在圆上采三个点。因此,测量一个圆有最少时间的要求。但是,在开始计算之前,所有的测头采点都将投影到一个平面上,这个平面的法矢代表此圆所在圆柱的轴线。
另外一种测量圆的情况是薄壁件上的孔,因为钻孔的深度太浅不能当圆柱测。即使采点的最小的偏差也能导致法线矢量方向上巨大的误差。
3.圆的计算:
首先通过所有测点计算拟和出一个最佳拟和平面;接着找出最平行的坐标平面。然后由此平面找到圆的法矢方向,辅助平面移到测量点重心位置。再接下来,所有的测点投影到此平面上,一个最佳拟和圆被计算出来。最后,进行半径补偿。
4.圆柱的计算:
首先用测头球心拟和一个圆柱,然后补偿一个测头半径。可以认为圆柱的长度是无限延伸的,方向是从第一个圆指向第二个圆。
点1,2,3和4,5,6分别计算两个圆(在两个截面上) 两个圆的圆心连线确定圆柱的方向。
5.三坐标使用“圆”测量的计算过程
当使用“圆”测量时,“圆”是二维元素,所以,在三坐标软件计算时,是先进行了投影,没有特殊指定的情况下,是投影到工件坐标系上。然后将触测的点要素进行拟合成一个标准的“圆”进行输出。当零件是一个椭圆的情况,也是使用“最小二乘法”进行拟合成一个标准的圆,也就是通常大家讲的使用了平均值的结果输出。
6.三坐标使用“圆柱”测量的计算方法
当使用“圆柱”测量时,在圆柱的表面上测量两个或多个截面,然后拟合成一个标准的圆柱。当出现上下截面的尺寸不一样时,或者椭圆时,三坐标软件都默认采用“最小二乘法”进行拟合,也就是通常大家讲的使用了平均值的结果输出。无论是此圆柱发生了锥度还是弯曲,都是使用了平均值的方式输出结果。
7.ISO国际标准及中国国标,默认遵循独立原则
独立原则,是指图样上对某要素注出或未注的尺寸公差与形位公差各自独立,彼此无关,分别满足各自要求的公差原则。此时,图样上要素的尺寸公差与形位公差没有特定的关系符号或文字说明它们有联系,就表示它们遵守独立原则。独立原则的核心是:局部实际尺寸合格即为合格。局部实际尺寸(简称实际尺寸)是指:在实际要素的任意正截面上,两对应点之间测得的距离。在ISO标准中,对独立原则、局部实际尺寸进行了定义及明确。如图4所示,无论圆柱发生了弯曲,或者产生椭圆现象,只要在任一正截面之内,尺寸都在公差范围之内,就是正确。
RationalDMIS7.1圆柱怎么测量,直径输出准确。
当使用圆测量时,是符合了ISO标准中的在任意一个正截面上,使用“两点直径”的计算方式,输出最大值和最小值,这样也符合在实际要素的任意正截面上,两对应点之间测得的距离的要求。但是,在三坐标软件在计算时,因为圆是二维元素,需要先投影到一个基准的平面上,此时,通过投影到基准面的话,又与我们的独立原则相违背,也就是当基准面发生弯曲、倾斜等情况时,输出的结果就不单单只与这个孔有关,还与基准面的情况有关。
所以,需要先确定这个投影面是只与这个孔有关,可以先找正孔的轴心线作为投影方向,确定与该孔轴心线垂直的平面作为投影面。然后再使用圆尺寸测量,输出圆的“两点直径”,也就是最大最小值,当这两个值都在公差范围之内,即为合格。
具体操作如下:
(1)粗建坐标系
(2)自动测量平面
(3)自动测量圆柱
最少测量2个截面,每个截面5个触测点。
(4)构造相交点作为Z轴原点
(5)建立坐标系
圆柱找正第一轴,选择X、Y原点为圆柱,圆柱和上表面相交一个点。以确定z值的坐标。
(6)在圆柱上定义圆,设置参数自动测量。
(7)圆的直径输出
圆的算法可以根据程序进行选择,有4种算法可供选择:
最小外接圆:(最小覆盖圆)将所有的测量点都包含在圆内,直径最小的那个圆。
最大内接圆:(最大空圆)所有测量点都在圆外,直径最大的那个圆。
最小区域圆:(最小半径)从这个圆的圆心出发,画两个同心圆,将所有测量点都包含在这
两个同心圆内,在所有符合上面条件的同心圆中,径向距离最小的那一组。
最小二乘圆:(最小平方差)所有测量点到该圆的距离平方和最小。
实际中应用最多的是最小平方差,给出的为参数的平均值,计算方便,同时个别点的偏差对测量结果影响不大。
在配合中,为了顺利进入装配,轴的尺寸应采用最小覆盖圆,而最小半径,主要用于形状差的评定。
切比雪夫算法DMIS语句
最小区域圆直径:
最小二乘DMIS语句:
根据测量出的结果,判定此尺寸不合格。
最大直径:
$$/* Header
DMISMN/'Created by [爱科腾瑞科技(北京)有限公司-091520-DEMO] on Friday, March 27, 2020', 4.0
UNITS/MM, ANGDEC, MMPS
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/ON
FLY/1.0000
MODE/MAN
SNSET/APPRCH, 2.0000
SNSET/RETRCT, 2.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, 20.0000
RECALL/D(MCS)
SNSLCT/S(L20-D2.0)
GEOALG/BF, LSTSQR
GEOALG/ANGLB, DEFALT
GEOALG/CIRCLE, LSTSQR
GEOALG/ARC, LSTSQR
GEOALG/PLANE, LSTSQR
$$
$$
$$*/
MODE/MAN
F(PLN1)=FEAT/PLANE,CART,-0.9183,-2.0362,0.0000,0.0000,0.0000,1.0000
$$ Measurement points are created through actual points
MEAS/PLANE, F(PLN1), 3
PTMEAS/CART, -2.4326, 19.4110, -0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -17.5282, -11.5539, -0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 17.2058, -13.9657, -0.0000, 0.0000, 0.0000, 1.0000
ENDMES
F(CIR1)=FEAT/CIRCLE,INNER,CART,0.0000,0.0000,-4.3616,0.0000,0.0000,1.0000, 30.0000
$$ Measurement points are created through actual points
MEAS/CIRCLE, F(CIR1), 3
PTMEAS/CART, -2.6514, 14.7638, -4.3616, 0.1768, -0.9843, -0.0000
PTMEAS/CART, 14.2708, 4.6199, -4.3616, -0.9514, -0.3080, -0.0000
PTMEAS/CART, 0.4888, -14.9920, -4.3616, -0.0326, 0.9995, -0.0000
ENDMES
D(CRD1) = DATSET/FA(PLN1), ZDIR, ZORIG
D(CRD1) = TRANS/ZORIG, -0, YORIG, FA(CIR1), XORIG, 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, 2003
M(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
ENDMAC
SNSET/APPRCH, 2.0000
SNSET/RETRCT, 2.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, FA(PLN1), 20.0000
F(PLN2)=FEAT/PLANE,CART,0.0000,13.5431,0.0000,0.0000,0.0000,1.0000
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 0.3910, -11.9936, 21.0000
MEAS/PLANE, F(PLN2), 10
GOTO/CART, 0.3910, -11.9936, 21.0000
GOTO/CART, 20.0000, 0.0000, 21.0000
PTMEAS/CART, 20.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 16.1054, 11.8582, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 5.9384, 19.0980, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -6.5414, 18.9000, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -16.4735, 11.3412, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -19.9899, -0.6346, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -15.7211, -12.3632, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, -5.3295, -19.2768, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 7.1377, -18.6830, 0.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 16.8251, -10.8128, 0.0000, 0.0000, 0.0000, 1.0000
ENDMES
F(CYL1)=FEAT/CYLNDR,INNER,CART,0.0000,-0.0000,-10.0000,-0.0000,0.0000,1.0000, 30.0000, 20.0000
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 12.0000, -0.0000, -14.5821
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 3.7082, -11.4127, -3.9246
MEAS/CYLNDR, F(CYL1), 10
PTMEAS/CART, 15.0000, -0.0000, -14.5821, -1.0000, -0.0000, -0.0000
GOTO/ARC, 3.7082, 11.4127, -14.5821, 9.7082, 7.0534, -14.5821
PTMEAS/CART, 4.6353, 14.2658, -14.5821, -0.3090, -0.9511, 0.0000
GOTO/ARC, -9.7082, 7.0534, -14.5821, -3.7082, 11.4127, -14.5821
PTMEAS/CART, -12.1353, 8.8168, -14.5821, 0.8090, -0.5878, 0.0000
GOTO/ARC, -9.7082, -7.0534, -14.5821, -12.0000, -0.0000, -14.5821
PTMEAS/CART, -12.1353, -8.8168, -14.5821, 0.8090, 0.5878, -0.0000
GOTO/ARC, 3.7082, -11.4127, -14.5821, -3.7082, -11.4127, -14.5821
PTMEAS/CART, 4.6353, -14.2658, -14.5821, -0.3090, 0.9511, -0.0000
PTMEAS/CART, 4.6353, -14.2658, -3.9246, -0.3090, 0.9511, -0.0000
GOTO/ARC, -9.7082, -7.0534, -3.9246, -3.7082, -11.4127, -3.9246
PTMEAS/CART, -12.1353, -8.8168, -3.9246, 0.8090, 0.5878, -0.0000
GOTO/ARC, -9.7082, 7.0534, -3.9246, -12.0000, -0.0000, -3.9246
PTMEAS/CART, -12.1353, 8.8168, -3.9246, 0.8090, -0.5878, 0.0000
GOTO/ARC, 3.7082, 11.4127, -3.9246, -3.7082, 11.4127, -3.9246
PTMEAS/CART, 4.6353, 14.2658, -3.9246, -0.3090, -0.9511, 0.0000
GOTO/ARC, 12.0000, -0.0000, -3.9246, 9.7082, 7.0534, -3.9246
PTMEAS/CART, 15.0000, -0.0000, -3.9246, -1.0000, -0.0000, -0.0000
ENDMES
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 12.0000, -0.0000, -3.9246
F(PT_INTER1)=FEAT/POINT,CART,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000
CONST/POINT,F(PT_INTER1),INTOF,FA(PLN2),FA(CYL1)
D(CRD2) = DATSET/FA(CYL1), ZDIR
D(CRD2) = TRANS/ZORIG, FA(PT_INTER1), YORIG, FA(CYL1), XORIG, FA(CYL1)
MODE/PROG,MAN
SNSET/APPRCH, 2.0000
SNSET/RETRCT, 2.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, FA(PLN2), 20.0000
F(CIR2)=FEAT/CIRCLE,INNER,CART,0.0001,0.0000,-3.0000,0.0000,0.0000,1.0000, 30.0000
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 12.0001, 0.0000, 21.0000
MEAS/CIRCLE, F(CIR2), 32
GOTO/CART, 12.0001, 0.0000, 21.0000
GOTO/CART, 12.0001, 0.0000, 21.0000
GOTO/CART, 12.0001, 0.0000, 17.0000
PTMEAS/CART, 15.0001, 0.0000, -3.0000, -1.0000, 0.0000, 0.0000
PTMEAS/CART, 14.7118, -2.9264, -3.0000, -0.9808, 0.1951, 0.0000
PTMEAS/CART, 13.8582, -5.7403, -3.0000, -0.9239, 0.3827, 0.0000
PTMEAS/CART, 12.4721, -8.3336, -3.0000, -0.8315, 0.5556, 0.0000
PTMEAS/CART, 10.6067, -10.6066, -3.0000, -0.7071, 0.7071, 0.0000
PTMEAS/CART, 8.3336, -12.4720, -3.0000, -0.5556, 0.8315, 0.0000
PTMEAS/CART, 5.7403, -13.8582, -3.0000, -0.3827, 0.9239, 0.0000
PTMEAS/CART, 2.9264, -14.7118, -3.0000, -0.1951, 0.9808, 0.0000
PTMEAS/CART, 0.0001, -15.0000, -3.0000, 0.0000, 1.0000, 0.0000
PTMEAS/CART, -2.9263, -14.7118, -3.0000, 0.1951, 0.9808, 0.0000
PTMEAS/CART, -5.7402, -13.8582, -3.0000, 0.3827, 0.9239, 0.0000
PTMEAS/CART, -8.3335, -12.4720, -3.0000, 0.5556, 0.8315, -0.0000
PTMEAS/CART, -10.6065, -10.6066, -3.0000, 0.7071, 0.7071, -0.0000
PTMEAS/CART, -12.4720, -8.3336, -3.0000, 0.8315, 0.5556, 0.0000
PTMEAS/CART, -13.8581, -5.7403, -3.0000, 0.9239, 0.3827, 0.0000
PTMEAS/CART, -14.7117, -2.9264, -3.0000, 0.9808, 0.1951, 0.0000
PTMEAS/CART, -14.9999, -0.0000, -3.0000, 1.0000, 0.0000, 0.0000
PTMEAS/CART, -14.7117, 2.9264, -3.0000, 0.9808, -0.1951, 0.0000
PTMEAS/CART, -13.8581, 5.7403, -3.0000, 0.9239, -0.3827, 0.0000
PTMEAS/CART, -12.4720, 8.3336, -3.0000, 0.8315, -0.5556, 0.0000
PTMEAS/CART, -10.6065, 10.6066, -3.0000, 0.7071, -0.7071, 0.0000
PTMEAS/CART, -8.3335, 12.4720, -3.0000, 0.5556, -0.8315, -0.0000
PTMEAS/CART, -5.7402, 13.8582, -3.0000, 0.3827, -0.9239, 0.0000
PTMEAS/CART, -2.9263, 14.7118, -3.0000, 0.1951, -0.9808, 0.0000
PTMEAS/CART, 0.0001, 15.0000, -3.0000, 0.0000, -1.0000, 0.0000
PTMEAS/CART, 2.9264, 14.7118, -3.0000, -0.1951, -0.9808, 0.0000
PTMEAS/CART, 5.7403, 13.8582, -3.0000, -0.3827, -0.9239, 0.0000
PTMEAS/CART, 8.3336, 12.4720, -3.0000, -0.5556, -0.8315, 0.0000
PTMEAS/CART, 10.6067, 10.6066, -3.0000, -0.7071, -0.7071, 0.0000
PTMEAS/CART, 12.4721, 8.3336, -3.0000, -0.8315, -0.5556, 0.0000
PTMEAS/CART, 13.8582, 5.7403, -3.0000, -0.9239, -0.3827, 0.0000
PTMEAS/CART, 14.7118, 2.9264, -3.0000, -0.9808, -0.1951, 0.0000
GOTO/CART, 11.7695, 2.3411, 17.0000
ENDMES
GEOALG/CIRCLE, MINMAX
T(TDM1)=TOL/DIAM,0.0000,0.0210
OUTPUT/FA(CIR2),TA(TDM1)
GEOALG/CIRCLE, LSTSQR
T(TDM2)=TOL/DIAM,0.0000,0.0210
OUTPUT/FA(CIR2),TA(TDM2)
GEOALG/CIRCLE, MAXINS
T(TDM3)=TOL/DIAM,0.0000,0.0210
OUTPUT/FA(CIR2),TA(TDM3)