暂停等待用户输入

AutoCAD ActiveX/VBA

 
暂停等待用户输入
 
 
 

在宏的中间要求输入的地方插入反斜杠 (\),接受来自键盘或定点设备的输入,有时这样做非常有用。

circle \1
layer off \;

第一个宏会暂停并要求用户输入中心点,然后再从宏读取半径 1。请注意,反斜杠字符 (\) 后面没有空格。下一个宏将暂停并请求用户输入一个图层名,然后关闭该图层并退出 LAYER 命令。LAYER 命令通常提示进行另一个操作,并仅在用户按空格键(空格)或 ENTER 键 (;) 时才会退出。

通常,宏会在输入一项之后恢复执行。因此,无法构造一个接受可变输入次数(正如在对象选择中)并随后继续执行的宏。但 SELECT 命令除外:反斜杠将挂起宏,直到完成对象选择。例如,请参见下面的宏:

select \change previous ;properties color red ;

该宏使用 SELECT 命令创建包含一个或多个对象的选择集。然后,该宏将发出 CHANGE 命令,使用“上一个”选项引用此选择集,并将所有选定对象的颜色更改为红色。

因为反斜杠字符 (\) 会使宏暂停并等待用户输入,因此在宏中不能将反斜杠用于其他用途。指定文件目录路径时,可以使用正斜杠 (/) 作为路径分隔符:例如 /direct/file

以下情况会延迟宏的重新执行:

  • 如果需要输入点,对象捕捉模式可以在输入实际点之前打开。
  • 如果使用 X/Y/Z 点过滤器,宏会一直处于暂停状态,直到已累计了整个点为止。
  • 仅就 SELECT 命令而言,直到完成对象选择,宏才会恢复运行。
  • 如果用户响应透明命令,暂停的宏会持续暂停,直到完成透明命令并收到最初要求的输入为止。
  • 如果用户选择其他宏进行响应(提供选项或执行透明命令),原来的宏会暂停,处理完新选定的项后,暂停的宏才会恢复执行。