外部命令可在 AutoCAD 运行时启动其他程序或实用程序。
- Windows 系统命令和实用程序,例如 start、type、dir 或 copy
- 应用程序,例如文本编辑器或字处理器
- 数据库管理程序、电子表格和通信程序
- 用户提供的程序,例如批处理文件或 VBA 宏
输入外部命令时,AutoCAD 将在“acad.pgp”中查找该命令。acad.pgp 的第一部分用于定义外部命令。可以通过在 ASCII 文本编辑器(例如记事本)中编辑“acad.pgp”来添加命令定义。要打开 PGP 文件,请依次单击 “工具”“自定义”“编辑程序参数 (acad.pgp)”依次单击“工具”菜单 “自定义”“编辑程序参数 (acad.pgp)”。
定义外部命令时,需要指定在 AutoCAD 命令提示中使用的命令名,以及传递给操作系统的可执行命令字符串。外部命令部分中的每行都包括以逗号分隔的五个字段,如下所示:
command,[executable],flags[,[*]prompt[,return_code]]
- command
- executable
- flags
- prompt
- return_code
-
可选位码参数。可将这些整数值按任意组合相加以得到所需的结果。例如,如果需要值 1 和 2,可用 3 作为返回码。值的定义如下(代码 0 和 4 对窗口环境无意义,因此不包括在此列表中):
1 加载 DXB 文件。命令结束后,AutoCAD 将把名为“$cmd.dxb”的 DXB 文件加载到图形中。加载 DXB 文件后,“$cmd.dxb”文件被删除。此动作产生的结果与 DXBIN 命令相同。
2 用 DXB 文件构造块定义。AutoCAD 从名为“$cmd.dxb”的 DXB 文件创建块定义。prompt 字段的响应用作块名,此名称必须是当前图形中不存在的有效块名,因此,这种模式不能重定义以前定义的块。AutoCAD 加载 DXB 文件后,“$cmd.dxb”文件将被删除。默认 INSERT 命令名被设置为新定义的块的名称。
定义外部命令时,Windows 的 start 和 cmd 系统命令非常有用。如果指定的 executable 字符串不使用 start 或 cmd 命令,则必须关闭该窗口才能继续使用 AutoCAD。
start 命令启动独立的窗口并运行指定的程序或命令。不带任何参数的 start 命令将打开新的命令提示窗口。start 命令有许多影响新窗口显示的命令行开关。要启动 Windows 应用程序,请使用不带任何开关的 start 命令。start 命令也可用于启动与某个应用程序相关联的文档。例如,可以用 start 命令直接打开用字处理器创建的文档或 HTML 文件。
cmd 命令打开一个命令提示窗口,用作 AutoCAD 的 Shell。必须关闭此窗口,控制权才能返回给 AutoCAD 命令提示。/c 和 /k 命令行开关对外部命令相当有用。/c 开关执行指定的命令,然后停止(关闭窗口)。/k 开关执行指定的命令,然后继续(保持窗口打开)。使用 /k 开关时,用户必须自己关闭命令窗口(用 exit 命令)。
通常,使用 start 来启动与 AutoCAD 相互独立的新窗口或应用程序。而使用 cmd 来运行不创建独立窗口的批处理文件或命令脚本,或者创建必须关闭才能将控制权返回给 AutoCAD 的窗口。有关这些命令和开关的详细信息,请参见 Windows 系统命令文档。
下例定义了三个新命令:RUN、LISTSET 和 DXB2BLK。
RUN, cmd /c,0,*Batch file to run: ,
LISTSET,cmd /k SET,0
DXB2BLK,cmd /c DXBCOPY,0,DXB file: ,2
RUN 命令用于运行批处理文件或命令脚本。带 /c 开关的 cmd 命令首先打开命令窗口,运行批处理文件,然后关闭。
LISTSET 命令用于显示当前 DOS 环境变量设置。因为此样例使用 cmd /k(而不是 start),所以必须关闭命令窗口才能返回 AutoCAD。要使此窗口保持活动,请使用 start /realtime。有关这些命令和开关的详细信息,请参见 Windows 系统命令文档。
DXB2BLK 命令用于从指定的 DXB 文件创建块定义。DXB 文件将所有对象转换为直线。此过程有一个非常有用的附带作用:它提供了一种将文字对象分解为直线的简单方法。
DXB2BLK 将指定的 DXB 文件名传递给“dxbcopy”批处理文件,此批处理文件将该文件名复制到名为“$cmd.dxb”的文件。然后,AutoCAD 将从指定的 DXB 文件创建块。答复 DXB 文件提示的名称被用作新块的名称。要创建“dxbcopy.cmd”文件,请在 Windows 命令提示下输入以下命令:
echo copy %1.dxb $cmd.dxb > dxbcopy.cmd
此命令在当前目录中创建“dxbcopy.cmd”文件。将此文件移至 DOS 路径下的目录中,或者在“acad.pgp”文件中明确指定此文件的位置。例如,如果 dxbcopy.cmd 文件位于 D:\cad 中,请在 acad.pgp 文件的外部命令部分输入以下内容。
DXB2BLK, cmd /c D:\CAD\DXBCOPY,0,DXB file: ,2
要创建 DXB 文件,请选择“AutoCAD DXB 文件格式”作为当前打印机,然后打印到文件。关于配置打印机的详细信息,请参见《驱动程序和外围设备手册》中的“