在宏中使用条件表达式 (概念)

AutoCAD 2008

 
在宏中使用条件表达式
概念快速参考
 
 
 

通过使用可引入以 DIESEL(直接解释求值字符串表达式语言)编写的宏表达式的命令,可以向宏中添加条件表达式。

格式为:

$M=expression

引用带有 $M= 的宏可指示 AutoCAD 将字符串作为 DIESEL 表达式来计算,并通知程序 expression 是 DIESEL 表达式。下例定义了宏中的其他表达式:

FILLMODE $M=$(-,1,$(getvar,fillmode))

宏通过用 1 减去 FILLMODE 的当前值,并将结果值返回给 FILLMODE 系统变量,从而打开和关闭 FILLMODE 系统变量。可以使用此方法切换系统变量(有效值为 1 或 0)。

终止包含条件表达式的宏

如果使用 DIESEL 字符串语言来执行“if-then”测试,条件可能会存在于用户不想使用普通终止空格或分号(相当于按 ENTER 键)的位置。如果在宏的末尾添加 ^Z,那么 AutoCAD 不会自动在宏表达式的末尾添加空格 (ENTER)。

与命令中使用的其他控制字符一样,此处使用的 ^Z 是由 ^(插入记号)和 Z 组成的,不相当于按 CTRL + Z 组合键。

在以下样例中,^Z 用作宏结束符。

^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

如果这些宏不是以 ^Z 结尾,AutoCAD 将会自动添加一个空格 (ENTER),重复执行最后输入的命令。