RationalDMIS  7.1  转台旋转建立坐标系_脱机
$$$$$$$$$$$$$$$$$$$$$$$$$$RationalDMIS  7.1  转台旋转建立坐标系_脱机_02$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$RationalDMIS  7.1  转台旋转建立坐标系_脱机_03$$$$$$$$$$$$$$$$$$
MODE/PROG,MAN
RECALL/D(MCS)

DECL/COMMON,INTGR,I
DECL/COMMON,DOUBLE,SES[3]

TEMPCHAR = PROMPT/TEXT,‘将测头移至图象处’

F(CRD_PLN) = FEAT/PLANE,CART,0,0,0,0,0,1

F(SESPT) = FEAT/POINT,CART,0,0,0,0,0,1
MEAS/POINT,F(SESPT),0
ENDMES

SES[1] = OBTAIN/FA(SESPT),3
SES[2] = OBTAIN/FA(SESPT),4
SES[3] = OBTAIN/FA(SESPT),5

MEAS/PLANE,F(CRD_PLN),4

DO/I,1,4
ROTAB/RT(MASTERTABLE), ABSL, SHORT, ROTTOT, 90*I
PTMEAS/CART,SES[1], SES[2], SES[3] , 0, 0, -1
ENDDO

ENDMES

D(DEMO) = DATSET/FA(CRD_PLN), -ZDIR, ZORIG

MEAS/POINT,F(SESPT),0
ENDMES

SES[1] = OBTAIN/FA(SESPT),3
SES[2] = OBTAIN/FA(SESPT),4
SES[3] = OBTAIN/FA(SESPT),5

F(CRD_CIR) = FEAT/CIRCLE,OUTER,CART,0,0,0,0,0,1,10

MEAS/CIRCLE,F(CRD_CIR),4

DO/I,1,4
ROTAB/RT(MASTERTABLE),ABSL,SHORT,ROTTOT,90*I
PTMEAS/CART,SES[1], SES[2], SES[3], -1, 0, 0
ENDDO

ENDMES

D(DEMO) = TRANS/FA(CRD_CIR),XORIG,YORIG

其中RT(MASTERTABLE)是转台名称,程序里不包含定义和校验,而且转台的机制好象不太确定,为了安全起见,先脱机进行下验证。

把代码中的部分还是解释下吧。

    RE:

1、D(MCS)这个是机床坐标系 D(MCSX) = DATSET/MCS

2、SES[1] = OBTAIN/FA(SESPT),3

这些语句表示我从点元素SESPT中,取得其中的值,三句对应为该点的X、Y、Z坐标。

3、测量语句中的距离的数值N,大多数可以用变量或者是表达式来代替,在这个程序里是用了表达式

90*I在代替。

4、ROTAB/RT(MASTERTABLE), ABSL, SHORT, ROTTOT, 90*I

这里面的参数ROTTOT表示转台在旋转的时候坐标系跟着转台全部更新,所以第二句

PTMEAS/CART,SES[1], SES[2], SES[3] , 0, 0, -1

就是在不同的坐标系下打同一个坐标。因为坐标系变了,所以是不同的点。

RationalDMIS  7.1  转台旋转建立坐标系_脱机_04