INIT
! LOAD-PROBE-FILE("DEFAULT")
!PROBE-NO("A90B-90")
INPUT-VAR(V99,"坐标系1,原点2,再运行3")
IF(V99==1)
READ-MAN(1,"")
POINT("")
READ-MAN(1,"")
POINT("")
READ-MAN(1,"")
POINT("")
STORE(5)
READ-MAN(1,"")
POINT("")
CE-PLANE("",4)
STORE(1)
ALIGN("")
STORE(10)
RECALL-BASE-GEO("",0)
RECALL(1)
POINT-PROJECT("","")
V20=X
V21=Y
V22=Z
V20=ABS(V20)
V21=ABS(V21)
V22=ABS(V22)
V23=V20+V21+V22
IF(V23==0)
S$1="请重新放置量块"
DISP(S$1)
ENDIF
V20=V20-0.0001
V21=V21-0.0001
V22=V22-0.0001
IF(V20<0)
IF(V21<0)
V28=3
ELSE
V28=2
ENDIF
ELSE
V28=1
ENDIF
READ-MAN(1,"")
POINT("")
READ-MAN(1,"")
POINT("")
STORE(4)
CE-LINE("",2)
STORE(2)
ROTATION("")
STORE(20)
IF(V28==2)
RECALL(2)
RECALL-BASE-GEO("",1)
MIN-ANGLE("","")
V30=LAD
IF(V30>=90)
V30=180-V30
ENDIF
V30=89.9999-V30
IF(V30<0)
ROTATION("X",90)
ELSE
ROTATION("X",-90)
ROTATION("Z",90)
ENDIF
ENDIF
IF(V28==1)
RECALL(2)
RECALL-BASE-GEO("",2)
MIN-ANGLE("","")
V31=LAD
IF(V31>=90)
V31=180-V31
ENDIF
V31=89.9999-V31
IF(V31<0)
ROTATION("Y",90)
ROTATION("Z",-90)
ELSE
ROTATION("Y",-90)
ENDIF
ENDIF
IF(V28==3)
RECALL(2)
RECALL-BASE-GEO("",1)
MIN-ANGLE("","")
V32=LAD
IF(V32>=90)
V32=180-V32
ENDIF
V32=89.9999-V32
IF(V32<0)
ELSE
ROTATION("Z",90)
ENDIF
ENDIF
RECALL(10)
RECALL(20)
LINE-PROJECT("","")
READ-MAN(1,"")
POINT("")
PERPENDICULAR("","")
V20=X
V21=Y
V22=Z
OFFSET(V20,V21,V22)
RECALL(4)
V82=Y
V80=Z
V30=ABS(V80)
RECALL(5)
V81=X
IF(V30<10)
IF(V81>0)
IF(V82>0)
ELSE
ROTATION("X",180)
ENDIF
ELSE
IF(V82>0)
ROTATION("Y",180)
ELSE
ROTATION("Z",180)
ENDIF
ENDIF
ENDIF
SAVE-COORSYS("1")
ENDIF
IF(V99==2)
LOAD-COORSYS("1")
READ-MAN(1,"")
POINT("")
OFFSET(X,0,0)
READ-MAN(1,"")
POINT("")
OFFSET(0,0,Z)
READ-MAN(1,"")
POINT("")
OFFSET(0,Y,0)
SAVE-COORSYS("1")
ENDIF
SPEED(120)


LOAD-COORSYS("1")
INPUT-VAR(V2,"L=")
FOR(V1,1,3)
MOVE-TO(-5,2,-75)
MOVE-TO(-5,2,1.5)
READ-PROBE(-1.5,2,1.5)
MOVE-TO(-5,2,7.5)
READ-PROBE(-1.5,2,7.5)
MOVE-TO(-5,33,7.5)
READ-PROBE(-1.5,33,7.5)
MOVE-TO(-5,33,1.5)
READ-PROBE(-1.5,33,1.5)
PLANE("")
ALIGN("")
MOVE-TO(-5,17.5,4.5)
READ-PROBE(-1.5,17.5,4.5)
POINT("")
MOVE-TO(-5,17.5,-75)
MOVE-TO(V2+5,17.5,-75)
MOVE-TO(V2+5,17.5,4.5)
READ-PROBE(V2+1.5,17.5,4.5)
MOVE-TO(V2+5,17.5,4.5)
POINT("")
TOL("DIA",V2,0.003,-0.003)
SET-OUTPUT("X,Y,Z,DIA")
DISTANCE("","")
MOVE-TO(V2+5,17.5,-75)
NEXT
END