DMISMN/''
$$ *** 程序初始段 ***
MODE/MAN
RECALL/D(MAC)
WKPLAN/XYPLAN
UNITS/MM,ANGDEC,TEMPC
DECPL/DIST,4,VEC,8,ANGLE,4,TEMP,1
SCNMOD/OFF
TECOMP/OFF
PRCOMP/ON
PTBUFF/ON
SNSET/SEARCH,10.000
SNSET/APPRCH,4.0000
SNSET/RETRCT,2.0000
SNSET/DEPTH,0.0000
SNSET/CLRSRF,OFF
FLY/5.0000
FEDRAT/MESVEL,MMPS,3.5
FEDRAT/POSVEL,PCENT,0.50
FEDRAT/ROTVEL,PCENT,0.75
FEDRAT/SCNVEL,PCENT,0.75
ACLRAT/MESACL,PCENT,0.75
ACLRAT/POSACL,PCENT,0.75
GEOALG/CPARLN,ROUND
V(TEXT)=VFORM/ALL
V(HTML)=VFORM/DME,'HTM',ALL
V(CSV)=VFORM/DME,'CSV',ALL
V(SPCLIGHT)=VFORM/STAT,'SDD',ALL
V(GENSTAT)=VFORM/STAT,'SDD/L',ALL
V(ARCOSTAT)=VFORM/STAT,'SDD/C',ALL
V(QSSTATQ)=VFORM/STAT,'DFQ',ALL
V(QSSTATD)=VFORM/STAT,'DFD',ALL
V(GRAPHF)=VFORM/DME,'DMG',ALL
V(GRAPHV)=VFORM/DME,'DMG/V',ALL
V(GRAPHP)=VFORM/DME,'DMG/P',ALL
V(GRAPHO)=VFORM/DME,'DMG/O',ALL
V(GRAPHA)=VFORM/DME,'DMG/A',ALL
EQUATE/D(MAC),DA(MAC)
$$ *** 程序初始段结束 ***
SNSLCT/SA(P1_0_0P0_0)
F(SPH_1)=FEAT/SPHERE,OUTER,CART,-252.5257,-2327.5423,-936.4647,110.0374,0.00000000,0.00000000,0.00000000
MEAS/SPHERE,F(SPH_1),10
    PTMEAS/CART,-198.7003,-2329.6166,-925.5115,0.99951838,0.03101609,-0.00100052
    PTMEAS/CART,-254.7578,-2273.1556,-928.3523,0.05303138,0.99859084,-0.00200118
    PTMEAS/CART,-254.6005,-2308.9486,-884.6814,-0.00500452,0.01301175,0.99990282
    PTMEAS/CART,-254.6036,-2337.0407,-882.3092,-0.00500445,0.01401246,0.99988930
    PTMEAS/CART,-254.5988,-2373.0732,-905.3623,-0.02599110,-0.99965768,-0.00299897
    PTMEAS/CART,-254.7128,-2382.4588,-934.1082,0.01499831,-0.99988752,0.00000000
    PTMEAS/CART,-223.2253,-2282.8221,-923.1622,0.36828258,0.92971336,-0.00100077
    PTMEAS/CART,-221.8254,-2310.8909,-893.6377,-0.00800735,0.01000919,0.99991785
    PTMEAS/CART,-221.0137,-2350.7482,-897.3549,-0.00200164,-0.01901554,0.99981718
    PTMEAS/CART,-219.3992,-2371.4031,-930.5871,-0.01699754,-0.99985503,-0.00099986
ENDMES
F(CIR_1)=FEAT/CIRCLE,OUTER,CART,-366.2485,-2324.8875,-936.5048,1.00000000,0.00000000,0.00000000,85
MEAS/CIRCLE,F(CIR_1),5
    PTMEAS/CART,-366.5853,-2368.7723,-934.7392,0.04998748,-0.99874984,0.00000000
    PTMEAS/CART,-366.4854,-2357.8479,-907.2371,0.01500838,-0.26714924,0.96353829
    PTMEAS/CART,-366.4235,-2332.2731,-893.2011,-0.02200805,-0.02801024,0.99936533
    PTMEAS/CART,-365.9002,-2299.9022,-900.1793,0.01201112,0.00200185,0.99992586
    PTMEAS/CART,-365.9018,-2283.5480,-921.4951,-0.00100100,0.99999950,0.00000000
ENDMES
F(LIN_1)=FEAT/LINE,BND,CART,-366.2485,-2324.8875,-936.5048,-252.5257,-2327.5423,-936.4647,0.00000000,0.00000000,1.00000000
CONST/LINE,F(LIN_1),BF,FA(CIR_1),FA(SPH_1)
D(DAT_1) = DATSET/FA(LIN_1),XDIR,YORIG,ZORIG
D(DAT_1) = TRANS/XORIG,FA(SPH_1)
SAVE/DATA

MODE/MAN
WKPLAN/YZPLAN
F(POI_2)=FEAT/POINT,POL,39.7874,174.9718,-391.5642,0.00000000,-1.00000000,0.00000000
MEAS/POINT,F(POI_2),1
    PTMEAS/POL,39.7874,174.9718,-391.5642,0.00000000,-1.00000000,0.00000000
ENDMES

DECL/REAL,LEAD,A1,ASTEP,H1,HSTEP,A0,H0,R0
DECL/INTGR,KK,TOT
LEAD=ASSIGN/6
ASTEP=ASSIGN/-20
HSTEP=ASSIGN/LEAD/360*ABS(ASTEP)
TOT=ASSIGN/9
A0=OBTAIN/FA(POI_2),4
H0=OBTAIN/FA(POI_2),5

MODE/PROG,MAN
SNSET/RETRCT,15.0000
F(CIR_2)=FEAT/CIRCLE,OUTER,CART,-366.2485,0,0,1.00000000,0.00000000,0.00000000,80
MEAS/CIRCLE,F(CIR_2),TOT
DO/KK,1,TOT,1
    A1=ASSIGN/A0+(KK-1)*ASTEP
    PTMEAS/POL,40,A1,H0-(KK-1)*HSTEP,0,COS(DTOR(A1)),SIN(DTOR(A1))
ENDDO
ENDMES

F(LIN_2)=FEAT/LINE,BND,CART,-366.2485,0.0000,0.0000,0.0000,0.0000,0.0000,0.00000000,0.00000000,1.00000000
CONST/LINE,F(LIN_2),BF,FA(CIR_2),FA(SPH_1)
D(DAT_2) = DATSET/FA(LIN_2),XDIR,YORIG,ZORIG
D(DAT_2) = TRANS/XORIG,FA(SPH_1)


$$================================================


SNSET/APPRCH,0.5000
SNSET/RETRCT,0.5000
MODE/MAN
WKPLAN/YZPLAN

F(POI_3)=FEAT/POINT,POL,38.6292,92.2958,-394.1354,-1.00000000,0.00000000,0.00000000
MEAS/POINT,F(POI_3),1
ENDMES
R0=OBTAIN/FA(POI_3),3
A0=OBTAIN/FA(POI_3),4
D(DAT_3) = TRANS/XORIG,FA(POI_3)

MODE/PROG,MAN

DECL/REAL,MAX1,MIN1,PITCH,ERR1,ERR2,M1,PITCH1
DECL/CHAR,200,FILENAME
MAX1=ASSIGN/-9999
MIN1=ASSIGN/9999
TOT=ASSIGN/40

	FILENAME=PROMPT/'输入文件名称(不含后缀名)'
	FILENAME=ASSIGN/CONCAT(FILENAME,'.TXT')
	DID(FILEDATI)=DEVICE/STOR,FILENAME
	OPEN/DID(FILEDATI),DIRECT,OUTPUT,OVERWR

DISPLY/TERM,V(TEXT)
DISPLY/STOR,V(TEXT)
T(CORTOL_1)=TOL/CORTOL,XAXIS,-0.0100,0.0100

GOTO/POL,R0+10,A0,0
F(POI_3)=FEAT/POINT,POL,R0,A0,0,-1.00000000,0.00000000,0.00000000
MEAS/POINT,F(POI_3),1
ENDMES
$$repeat this point make the result stable
F(POI_3)=FEAT/POINT,POL,R0,A0,0,-1.00000000,0.00000000,0.00000000
MEAS/POINT,F(POI_3),1
ENDMES
GOTO/POL,R0+10,A0,0
D(DAT_3) = TRANS/XORIG,FA(POI_3)
OUTPUT/FA(POI_3),TA(CORTOL_1)

WRITE/DID(FILEDATI),'理论值',',','测量值',',','误差值',',','相邻误差'
WRITE/DID(FILEDATI),H1,',',M1,',',ERR1,',',PITCH1


DO/KK,1,TOT,1
H1=ASSIGN/LEAD*KK
GOTO/POL,R0+10,A0,H1

$$ DMIS检查器 : Syntax error.
PNAME1=ASSIGN/CONCAT('POI_',STR(KK))

$$ DMIS检查器 : Wrong structure (ELSE..ENDIF without IF, CASE without SELECT, ENDDO without DO).
F(@PNAME1)=FEAT/POINT,POL,R0,A0,H1,-1.00000000,0.00000000,0.00000000
MEAS/POINT,F(@PNAME1),1
ENDMES
GOTO/POL,R0+10,A0,H1
OUTPUT/FA(@PNAME1),TA(CORTOL_1)
M1=OBTAIN/FA(@PNAME1),5
ERR1=ASSIGN/M1-H1
PITCH1=ASSIGN/ERR1-ERR2
WRITE/DID(FILEDATI),H1,',',M1,',',ERR1,',',PITCH1
IF/(ERR1.GE.MAX1)
MAX1=ASSIGN/ERR1
ENDIF

IF/(ERR1.LE.MIN1)
MIN1=ASSIGN/ERR1
ENDIF
ERR2=ASSIGN/ERR1
ENDDO

TEXT/OUTFIL,'----------MAX----------'
TEXT/OUTFIL,MAX1

TEXT/OUTFIL,''

TEXT/OUTFIL,'----------MIN----------'
TEXT/OUTFIL,MIN1
CLOSE/DID(FILEDATI)
DISPLY/OFF


ENDFIL