宏终止方式

AutoCAD ActiveX/VBA

 
宏终止方式
 
 
 

执行宏时,AutoCAD 会在处理命令序列之前在宏的末尾放置一个空格。AutoCAD 将处理后跟的菜单宏,就像用户输入了 line SPACEBAR 一样。

line

有时我们并不希望出现这种情况;例如,必须通过 ENTER 而不是空格来终止 TEXT 或 DIM 命令。此外,有时需要多个空格或 ENTER 来完成命令,但某些文字编辑器不允许用户创建带有后续空格的行。以下两条特殊惯例就是用来解决这些问题的。

  • 当宏中出现分号 (;) 时,AutoCAD 会将其替换为 ENTER。
  • 如果行是以控制字符、反斜杠 (\)、加号 (+) 或分号 (;) 结尾的,AutoCAD 不会在其后添加空格。

请看下面的宏:

erase \;

如果此项仅以反斜杠(表示用户输入)结尾,它将无法完成 ERASE 操作,因为 AutoCAD 不会在反斜杠之后添加空格。因此,该宏使用分号 (;) 以在用户输入之后强制加上 ENTER。下面是其他几个例子:

ucs 
ucs ; 
text \.4 0 DRAFT Inc;;;Main St.;;;City, State;

选择第一个宏将在命令行上输入 ucs 和空格,然后将显示以下提示:

输入选项 [新建(N)/移动(M)/正交(G)/上一个(P)/恢复(R)/保存(S)/删除(D)/应用(A)/?/世界(W)] <世界>:

选择第二个宏将在命令行上输入 ucs、空格和分号 (;),并将接受默认值“世界”。第一项和第二项在屏幕显示上没有区别;因此不必将其放在同一菜单上。

选择第三个宏会显示提示,要求输入起点,并将该地址绘制成三行文字。在三重分号 (;;;) 中,第一个分号将结束文字字符串,第二个分号将重复 TEXT 命令,第三个分号将调用上一行下的默认选项。

注意所有特殊的字符都必须使用其 ASCII 等价值输入。关于 ASCII 等价值的列表,请参见映射到 ASCII 等价值的宏字符