**********文件初始化***************************
RECALL/D(PC02)
DECL/CHAR,20,NAME,NAME1,NAME2
TEXT/QUERY,(NAME),20,AN,L,'请输入屏尺寸代码'
WRITE/DID(DidTerm),'屏尺寸代码R21PB- ',NAME
NAME1=CONCAT('R21PB',NAME)
NAME2=CONCAT('D:\彩玻\屏\',NAME1,'.DAT')
DID(OUTFILE)=DEVICE/STOR,NAME2
OPEN/DID(OUTFILE),DIRECT,OUTPUT,OVERWR
WRITE/DID(OUTFILE) ,'屏尺寸:',NAME1,'
'
SNSET/APPRCH, 5.0000
SNSET/RETRCT, 8.0000
DECL/CHAR,4,DF,WWP
DECL/REAL,X,Y,Z,DX,DY,DZ,XX,YY,TT,ZZ,AH
M(X)=MACRO/X,Y,Z,DX,DY,DZ,wWp
MODE/PROG,MAN
DF=assign/concat('PO ',str(wWp))
F(DF)=FEAT/POINT,CART,X,Y,Z,DX,DY,DZ
MEAS/POINT,F(DF),1
PTMEAS/CART,X,Y,Z,DX,DY,DZ
ENDMES
XX=OBTAIN/FA(DF),3
TT=ABS(XX)-ABS(X)
WRITE/DID(DIDTERM),' ',DF,XX,X,TT
WRITE/DID(OUTFILE),' ',DF,XX,X,TT,'
'
ENDMAC
M(Y)=MACRO/X,Y,Z,DX,DY,DZ,wWp
MODE/PROG,MAN
DF=assign/concat('PO ',str(wWp))
F(DF)=FEAT/POINT,CART,X,Y,Z,DX,DY,DZ
MEAS/POINT,F(DF),1
PTMEAS/CART,X,Y,Z,DX,DY,DZ
ENDMES
YY=OBTAIN/FA(DF),4
TT=ABS(YY)-ABS(Y)
WRITE/DID(DIDTERM),' ',DF,YY,Y,TT
WRITE/DID(OUTFILE),' ',DF,YY,Y,TT,'
'
ENDMAC
M(Z)=MACRO/X,Y,Z,DX,DY,DZ,WWP
DF=assign/concat('PO',str(wWp))
MODE/PROG,MAN
F(DF)=FEAT/POINT,CART,X,Y,Z,DX,DY,DZ
MEAS/POINT,F(DF),1
PTMEAS/CART,X,Y,Z,DX,DY,DZ
ENDMES
ZZ=OBTAIN/FA(DF),5
TT=ABS(ZZ)-ABS(Z)
WRITE/DID(DIDTERM),' ',DF,ZZ,Z,TT
WRITE/DID(OUTFILE),' ',DF,ZZ,Z,TT,'
'
A1=OBTAIN/FA(DF),5
ENDMAC
WRITE/DID(DIDTERM),'************A.H**+-0.3***********'
WRITE/DID(DIDTERM),'**** LVL********** +-0.2********'
WRITE/DID(OUTFILE),'*********LVL及 AH **********','
'
DECL/REAL,AX,AY,AD,AZ,DAJ,A1,B1,MMH,AHH,AH,SAX,SAY,LAX,LAY,AZ1
AX=230
AY=183
AD=276
AZ=160.2
SAX=130
SAY=180
LAX=229
LAY=89
DAJ=36.916
CALL/M(Z),-AX,0,AZ,0,0.0,1.0,6
B1=B1+A1
CALL/M(Z),AX,0,AZ,0,0.0,1.0,2
B1=B1+A1
CALL/M(Z),0,-AY,AZ,0,0.0,1.0,3
B1=B1+A1
CALL/M(Z),0,AY,AZ,0,0.0,1.0,9
B1=B1+A1
D(PC03)=ROTATE/ZAXIS,DAJ
CALL/M(Z),AD,0,AZ,0,0.0,1.0,0
B1=B1+A1
CALL/M(Z),-AD,0,AZ,0,0.0,1.0,4
B1=B1+A1
RECALL/D(PC02)
D(PC03)=ROTATE/ZAXIS,-DAJ
CALL/M(Z),AD,0,AZ,0,0.0,1.0,1
B1=B1+A1
CALL/M(Z),-AD,0,AZ,0,0.0,1.0,7
B1=B1+A1
B1=B1/8
AZ1=B1-AZ
WRITE/DID(DIDTERM),'AH=',AZ1
CONST/PLANE,F(PL02),BF,FA(PO2),FA(PO0),FA(PO9),FA(PO7),FA(PO6),FA(PO4),$
FA(PO3),FA(PO1)
T(PA01)=TOL/PARLEL,0.0,RFS,FA(PL01),RFS
OUTPUT/FA(PL02),TA(PA01)
DECL/REAL,LLX
LLX=OBTAIN/TA(PA01),2
WRITE/DID(OUTFILE),'******LVL**±0.1500******',LLX,'
'
WRITE/DID(OUTFILE),'***A.H=160.1000** ±0.3000 ***',AZ1,'
'
RECALL/D(PC02)
D(PC04)=TRANS/ZORIG,FA(PL02)
$$ TEXT/OPER,'**********M()**************'
SNSET/APPRCH, 5.0000
SNSET/RETRCT, 8.0000
DECL/CHAR,4,DF,WWP
DECL/REAL,X,Y,Z,DX,DY,DZ,XX,YY,TT,ZZ,W1,W2,TT1,TT2,TT3,WP1
M(X1)=MACRO/X,Y,Z,DX,DY,DZ,wWp
MODE/PROG,MAN
DF=assign/concat('PO ',str(wWp))
F(DF)=FEAT/POINT,CART,X,Y,Z,DX,DY,DZ
MEAS/POINT,F(DF),1
PTMEAS/CART,X,Y,Z,DX,DY,DZ
ENDMES
XX=OBTAIN/FA(DF),3
TT=ABS(XX)-ABS(X)
WRITE/DID(DIDTERM),' ',DF,XX,X,TT
$$ WRITE/DID(OUTFILE),' ',DF,XX,X,TT,'
$$ '
ENDMAC
M(Y1)=MACRO/X,Y,Z,DX,DY,DZ,wWp
MODE/PROG,MAN
DF=assign/concat('PO ',str(wWp))
F(DF)=FEAT/POINT,CART,X,Y,Z,DX,DY,DZ
MEAS/POINT,F(DF),1
PTMEAS/CART,X,Y,Z,DX,DY,DZ
ENDMES
YY=OBTAIN/FA(DF),4
TT=ABS(YY)-ABS(Y)
WRITE/DID(DIDTERM),' ',DF,YY,Y,TT
$$ WRITE/DID(OUTFILE),' ',DF,YY,Y,TT,'
$$ '
ENDMAC
WRITE/DID(DIDTERM),'************M.M**+-0.15***********'
WRITE/DID(OUTFILE),'******* M.M**±0.1500 ********','
'
DECL/REAL,SA,LA,DA,DAJ,DD,ZT
DECL/REAL,SAX,SAY,LAX,LAY
RECALL/D(PC04)
GOTO/0,0,20
SA=180.05
SAX=171.67
SAY=175.189
LA=227.72
LAX=225.029
LAY=115.63
DA=273.18
DAJ=36.916
ZT=-0.2
MODE/PROG,MAN
GOTO/LA-15,0,ZT
CALL/M(X),LA,0,ZT,-0.99996,0.0,0.0087,2
GOTO/0,-SA+15,ZT
CALL/M(Y),0,-SA,ZT,0,0.99996,0.0087,3
GOTO/-LA+15,0,ZT
CALL/M(X),-LA,0,ZT,0.99996,0.0,0.0087,6
GOTO/0,SA-15,ZT
CALL/M(Y),0,SA,ZT,0,-0.99996,0.0087,9
RECALL/D(PC04)
D(PC03)=ROTATE/ZAXIS,-DAJ
GOTO/-DA+15,0,ZT
CALL/M(X),-DA,0,ZT,0.99996,0.0,0.0087,7
GOTO/DA-15,0,ZT
CALL/M(X),DA,0,ZT,-0.99996,0.0,0.0087,1
RECALL/D(PC04)
D(PC03)=ROTATE/ZAXIS,DAJ
GOTO/-DA+15,0,ZT
CALL/M(X),-DA,0,ZT,0.99996,0.0,0.0087,4
GOTO/DA-15,0,ZT
CALL/M(X),DA,0,ZT,-0.99996,0.0,0.0087,0
RECALL/D(PC04)
CALL/M(X),LAX,-LAY,ZT,-0.99996,0.0,0.0087,21
CALL/M(X),LAX,LAY,ZT,-0.99996,0.0,0.0087,20
CALL/M(Y),-SAX,-SAY,ZT,0,0.99996,0.0087,34
CALL/M(Y),SAX,-SAY,ZT,0,0.99996,0.0087,31
CALL/M(X),-LAX,-LAY,ZT,0.99996,0.0,0.0087,64
CALL/M(X),-LAX,LAY,ZT,0.99996,0.0,0.0087,67
CALL/M(Y),-SAX,SAY,ZT,0,-0.99996,0.0087,97
CALL/M(Y),SAX,SAY,ZT,0,-0.99996,0.0087,90
有一批工件尺寸规则变化,几何形状相同零件,比如,显像管屏有14寸,17寸,18寸,21寸,25寸,34寸等规则的.当测量时不必每个类型的屏都编一个测量程序,假如有个总的程序,每测一种屏调用相应的程序,这程序如何改.