子程序样例代码

以下样例代码使操作者可以选择在测量特征后更改特征的 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/ 语句。测量例程流继续执行显示 XYZ 理论值和实际值的下一操作员注释,然后以 ROUTINE/END 命令结束测量例程。