DMISMN/'Created by [山涧果子] on 星期六, 七月 15, 2017', 4.0
UNITS/MM, ANGDEC
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/ON
FLY/1.000000
MODE/PROG, MAN
SNSET/APPRCH, 3.000000
SNSET/RETRCT, 3.000000
SNSET/DEPTH, 0.000000
SNSET/SEARCH, 10.000000
SNSET/CLRSRF, 30.000000
RECALL/D(MCS)
SNSLCT/S(ROOTSN1)
GEOALG/CIRCLE, LSTSQR
GEOALG/ARC, LSTSQR
GEOALG/PLANE, LSTSQR
$$
$$
(MENU)
DECL/COMMON,INTGR,V1,V2,V3,V4,V5,V6
Lenovo = PROMPT/TITLE,'山涧果子 ',TEXT,'构建坐标系,模型对齐!',CHECK,'1',$
V1,TEXT,'测量中心大圆!',CHECK,'2',V2,TEXT,'测量均布四个小圆!',CHECK,'3',$
V3,TEXT,'测量圆键槽!',CHECK,'4',V4,TEXT,'测量点集',CHECK,'5',V5,TEXT,$
'退出(结束测量)',CHECK,'6',V6
IF/(V1.EQ.1)
JUMPTO/(ALIGNMENT)
ELSE
IF/(V2.EQ.1)
JUMPTO/(SMALL_CIRCLES)
ELSE
IF/(V3.EQ.1)
JUMPTO/(LARGE_CIRCLE)
ELSE
IF/(V4.EQ.1)
JUMPTO/(ROUND_SLOT)
ELSE
IF/(V5.EQ.1)
JUMPTO/(POINTS)
ELSE
IF/(V6.EQ.1)
JUMPTO/(END)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
(ALIGNMENT)
MODE/MAN
F(PLN1) = FEAT/PLANE,CART, 32.082523, 76.014419, 62.490748, 0.000181,$
-0.000070, 1.000000
$$ Measurement points are created through actual points
MEAS/PLANE, F(PLN1), 4
PTMEAS/CART, 4.050106, 43.806519, 62.493564, 0.000181, -0.000070, 1.000000
PTMEAS/CART, 52.285087, 43.221539, 62.484785, 0.000181, -0.000070, 1.000000
PTMEAS/CART, 53.696995, 96.819366, 62.488293, 0.000181, -0.000070, 1.000000
PTMEAS/CART, 18.297903, 120.210251, 62.496349, 0.000181, -0.000070, 1.000000
ENDMES
OUTPUT/FA(PLN1)
F(LN1) = FEAT/LINE,BND,CART, 1.957149, -0.000029, 43.501493, 42.885566,$
-0.000049, 44.036092, 0.000000, -1.000000, -0.000070
$$ Measurement points are created through actual points
MEAS/LINE, F(LN1), 2
PTMEAS/CART, 1.957149, -0.000029, 43.501493, 0.000000, -1.000000, -0.000070
PTMEAS/CART, 42.885566, -0.000049, 44.036092, 0.000000, -1.000000, -0.000070
ENDMES
OUTPUT/FA(LN1)
F(LN2) = FEAT/LINE,BND,CART, 0.000000, 43.615447, 60.500315, 0.000000,$
106.140746, 57.549547, -1.000000, 0.000009, 0.000181
$$ Measurement points are created through actual points
MEAS/LINE, F(LN2), 2
PTMEAS/CART, -0.000000, 43.615447, 60.500315, -1.000000, 0.000009, 0.000181
PTMEAS/CART, -0.000000, 106.140746, 57.549547, -1.000000, 0.000009, 0.000181
ENDMES
OUTPUT/FA(LN2)
F(PT_INTER1) = FEAT/POINT,CART, 0.124329, 0.449182, 52.997723, -0.013046,$
0.047137, 0.998803
CONST/POINT, F(PT_INTER1), INTOF, FA(LN1), FA(LN2)
OUTPUT/FA(PT_INTER1)
D(CRD1) = DATSET/FA(PLN1), ZDIR, ZORIG, FA(LN1), XDIR, YORIG, FA(PT_INTER1),$
XORIG
D(CRD1) = TRANS/ZORIG, -62.5000, YORIG, -0, XORIG, -0
$$ Set.CAD2PCS.CADM_1
$$ Set.CADViewCenter.CADM_1
JUMPTO/(MENU)
MODE/PROG,MAN
(SMALL_CIRCLES)
$$ 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/GOTO, XAXIS
CURY = VALUE/GOTO, YAXIS
CURZ = VALUE/GOTO, 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, 3.0000
SNSET/RETRCT, 3.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, F(PLN1), 30.0000
F(SMALL_CIRCLES) = FEAT/CIRCLE,INNER,CART, 29.629035, 95.494885, 62.485214,$
0.000357, -0.000101, 1.000000, 25.391735
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, -4.993488, 106.138230, 93.499581
MEAS/CIRCLE, F(SMALL_CIRCLES), 4
GOTO/CART, -4.993488, 106.138230, 93.499581
GOTO/CART, 38.335798, 95.491789, 93.490984
GOTO/CART, 38.335615, 95.491860, 92.482107
PTMEAS/CART, 42.324902, 95.494886, 62.480681, -1.000000, 0.000000, 0.000400
GOTO/CART, 37.662968, 92.167121, 62.482010
GOTO/CART, 35.777942, 89.345979, 62.482398
GOTO/CART, 32.956799, 87.460951, 62.483216
PTMEAS/CART, 29.629035, 82.799018, 62.483934, 0.000000, 1.000000, 0.000100
GOTO/CART, 26.301271, 87.460951, 62.485592
GOTO/CART, 23.480129, 89.345978, 62.486790
GOTO/CART, 21.595101, 92.167120, 62.487748
PTMEAS/CART, 16.933168, 95.494884, 62.489748, 1.000000, 0.000000, -0.000400
GOTO/CART, 21.595101, 98.822649, 62.488419
GOTO/CART, 23.480128, 101.643791, 62.488030
GOTO/CART, 26.301270, 103.528819, 62.487213
PTMEAS/CART, 29.629034, 108.190752, 62.486495, 0.000000, -1.000000, -0.000100
GOTO/CART, 29.639748, 104.187727, 92.486089
ENDMES
OUTPUT/FA(SMALL_CIRCLES)
JUMPTO/(MENU)
(LARGE_CIRCLE)
SNSET/APPRCH, 3.0000
SNSET/RETRCT, 3.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, F(PLN1), 30.0000
F(LARGE_CIRCLE1) = FEAT/CIRCLE,INNER,CART, 47.599750, 77.533498, 62.483527,$
-0.001170, -0.000997, 0.999999, 9.526483
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 29.639930, 104.187656, 93.493170
MEAS/CIRCLE, F(LARGE_CIRCLE1), 4
GOTO/CART, 29.639930, 104.187656, 93.493170
GOTO/CART, 48.328065, 77.503514, 93.487910
GOTO/CART, 48.327883, 77.503584, 92.484385
PTMEAS/CART, 52.362988, 77.533493, 62.489101, -0.999999, 0.000000, -0.001200
PTMEAS/CART, 47.599751, 72.770259, 62.478778, 0.000000, 1.000000, 0.001000
PTMEAS/CART, 42.836512, 77.533503, 62.477953, 0.999999, 0.000000, 0.001200
PTMEAS/CART, 47.599749, 82.296737, 62.488276, 0.000000, -1.000000, -0.001000
GOTO/CART, 47.564642, 78.266826, 92.484253
ENDMES
OUTPUT/FA(LARGE_CIRCLE1)
F(LARGE_CIRCLE2) = FEAT/CIRCLE,INNER,CART, 47.591675, 113.457218, 62.483108,$
0.000715, -0.001658, 0.999998, 9.521386
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 47.564824, 78.266755, 93.488102
MEAS/CIRCLE, F(LARGE_CIRCLE2), 4
GOTO/CART, 47.564824, 78.266755, 93.488102
GOTO/CART, 48.374009, 113.407395, 93.490424
GOTO/CART, 48.373827, 113.407466, 92.482515
PTMEAS/CART, 52.352367, 113.457224, 62.479703, -1.000000, 0.000000, 0.000700
PTMEAS/CART, 47.591676, 108.696532, 62.475213, 0.000000, 0.999999, 0.001700
PTMEAS/CART, 42.830983, 113.457212, 62.486513, 1.000000, 0.000000, -0.000700
PTMEAS/CART, 47.591675, 118.217904, 62.491003, 0.000000, -0.999999, -0.001700
GOTO/CART, 47.613134, 114.168157, 92.484320
ENDMES
OUTPUT/FA(LARGE_CIRCLE2)
F(LARGE_CIRCLE3) = FEAT/CIRCLE,INNER,CART, 11.672732, 113.459471, 62.495001,$
0.000610, -0.000461, 1.000000, 9.517758
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 47.613316, 114.168086, 93.490615
MEAS/CIRCLE, F(LARGE_CIRCLE3), 4
GOTO/CART, 47.613316, 114.168086, 93.490615
GOTO/CART, 12.450083, 113.445569, 93.496934
GOTO/CART, 12.449902, 113.445639, 92.494530
PTMEAS/CART, 16.431610, 113.459472, 62.492100, -1.000000, 0.000000, 0.000600
PTMEAS/CART, 11.672732, 108.700593, 62.492807, 0.000000, 1.000000, 0.000500
PTMEAS/CART, 6.913854, 113.459470, 62.497903, 1.000000, 0.000000, -0.000600
PTMEAS/CART, 11.672733, 118.218349, 62.497196, -0.000000, -1.000000,$
-0.000500
GOTO/CART, 11.691023, 114.204518, 92.495343
ENDMES
OUTPUT/FA(LARGE_CIRCLE3)
F(LARGE_CIRCLE4) = FEAT/CIRCLE,INNER,CART, 11.664848, 77.534322, 62.489405,$
0.000340, -0.000125, 1.000000, 9.511912
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 11.691204, 114.204448, 93.497125
MEAS/CIRCLE, F(LARGE_CIRCLE4), 4
GOTO/CART, 11.691204, 114.204448, 93.497125
GOTO/CART, 12.431179, 77.530504, 93.494415
GOTO/CART, 12.430997, 77.530575, 92.489146
PTMEAS/CART, 16.420804, 77.534322, 62.487789, -1.000000, 0.000000, 0.000300
PTMEAS/CART, 11.664848, 72.778366, 62.488811, 0.000000, 1.000000, 0.000100
PTMEAS/CART, 6.908893, 77.534322, 62.491021, 1.000000, 0.000000, -0.000300
PTMEAS/CART, 11.664849, 82.290278, 62.489999, -0.000000, -1.000000, -0.000100
GOTO/CART, 11.675041, 78.286531, 92.489498
ENDMES
OUTPUT/FA(LARGE_CIRCLE4)
JUMPTO/(MENU)
(ROUND_SLOT)
SNSET/APPRCH, 3.0000
SNSET/RETRCT, 3.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, F(PLN1), 30.0000
F(SLT1) = FEAT/CPARLN,INNER,ROUND,CART, 30.052095, 54.653468, 62.480866,$
0.000308, -0.000098, 1.000000, 0.999991, 0.004228, -0.000307, 50.125917,$
12.769768
$$ Measurement points are created through nominal points
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 11.675223, 78.286460, 93.494605
MEAS/CPARLN, F(SLT1), 6
GOTO/CART, 11.675223, 78.286460, 93.494605
GOTO/CART, 39.382356, 58.075626, 93.488166
PTMEAS/CART, 39.364055, 61.077777, 62.478631, 0.004200, -0.999991, -0.000100
PTMEAS/CART, 20.686148, 60.998812, 62.484374, 0.004200, -0.999991, -0.000100
PTMEAS/CART, 4.989361, 54.547509, 62.488572, 0.999991, 0.004200, -0.000300
PTMEAS/CART, 20.740134, 48.229158, 62.483101, -0.004200, 0.999991, 0.000100
PTMEAS/CART, 39.418042, 48.308123, 62.477358, -0.004200, 0.999991, 0.000100
PTMEAS/CART, 55.114828, 54.759426, 62.473160, -0.999991, -0.004200, 0.000300
ENDMES
OUTPUT/FA(SLT1)
JUMPTO/(MENU)
(POINTS)
SNSET/APPRCH, 3.0000
SNSET/RETRCT, 3.0000
SNSET/DEPTH, 0.0000
SNSET/SEARCH, 10.0000
SNSET/CLRSRF, F(PLN1), 30.0000
F(PT1) = FEAT/POINT,CART, 19.685307, 16.177397, 62.488791, 0.000181,$
-0.000070, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 19.686031, 16.177116, 66.488791
MEAS/POINT, F(PT1), 1
GOTO/CART, 19.690922, 16.175219, 93.488791
PTMEAS/CART, 19.685307, 16.177397, 62.488791, 0.000181, -0.000070, 1.000000
ENDMES
F(PT2) = FEAT/POINT,CART, 5.136687, 44.584263, 62.486866, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 5.138136, 44.583701, 66.486866
MEAS/POINT, F(PT2), 1
GOTO/CART, 5.143029, 44.581804, 93.493421
PTMEAS/CART, 5.136687, 44.584263, 62.486866, 0.000362, -0.000140, 1.000000
ENDMES
F(PT3) = FEAT/POINT,CART, 51.539172, 44.140194, 62.469991, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 51.540621, 44.139633, 66.469991
MEAS/POINT, F(PT3), 1
GOTO/CART, 51.545515, 44.137735, 93.484984
PTMEAS/CART, 51.539172, 44.140194, 62.469991, 0.000362, -0.000140, 1.000000
ENDMES
F(PT4) = FEAT/POINT,CART, 52.484192, 87.793770, 62.475781, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 52.485641, 87.793208, 66.475781
MEAS/POINT, F(PT4), 1
GOTO/CART, 52.490534, 87.791311, 93.487879
PTMEAS/CART, 52.484192, 87.793770, 62.475781, 0.000362, -0.000140, 1.000000
ENDMES
F(PT5) = FEAT/POINT,CART, 36.424607, 116.441673, 62.485624, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 36.426056, 116.441111, 66.485623
MEAS/POINT, F(PT5), 1
GOTO/CART, 36.430948, 116.439214, 93.492800
PTMEAS/CART, 36.424607, 116.441673, 62.485624, 0.000362, -0.000140, 1.000000
ENDMES
F(PT6) = FEAT/POINT,CART, 9.062191, 95.266464, 62.492563, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 9.063640, 95.265902, 66.492563
MEAS/POINT, F(PT6), 1
GOTO/CART, 9.068532, 95.264006, 93.496270
PTMEAS/CART, 9.062191, 95.266464, 62.492563, 0.000362, -0.000140, 1.000000
ENDMES
F(PT7) = FEAT/POINT,CART, 30.077091, 70.954735, 62.481534, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 30.078540, 70.954173, 66.481534
MEAS/POINT, F(PT7), 1
GOTO/CART, 30.083433, 70.952276, 93.490755
PTMEAS/CART, 30.077091, 70.954735, 62.481534, 0.000362, -0.000140, 1.000000
ENDMES
F(PT8) = FEAT/POINT,CART, 25.303820, 116.631279, 62.489680, 0.000362,$
-0.000140, 1.000000
$$ CALL/M(EASI_CLEARPLN_GOTO), 0, 25.305269, 116.630717, 66.489679
MEAS/POINT, F(PT8), 1
GOTO/CART, 25.310161, 116.628820, 93.494828
PTMEAS/CART, 25.303820, 116.631279, 62.489680, 0.000362, -0.000140, 1.000000
ENDMES
JUMPTO/(MENU)
(END)