以下样例代码使操作者可以选择在测量特征后更改特征的 X、Y 和 Z 理论值。以后的运行将使用新的理论值。
PNT1 =一般/点,从属,直角坐标,$
理论值,<5,10,15>,$
测定值/XYZ,<7,12,17>,$
理论值/IJK,<0,0,1>,$
测定值/IJK, <0,0,1>
C1 =注释/是否,否,全屏=否,自动继续=否,
用户是否想改变PNT1的理论值?
IF/C1.INPUT=="YES"
CS1=调用子例程/更改理论值,:,
END_IF/
注释/运行,否,全屏=否,自动继续=否,
PNT1 的 XYZ 理论值和实际值为:
"X 理论值= " + PNT1.TX
"Y 理论值= " + PNT1.TY
"Z 理论值= " + PNT1.TZ
--------------------
"X 实际值= " + PNT1.X
"Y 实际值= " + PNT1.Y
"Z 实际值= " + 点1.Z
例程/终止
子程序/更改理论值,
点1 = {PNT1} :
=
尺寸信息/点1; 图标, 标识, 特征标识, 垂直,水平,,$
标题, ;测量值, , , , , , , ,
C2 =注释/导入,否,全屏=否,
输入点1的新X理论值。
“当前值为” + PNT1.TX
ASSIGN/PNT1.TX=C2.INPUT
C3 =注释/导入,否,全屏=否,
输入点1的新Y理论值。
“当前值为” + PNT1.TY
ASSIGN/PNT1.TY=C3.INPUT
C4 =注释/导入,否,全屏=否,
输入点1的新Z理论值。
“当前值为” + PNT1.TZ
ASSIGN/PNT1.TZ=C4.INPUT
终止子例程/
样例代码的说明
C1=COMMENT/YESNO
此行取用并存储用户的 YES 或 NO 响应。
IF/C1.INPUT=="YES"
此行是表达式。它测试注释 1 的输入是否为 YES。若为 YES,则 IF 语句为 TRUE,并在 IF 语句后继续执行语句,在本例中,测量的是 PNT1 特征。若为 NO,则移至 END_IF 语句。
CS1=CALLSUB/CHANGETHEO,:,
此行调用名称为 CHANGETHEO 的子例程。测量例程流现在跳至 SUBROUTINE/CHANGETHEO 行。
SUBROUTINE/CHANGETHEO
此行初始化 CHANGETHEO 子例程。测量例程流继续执行此行和 ENDSUB/ 行之间的代码。
POINT1 = {PNT1} : ,
此是子例程的唯一自变量。允许子例程访问 PNT1 特征信息。
C2=COMMENT/INPUT, C3=COMMENT/INPUT, C4=COMMENT/INPUT
这些输入注释均取用用户新的 X、Y、Z 理论值,并将它们分别存储在 C2.INPUT、C3.INPUT 和 C4.INPUT 中。
ASSIGN/PNT1.TX = C2.INPUT
此行从 C2.INPUT 取用 X 理论值,并将其分配给 PNT1.TX 变量。PNT1.TX 是 PC-DMIS 变量,其值为具有 PNT1 ID 标签的点的 X 理论值(以 TX 表示)。
ASSIGN/PNT1.TY = C3.INPUT
此行从 C3.INPUT 取用 Y 理论值,并将其分配给 PNT1.TY 变量。PNT1.TY 是 PC-DMIS 变量,其值为具有 PNT1 ID 标签的点的 Y 理论值(以 TY 表示)。
ASSIGN/PNT1.TZ = C4.INPUT
此行从 C4.INPUT 取用 Z 理论值,并将其分配给 PNT1.TZ 变量。PNT1.TZ 是 PC-DMIS 变量,其值为具有 PNT1 ID 标签的点的 Z 理论值(以 TZ 表示)。
ENDSUB/
此行结束子例程,调用子例程后测量例程流立即返回该行。在本例中返回的是 END_IF/ 语句。测量例程流继续执行显示 X、Y 和 Z 理论值和实际值的下一操作员注释,然后以 ROUTINE/END 命令结束测量例程。