$$/* Header
DMISMN/'Created by [爱科腾瑞科技(北京)有限公司-091520-DEM] on Friday, April 17, 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, 2.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, 15.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
SNSLCT/S(L20-D2.0_A90_B90)
F(MA_CIR_A)=FEAT/CIRCLE,INNER,CART,5.2856,0.0000,0.0000,-1.0000,-0.0000,-0.0000, 50.0000
$$ Measurement points are created through actual points
MEAS/CIRCLE, F(MA_CIR_A), 4
PTMEAS/CART, 5.2856, -1.2147, -24.9705, -0.0000, 0.0486, 0.9988
PTMEAS/CART, 5.2856, 24.2045, -6.2564, -0.0000, -0.9682, 0.2503
PTMEAS/CART, 5.2856, 3.9194, 24.6909, -0.0000, -0.1568, -0.9876
PTMEAS/CART, 5.2856, -24.2862, -5.9312, -0.0000, 0.9714, 0.2372
ENDMES
SNSLCT/S(L20-D2.0_A90_NB90)
F(MA_CIR_B)=FEAT/CIRCLE,INNER,CART,142.6636,0.0000,0.0000,1.0000,0.0000,0.0000, 40.0000
$$ Measurement points are created through actual points
MEAS/CIRCLE, F(MA_CIR_B), 4
PTMEAS/CART, 142.6636, 19.1749, -5.6853, -0.0000, -0.9587, 0.2843
PTMEAS/CART, 142.6636, -5.5074, 19.2268, -0.0000, 0.2754, -0.9613
PTMEAS/CART, 142.6636, -17.8849, -8.9516, -0.0000, 0.8942, 0.4476
PTMEAS/CART, 142.6636, 6.5121, -18.9101, -0.0000, -0.3256, 0.9455
ENDMES
$$ 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),(MA_CIR_A),(MA_CIR_B),(LN_BF1), 0.0000, 0.0000, 1.0000
CONST/LINE,F(LN_BF1),BF,FA(MA_CIR_A),FA(MA_CIR_B)
D(CRD1) = DATSET/FA(LN_BF1), XDIR
F(MA_PLA)=FEAT/PLANE,CART,69.6864,-1.5885,33.0000,0.0000,0.0000,1.0000
$$ Measurement points are created through actual points
MEAS/PLANE, F(MA_PLA), 4
PTMEAS/CART, 35.1832, 24.1289, 33.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 27.7671, -26.4117, 33.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 99.6486, -29.5309, 33.0000, 0.0000, 0.0000, 1.0000
PTMEAS/CART, 116.1468, 25.4596, 33.0000, 0.0000, 0.0000, 1.0000
ENDMES
D(CRD2) = ROTATE/XAXIS, FA(MA_PLA), ZDIR
F(MA_PLA_A)=FEAT/PLANE,CART,0.0000,-5.1135,10.1990,-1.0000,0.0000,-0.0000
$$ Measurement points are created through actual points
MEAS/PLANE, F(MA_PLA_A), 4
PTMEAS/CART, 0.0000, 17.5802, 41.3201, -1.0000, 0.0000, -0.0000
PTMEAS/CART, 0.0000, -37.4262, 19.6778, -1.0000, 0.0000, -0.0000
PTMEAS/CART, 0.0000, -42.7460, -3.2492, -1.0000, 0.0000, -0.0000
PTMEAS/CART, 0.0000, 42.1381, -16.9528, -1.0000, 0.0000, -0.0000
ENDMES
D(CRD3) = TRANS/XORIG, FA(MA_PLA_A), YORIG, FA(LN_BF1), ZORIG, FA(LN_BF1)