RationalDMIS 7.1探测误差(25球-0-30-60-90)_java

UNITS/MM, ANGDEC
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/OFF
FLY/2
MODE/PROG, MAN
SNSET/APPRCH, 10.000000
SNSET/RETRCT, 10.000000
SNSET/DEPTH, 0.000000
SNSET/SEARCH, 20.0000
SNSET/CLRSRF, 5.000000
FEDRAT/POSVEL, MMPS, 100.000000
FEDRAT/MESVEL, MMPS, 10.000000
FEDRAT/SCNVEL, MMPS, 10.000000
ACLRAT/POSACL, MMPSS, 500.000000
ACLRAT/MESACL, MMPSS, 100.000000
RECALL/D(MCS)
GEOALG/CIRCLE, LSTSQR
GEOALG/ARC, LSTSQR
GEOALG/PLANE, LSTSQR
$$
$$

DECL/COMMON,DOUBLE,NOM_D
DECL/COMMON,DOUBLE,P_Cord[3],SPH_Cord[3]

TEMPSTRING = PROMPT/TITLE,'25球程序',TEXT,'请将测头移动到标准球的正上方',$
TEXT,'标准球的理论直径为',EDIT,NOM_D

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$取得标准球球心的坐标值$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$定义标准球理论值$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
F(S_Point) = FEAT/POINT,CART,0,0,0,0,0,1
MEAS/POINT,F(S_Point),0
ENDMES
P_Cord[1] = OBTAIN/FA(S_Point),3
P_Cord[2] = OBTAIN/FA(S_Point),4
P_Cord[3] = OBTAIN/FA(S_Point),5
MEAS/POINT,F(S_Point),1
PTMEAS/CART, P_cord[1], P_cord[2], P_cord[3]-1, 0, 0, 1
ENDMES
P_Cord[1] = OBTAIN/FA(S_Point),3
P_Cord[2] = OBTAIN/FA(S_Point),4
P_Cord[3] = OBTAIN/FA(S_Point),5

F(M_SPH) = FEAT/SPHERE, OUTER, CART, P_cord[1], P_cord[2], P_cord[3]-NOM_D/2,$
NOM_D

MODE/AUTO,PROG,MAN
MEAS/SPHERE,F(M_SPH),5
ENDMES

SPH_Cord[1] = OBTAIN/FA(M_SPH),4
SPH_Cord[2] = OBTAIN/FA(M_SPH),5
SPH_Cord[3] = OBTAIN/FA(M_SPH),6

F(M_SPH) = FEAT/SPHERE, OUTER, CART, SPH_Cord[1], SPH_Cord[2],$
SPH_Cord[3],NOM_D
MEAS/SPHERE,F(M_SPH),5
ENDMES
SPH_Cord[1] = OBTAIN/FA(M_SPH),4
SPH_Cord[2] = OBTAIN/FA(M_SPH),5
SPH_Cord[3] = OBTAIN/FA(M_SPH),6

F(M_SPH) = FEAT/SPHERE, OUTER, CART, SPH_Cord[1], SPH_Cord[2],$
SPH_Cord[3],NOM_D
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

$$$$$$$$$$$$$$$$$$$$$$$$$$$平移坐标系$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

D(25SPH) = TRANS/XORIG,F(M_SPH),YORIG,F(M_SPH),ZORIG,F(M_SPH)

DECL/COMMON,DOUBLE,Value_PT[4,2],PIE
DECL/INTGR,I

PIE = ASSIGN/3.141592654

FLY/OFF
SNSET/APPRCH, 5
SNSET/RETRCT, 5

MODE/PROG,MAN
MEAS/SPHERE,F(M_SPH),25

PTMEAS/CART, 0, 0, NOM_D/2, 0, 0, 1

DO/I,1,8
PTMEAS/CART,NOM_D/4,0,NOM_D*SQRT(3)/4, 0.5,0,SQRT(3)/2
D(TEMP) = ROTATE/ZAXIS,45
ENDDO

DO/I,1,8
PTMEAS/CART,NOM_D*SQRT(3)/4,0,NOM_D/4, SQRT(3)/2,0,0.5
D(TEMP) = ROTATE/ZAXIS,45
ENDDO

DO/I,1,8
PTMEAS/CART,NOM_D/2,0,0,1,0,0
D(TEMP) = ROTATE/ZAXIS,45
ENDDO

ENDMES

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
M(EASI_SPHERE_HIGHLOW_POINTS) = MACRO/'FEATLABEL', 'DEVICELABEL', HIGHR, LOWR, RADSEPARATION, ER
DECL/LOCAL, CHAR, 255, FNAME
DECL/LOCAL, REAL, XC,YC,ZC,XX,YY,ZZ, CDIST
DECL/LOCAL, INTGR, PCOUNT, LPCOUNT

FNAME = OBTAIN/F(@FEATLABEL), 1
ER = ASSIGN/0
HIGHR = ASSIGN/0
LOWR = ASSIGN/100000

PCOUNT = VALUE/FA(@FEATLABEL), PTDATA
XC = OBTAIN/FA(@FEATLABEL), 4
YC = OBTAIN/FA(@FEATLABEL), 5
ZC = OBTAIN/FA(@FEATLABEL), 6
DO/LPCOUNT, 1, PCOUNT
XX = OBTAIN/FA(@FEATLABEL)[LPCOUNT],2
YY = OBTAIN/FA(@FEATLABEL)[LPCOUNT],3
ZZ = OBTAIN/FA(@FEATLABEL)[LPCOUNT],4

CDIST = ASSIGN/SQRT((XX-XC)*(XX-XC)+(YY-YC)*(YY-YC)+(ZZ-ZC)*(ZZ-ZC))

IF/(CDIST .GT. HIGHR)
HIGHR = ASSIGN/CDIST
ENDIF

IF/(CDIST .LT. LOWR)
LOWR = ASSIGN/CDIST
ENDIF
WRITE/DID(@DEVICELABEL), 'PTN = ',LPCOUNT:2, ' X = ', XX, ' Y = ', YY, ' Z = ', ZZ, ' R = ', CDIST
WRITE/DID(DEFAULTSCREEN),'PTN = ',LPCOUNT:2, ' X = ', XX, ' Y = ', YY, ' Z = ', ZZ, ' R = ', CDIST
ENDDO
RADSEPARATION = ASSIGN/(HIGHR-LOWR)
ENDMAC

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

$$$$$$$$$$$$$$$$$$$$$$$$$$输出SPH1结果$$$$$$$$$$$$$$$$$$$$$$$$$$
DECL/COMMON, REAL, HR, LR, RADSEP
DECL/COMMON, INTGR, LPRET
DECL/COMMON, CHAR, 256, STESTDATE, STESTTIME, SSEP

DID(ISO103602-2Report) = DEVICE/STOR,'ISO-103602-Report.out'
OPEN/DID(ISO103602-2Report), DIRECT, OUTPUT, APPEND

SSEP = ASSIGN/'--------------------------------------------------------------------------------'
STESTDATE = ASSIGN/SDATE()
STESTTIME = ASSIGN/STIME()

WRITE/DID(ISO103602-2Report),SSEP
WRITE/DID(DEFAULTSCREEN),SSEP

WRITE/DID(ISO103602-2Report),'ISO10360-2 sphere minimin and maximun radius test. Performed on'
WRITE/DID(DEFAULTSCREEN),'ISO10360-2 sphere minimin and maximun radius test. Performed on'

WRITE/DID(ISO103602-2Report),'TIME : ', STESTTIME
WRITE/DID(DEFAULTSCREEN),'TIME : ', STESTTIME

WRITE/DID(ISO103602-2Report),'DATE : ', STESTDATE
WRITE/DID(DEFAULTSCREEN),'DATE : ', STESTDATE

CALL/M(EASI_SPHERE_HIGHLOW_POINTS), (M_SPH), (ISO103602-2Report), HR, LR, RADSEP, LPRET
WRITE/DID(ISO103602-2Report),' '
WRITE/DID(DEFAULTSCREEN),' '

WRITE/DID(ISO103602-2Report),'Maximun Radius = ', HR:6:5, ' Minimun Radius = ', LR:6:5, ' Form Error = ', RADSEP:6:5
WRITE/DID(DEFAULTSCREEN),'Maximun Radius = ', HR:6:5, ' Minimun Radius = ', LR:6:5, ' Form Error = ', RADSEP:6:5

CLOSE/DID(ISO103602-2Report), KEEP