创建宏

AutoCAD 2008

 
创建宏
 
 
 

宏用于定义选择某个界面元素后将发生的动作。宏可以完成用户需要执行一系列操作才能完成的绘图任务。宏可以包含命令、特殊字符、DIESEL(直接解释求值字符串表达式语言)或 AutoLISP 编程代码。

注意由于 AutoCAD 经过了修正和改进,许多命令(有时是命令名)的提示序列可能会有所改变。因此,升级到 AutoCAD 的新版本时,可能需要对自定义宏稍做修改。

可以使用“自定义用户界面”编辑器,将宏添加到界面元素。在“命令列表”窗格中,选择现有命令或创建新命令。在“特性”窗格的“宏”区域,输入宏。对宏没有长度限制。但是,的确需要了解特定字符在宏中用法,并知道其他注意事项或限制。

宏基础

用户界面元素中的宏可以很简单,只包含一条命令(例如,circle)和一些特殊字符(例如,^C^C)。

例如,宏 ^C^C_circle \1,它可以绘制一个半径为 1 个单位的圆。下表解释了定义此宏的组成部分。

CIRCLE 宏中的部件

部件

组成部分类型

结果

^C^C

特殊控制字符

取消任何正在运行的命令

_

特殊控制字符

自动将其后的命令转换为其他语言

CIRCLE

命令

启动 CIRCLE 命令

\

特殊控制字符

使宏暂停以等待用户指定圆心

1

特殊控制字符

响应圆半径 (1) 提示

有关可以在宏中使用的特殊控制字符列表,请参见在宏中使用特殊控制字符

取消正在运行的命令

确保在执行宏之前,没有任何 AutoCAD 命令正在运行中。要在执行宏之前自动取消命令,请在宏开头输入 ^C^C(相当于按两次 ESC 键)。虽然单个 ^C 能取消大多数命令,但要从标注命令返回命令提示必须使用 ^C^C,并且根据图层命令的当前选项需要使用 ^C^C^C^C^C 可以处理大多数命令序列的取消,因此是用于保证启动宏之前没有命令处于活动状态的推荐序列。

验证宏字符

宏中的每个字符(即使是空格)都至关重要。

如果在宏末尾加了一个空格,那么 AutoCAD 处理宏时就会认为,用户输入了一个命令(例如,circle),然后按了空格键完成该命令。

终止宏

某些宏需要使用特殊结束符。某些命令(例如,TEXT)需要按 ENTER 键而不是空格键来终止。某些命令需要多次按空格键(或 ENTER 键)才能完成,但是有些文本编辑器无法创建以空格结尾的行。

以下两条特殊约定解决了这些问题。

  • 宏中的分号 (;) 会自动在命令提示下发出 ENTER 命令。
  • 如果某一行以控制字符、反斜杠 (\)、加号 (+) 或分号 (;) 结尾,则 AutoCAD 将不在其后添加空格。

以反斜杠 (\) 结尾的项目可使宏暂停以等待用户输入。

请比较下面的宏:

ucs 
ucs ; 

第一个样例在命令提示下输入 ucs 并按空格键。系统将显示以下提示。

指定 UCS 的原点或 [面(F)/命名(NA)/对象(OB)/上一个(P)/视图(V)/世界(W)/X/Y/Z/Z 轴(ZA)] <世界>:

第二个样例输入 ucs 后依次按空格键和 ENTER 键,这将接受默认值(世界)。

在宏中禁用回显和提示

宏中的字符将会显示在命令窗口中,就像用户通过键盘键入这些字符一样。它们还会显示在用户界面元素中。这种显示重复称为“回显”。可以用 MENUECHO 系统变量来禁用“回显”显示。如果在项目输入时打开了回显和提示,则在该项目中添加 ^P 就可以关闭它们。

创建长宏

可以创建任意长度的宏,而不需要在行末尾输入任何特殊字符。“自定义用户界面”编辑器中的“特性”窗格可以接受任意长度的宏。

  • 在宏中使用特殊控制字符

    可以在宏中使用特殊字符(包括控制字符)。在宏中,插入记号 (^) 的作用相当于在键盘上按 CTRL 键。可以将插入记号与其他字符组合来构造宏,用以完成诸如打开和关闭栅格 (^G) 或取消命令 (^C) 等操作。

  • 在宏中暂停以等待用户输入

    要在命令执行过程中接受来自键盘或定点设备的输入,请在宏中需要进行输入的位置添加反斜杠 (\)。

  • 在宏中提供国际支持

    要开发可用于非英语版 AutoCAD 的菜单,请在每个命令或选项前添加下划线 (_)。下划线字符使标准命令和选项可以被自动转换。

  • 在宏中使用内置命令

    要开发使用 AutoCAD 中的内置命令的宏,请在每个命令前加上句点字符 (.)。句点字符使内置命令可以使用(即使在命令的定义已使用 UNDEFINE 命令取消时)从而使宏在共享同一自定义文件的其他系统上使用时仍可被识别。

  • 在宏中重复执行的命令

    可以在宏中使用前导星号 (*) 来重复执行命令,直到选择另一个命令。

  • 在宏中使用单一对象选择模式

    单一对象选择模式取消了编辑命令中“选择对象”提示的普通重复。选择一个对象并响应其他所有提示后,命令将结束。

  • 使用宏来交换用户界面元素

    可以替换活动菜单、鼠标按钮、数字化仪按钮、数字化仪菜单或屏幕菜单的内容。交换的内容可以是主 CUI 文件(也可以是局部 CUI 文件)中同类型的另一个用户界面元素的内容。

  • 在宏中使用条件表达式

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

  • 在宏中使用 AutoLISP

    创建使用 AutoLISP 的命令是一种使用 AutoCAD 自定义功能的更高级的方式。