关于暂停宏以请求用户输入

在您希望用户提供某种形式的输入时,可以使用反斜杠 (\) 来暂停宏。

在以下样例中,将暂停 CIRCLE 命令,系统将提示用户指定圆的圆心。请注意在反斜杠后面没有空格。

^C^C_.circle \1

在此样例中,该宏启动 -LAYER 命令并输入“关闭”选项。然后系统将提示用户输入图层名以在命令退出之前将其关闭。

^C^C_.-layer off \;
注: -LAYER 命令通常提示进行另一个操作,并仅在用户按 Spacebar 键或 Enter 键时才会退出。在该宏中,分号 (;) 的作用相当于按 Enter 键。

宏通常会在用户输入(例如单个点位置)后恢复执行。因此,不能构造接受不确定个数的输入(在对象选择中)然后继续执行的宏。但 SELECT 命令除外:反斜杠 (\) 将暂停命令,直到完成对象选择。请看下面的样例:

^C^C_.select \_.change previous ;properties color blue ;

在该宏中,SELECT 命令用于选择一个或多个对象 (^C^C_.select \)。然后,该宏将启动 CHANGE 命令,使用“上一个”选项来参照选择集,并将所有选定对象的颜色改为蓝色 (_.change previous ;properties color blue ;)。

注: 反斜杠字符 (\) 将使宏暂停以等待用户输入。不能在宏中将反斜杠用于其他任何目的。当需要指定文件路径时,可使用正向斜杠 (/) 作为路径分隔符:例如 /direct/file。

以下情况会延迟宏在暂停后的恢复:

注: 如果命令输入来自命令,则 PICKADD 和 PICKAUTO 系统变量将分别假定设置为 1 和 0(零)。这保持了与早期版本的兼容性,并且由于不需要检查这些变量的设置而简化了自定义过程。