其他分享
首页 > 其他分享> > RationalDMIS 2020 短直线角度评价

RationalDMIS 2020 短直线角度评价

作者:互联网

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

RationalDMIS V2020  自动测量直线(DCC直线)

短直线测量时,采样范围过小导致的测量结果准确性降低

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

图1

 

短直线夹角和距离的测量时,由于采样范围过小,造成采样信息量明显减少,而且测量长度越短,信息量损失越大,测量误差放大倍数越大。

 

 

对短直线进行测量时,要注意图纸上元素的关联。

 

要测量2条短直线的角度,如图1所示,如用常规的直接测量2条短直线求夹角的方法,由于直线太短、采点距离过近,造成求解直线时误差放大,再由直线求夹角时结果自然就很不准确。

 

对图纸进行仔细分析,发现2条短直线的交点正好位于小圆孔的中心点上,把中心点引入来构造2条直线,就能解决短直线夹角的测量问题。

 

 

具体方法:

 

   在三坐标测量软件自动方式下执行矢量点功能,先在1条短直线上打1点,与圆孔中心点一起构造1条直线,然后同样在另1条短直线上打1点,再与圆孔中心点一起构造1条直线,2条直线夹角即为所求。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

MODE/MAN

F(PLN1)=FEAT/PLANE,CART,1.8273,-9.5101,0.0000,0.0000,0.0000,1.0000

$$ Measurement points are created through actual points

MEAS/PLANE, F(PLN1), 4

  PTMEAS/CART, -37.1704,  26.3847, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART, -25.6965, -45.1886, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART,  25.9519, -43.1920, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART,  44.2242,  23.9556, 0.0000, 0.0000, 0.0000, 1.0000

ENDMES

D(CRD1) = DATSET/FA(PLN1), ZDIR

F(CIR1)=FEAT/CIRCLE,OUTER,CART,0.0000,0.0000,-3.9721,0.0000,0.0000,1.0000, 120.0000

$$ Measurement points are created through actual points

MEAS/CIRCLE, F(CIR1), 4

  PTMEAS/CART,  20.9801, -56.2124, -3.9721,  0.3497, -0.9369, 0.0000

  PTMEAS/CART,  54.0598,  26.0295, -3.9721,  0.9010,  0.4338, 0.0000

  PTMEAS/CART, -26.0961,  54.0277, -3.9721, -0.4349,  0.9005, 0.0000

  PTMEAS/CART, -55.3186, -23.2347, -3.9721, -0.9220, -0.3872, 0.0000

ENDMES

PRCOMP/OFF

F(PT1)=FEAT/POINT,CART,57.7147,-7.5966,-4.5289,0.1305,0.9914,0.0000

MEAS/POINT, F(PT1), 1

  PTMEAS/CART, 57.8452,-6.6051,-4.5289,0.1305,0.9914,0.0000

ENDMES

F(PT2)=FEAT/POINT,CART,57.5978,10.6768,-6.3648,0.1823,-0.9832,0.0000

MEAS/POINT, F(PT2), 1

  PTMEAS/CART, 57.7801,9.6936,-6.3648,0.1823,-0.9832,0.0000

ENDMES

F(PT_MID1)=FEAT/POINT,CART,57.6563,1.5401,-5.4469,0.0000,0.0000,1.0000

CONST/POINT, F(PT_MID1), MIDPT, FA(PT1), FA(PT2), PTPT, NOREDUCE

 

$$ CREATED BY : External-Array Software, Inc

$$ DATE : Jan 19, 2009

$$ DISLAIMER: 

$$ This Macro has been tested internally but not been tested with

$$ other DMIS compatible software. This Macro is provided as sample

$$ and can be modifed for your own use. External-Array doesn't not 

$$ guarantee the quality of this Macro.

 

$$ FUNCION: Create a nominal line using two actual features

$$DI, DJ, DK are the normal vector of the plane that the line lies on

 

M(EASI_2PT_TO_LINE) = Macro/'FEAT1', 'FEAT2', 'FEATLINE', DI, DJ, DK

DECL/LOCAL,DOUBLE,DVALUE[6]

    DECL/LOCAL,INTGR, INDEX1, INDEX2

    

    CALL/M(EASI_GETX_INDEX), FEAT1, INDEX1

    CALL/M(EASI_GETX_INDEX), FEAT2, INDEX2

    

DVALUE[1] = OBTAIN/FA(@FEAT1),INDEX1

DVALUE[2] = OBTAIN/FA(@FEAT1),INDEX1+1

DVALUE[3] = OBTAIN/FA(@FEAT1),INDEX1+2

      

DVALUE[4] = OBTAIN/FA(@FEAT2),INDEX2

DVALUE[5] = OBTAIN/FA(@FEAT2),INDEX2+1

DVALUE[6] = OBTAIN/FA(@FEAT2),INDEX2+2

      

    F(@FEATLINE) = FEAT/LINE,BND,CART,DVALUE[1],DVALUE[2],DVALUE[3],$

                                      DVALUE[4],DVALUE[5],DVALUE[6],$

                                      DI, DJ, DK

ENDMAC

 

CALL/M(EASI_2PT_TO_LINE),(CIR1),(PT_MID1),(LN_BF1), 0.0000, 0.0000, 1.0000

CONST/LINE,F(LN_BF1),BF,FA(CIR1),FA(PT_MID1)

D(CRD2) = DATSET/FA(PLN1), ZDIR, ZORIG, FA(LN_BF1), XDIR, FA(CIR1), XORIG

D(CRD2) = TRANS/ZORIG, -0, YORIG, FA(CIR1), XORIG, -0

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

总之,短直线的测量要尽量避免将短直线延长后在求值,就不会放大误差的错误结果,而测量思路是①要么把短直线缩小为一个点来处理②要么把短直线和理论上与短直线同一直线的点,虚拟成长直线来处理,当然具体方法可多种多样,要就事论是来分析,提出切合实际的方法。 

 

 

$$/*  Header

DMISMN/'Created by [爱科腾瑞科技(北京)有限公司-091521-DEMO-11022(华清)] on 星期二, 三月 30, 2021', 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(40-D2)

GEOALG/BF, LSTSQR

GEOALG/ANGLB, DEFALT

GEOALG/CIRCLE, LSTSQR

GEOALG/ARC, LSTSQR

GEOALG/PLANE, LSTSQR

$$

$$

$$*/

MODE/MAN

F(PLN1)=FEAT/PLANE,CART,1.8273,-9.5101,0.0000,0.0000,0.0000,1.0000

$$ Measurement points are created through actual points

MEAS/PLANE, F(PLN1), 4

  PTMEAS/CART, -37.1704,  26.3847, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART, -25.6965, -45.1886, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART,  25.9519, -43.1920, 0.0000, 0.0000, 0.0000, 1.0000

  PTMEAS/CART,  44.2242,  23.9556, 0.0000, 0.0000, 0.0000, 1.0000

ENDMES

D(CRD1) = DATSET/FA(PLN1), ZDIR

F(CIR1)=FEAT/CIRCLE,OUTER,CART,0.0000,0.0000,-3.9721,0.0000,0.0000,1.0000, 120.0000

$$ Measurement points are created through actual points

MEAS/CIRCLE, F(CIR1), 4

  PTMEAS/CART,  20.9801, -56.2124, -3.9721,  0.3497, -0.9369, 0.0000

  PTMEAS/CART,  54.0598,  26.0295, -3.9721,  0.9010,  0.4338, 0.0000

  PTMEAS/CART, -26.0961,  54.0277, -3.9721, -0.4349,  0.9005, 0.0000

  PTMEAS/CART, -55.3186, -23.2347, -3.9721, -0.9220, -0.3872, 0.0000

ENDMES

PRCOMP/OFF

F(PT1)=FEAT/POINT,CART,57.7147,-7.5966,-4.5289,0.1305,0.9914,0.0000

MEAS/POINT, F(PT1), 1

  PTMEAS/CART, 57.8452,-6.6051,-4.5289,0.1305,0.9914,0.0000

ENDMES

F(PT2)=FEAT/POINT,CART,57.5978,10.6768,-6.3648,0.1823,-0.9832,0.0000

MEAS/POINT, F(PT2), 1

  PTMEAS/CART, 57.7801,9.6936,-6.3648,0.1823,-0.9832,0.0000

ENDMES

F(PT_MID1)=FEAT/POINT,CART,57.6563,1.5401,-5.4469,0.0000,0.0000,1.0000

CONST/POINT, F(PT_MID1), MIDPT, FA(PT1), FA(PT2), PTPT, NOREDUCE

 

$$ CREATED BY : External-Array Software, Inc

$$ DATE : Jan 19, 2009

$$ DISLAIMER: 

$$ This Macro has been tested internally but not been tested with

$$ other DMIS compatible software. This Macro is provided as sample

$$ and can be modifed for your own use. External-Array doesn't not 

$$ guarantee the quality of this Macro.

 

$$ FUNCION: Create a nominal line using two actual features

$$ DI, DJ, DK are the normal vector of the plane that the line lies on

 

M(EASI_2PT_TO_LINE) = Macro/'FEAT1', 'FEAT2', 'FEATLINE', DI, DJ, DK

DECL/LOCAL,DOUBLE,DVALUE[6]

    DECL/LOCAL,INTGR, INDEX1, INDEX2

    

    CALL/M(EASI_GETX_INDEX), FEAT1, INDEX1

    CALL/M(EASI_GETX_INDEX), FEAT2, INDEX2

    

DVALUE[1] = OBTAIN/FA(@FEAT1),INDEX1

DVALUE[2] = OBTAIN/FA(@FEAT1),INDEX1+1

DVALUE[3] = OBTAIN/FA(@FEAT1),INDEX1+2

      

DVALUE[4] = OBTAIN/FA(@FEAT2),INDEX2

DVALUE[5] = OBTAIN/FA(@FEAT2),INDEX2+1

DVALUE[6] = OBTAIN/FA(@FEAT2),INDEX2+2

      

    F(@FEATLINE) = FEAT/LINE,BND,CART,DVALUE[1],DVALUE[2],DVALUE[3],$

                                      DVALUE[4],DVALUE[5],DVALUE[6],$

                                      DI, DJ, DK

ENDMAC

 

CALL/M(EASI_2PT_TO_LINE),(CIR1),(PT_MID1),(LN_BF1), 0.0000, 0.0000, 1.0000

CONST/LINE,F(LN_BF1),BF,FA(CIR1),FA(PT_MID1)

D(CRD2) = DATSET/FA(PLN1), ZDIR, ZORIG, FA(LN_BF1), XDIR, FA(CIR1), XORIG

D(CRD2) = TRANS/ZORIG, -0, YORIG, FA(CIR1), XORIG, -0

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

PRCOMP/ON

DMESW/COMAND,'CrdType/Pol'

WKPLAN/XYPLAN

F(PT3) = FEAT/POINT,POL, 58.5,-9,-3, 0.1569,0.9876,0

F(PT_MIR1)=FEAT/POINT,POL,58.5000,9.0000,-3.0000,0.1569,-0.9876,0.0000

$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 58.2505, -6.1886, -3.0000

MEAS/POINT, F(PT3), 1

  GOTO/POL, 58.5783,353.9356,21.0000

  PTMEAS/POL, 58.5000,351.0000,-3.0000,0.1569,0.9876,0.0000

ENDMES

$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 58.2505, 6.1886, -3.0000

MEAS/POINT, F(PT_MIR1), 1

  GOTO/POL, 58.5783,6.0644,21.0000

  PTMEAS/POL, 58.5000,9.0000,-3.0000,0.1569,-0.9876,0.0000

ENDMES

DMESW/COMAND,'CrdType/Cart'

F(CIR2)=FEAT/CIRCLE,OUTER,CART,0.0000,-0.0000,-3.0000,0.0000,0.0000,1.0000, 120.0000

$$ Measurement points are created through nominal points

$$ CALL/M(EASI_CLEARPLN_GOTO), 1, 58.2505, 6.1886, 21.0000

MEAS/CIRCLE, F(CIR2), 8

  GOTO/CART,    58.2505,   6.1886, 21.0000

  GOTO/CART,    58.2438,  24.0138, 21.0000

  PTMEAS/CART,  55.4703,  22.8703, -3.0000,  0.9245,  0.3812,  0.0000

  PTMEAS/CART,  26.3733,  53.8929, -3.0000,  0.4396,  0.8982,  0.0000

  PTMEAS/CART, -19.1867,  56.8495, -3.0000, -0.3198,  0.9475,  0.0000

  PTMEAS/CART, -53.9646,  26.2263, -3.0000, -0.8994,  0.4371,  0.0000

  PTMEAS/CART, -56.5179, -20.1427, -3.0000, -0.9420, -0.3357,  0.0000

  PTMEAS/CART, -23.7636, -55.0935, -3.0000, -0.3961, -0.9182, -0.0000

  PTMEAS/CART,  24.2468, -54.8825, -3.0000,  0.4041, -0.9147,  0.0000

  PTMEAS/CART,  53.9641, -26.2274, -3.0000,  0.8994, -0.4371,  0.0000

ENDMES

CALL/M(EASI_2PT_TO_LINE),(CIR2),(PT3),(LN_BF2), 0.1109, 0.6983, 0.7071

CONST/LINE,F(LN_BF2),BF,FA(CIR2),FA(PT3)

CALL/M(EASI_2PT_TO_LINE),(CIR2),(PT_MIR1),(LN_BF3), 0.1109, -0.6983, 0.7071

CONST/LINE,F(LN_BF3),BF,FA(CIR2),FA(PT_MIR1)

T(TANG1)=TOL/ANGLB,18.0000,-0.0100,0.0100,XYPLAN

OUTPUT/FA(LN_BF2),FA(LN_BF3),TA(TANG1)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

标签:直线,DVALUE,PTMEAS,OBTAIN,CART,FA,2020,0.0000,RationalDMIS
来源: https://blog.51cto.com/u_14941238/2903893