AutoCAD系统中所使用的外部命令和命令别名保存在程序参数文件“ACAD.PGP”中,该文件是文本文件,位于AutoCAD系统主文件夹中的“SUPPORT”子文件夹中。
建议用户在学习本章之前将“ACAD.PGP”文件进行备份,如果出现错误,可以随时恢复原始的文件。
在AutoCAD运行时,用户可使用外部命令在AutoCAD系统中调用其他程序或实用工具,以及Windows系统命令等。“ACAD.PGP”文件已经定义了如表30-1所示的外部命令:
表30-1 “ACAD.PGP”文件中定义的外部命令
外部命令
说明
CATALOG
DOS方式下的DIR/W命令
DEL
DOS方式下的DEL命令
DIR
DOS方式下的DIR命令
EDIT
DOS方式下的EDIT命令
SH
转入操作系统命令状态
SHELL
转入操作系统命令状态
START
DOS方式下的START命令
TYPE
DOS方式下的TYPE命令
EXPLORER
调用资源管理器程序
NOTEPAD
调用记事本程序
PBRUSH
调用画图程序
外部命令在“ACAD.PGP”文件中定义,其定义格式为:
命令名,执行描述,控制码,[*]提示,返回码
其中各项说明如下:
(1) 命令名:即在AutoCAD系统的命令行中输入命令字符串。命令名不区分字母的大小写,但不能与AutoCAD内部命令相同,否则将被忽略。
(2) 执行描述:是输入命令名时传递给操作系统的字符串,可包含参数或开关。该字符串是否区分大小写由运行的应用程序决定。
(3) 控制码:位编码参数,如表30-2所示。位编码可按任意组合使用,方法是将要使用的编码值相加以得到所需的结果。例如编码值为3,则表示为1和2的组合。
表30-2 位编码参数表
编码
意义
0
启动应用程序并等待结束
1
不等应用程序结束
2
最小化运行应用程序
4
“隐藏”运行应用程序
8
将参数字符串括在引号中
注意 位值2和4是互斥的,如果同时指定了这两个位值,那么只使用2位。指定位值8可以处理包含空格的文件名,但将导致不能使用用空格分隔的文件名列表。因此,使用多文件支持时不要使用位值8。
(4) 提示:可选项,用于指定显示在AutoCAD命令行中的提示。如果提示字段的第一个字符是“*”,则允许使用空格,这时必须按Enter键结束响应;否则,用空格键或Enter键均可。
(5) 返回码:可选项的位编码参数,位编码可按任意组合使用。各值的含义如表30-3所示。
表30-3 返回码参数表
编码
意义
0
返回到文本窗口
1
加载DXB文件。AutoCAD在命令结束后将名为$cmd.dxb的DXB文件加载到图形中
2
用DXB文件构造块定义,AutoCAD用名为$cmd.dxb的DXB文件创建块定义,块名为对提示字段的响应。此位编码必须与位编码1一起使用。这种模式不能重定义以前定义的块
4
恢复文本/图形模式。在命令结束时返回到所在的(文本或图形)模式;否则,将返回到文本模式
下面给出了在“ACAD.PGP”文件中定义的外部命令示例:
; Examples of external commands for command windows
CATALOG,
DIR /W,
8,
File specification:
DEL,
DEL,
8,
File to delete:
DIR,
DIR,
8,
File specification:
EDIT,
START EDIT,
9,
File to edit:
SH,
,
1,
*OS Command:
SHELL,
,
1,
*OS Command:
START,
START,
1,
*Application to start:
TYPE,
TYPE,
8,
File to list:
; Examples of external commands for Windows
; See also the (STARTAPP) AutoLISP function for an alternative method
EXPLORER,
START EXPLORER,
1,
,
NOTEPAD,
START NOTEPAD,
1,
*File to edit:
PBRUSH,
START PBRUSH,
1,
,
其中“;”后面为注释文字。
用户可根据上述的格式自定义外部命令,并将其插入到“ACAD.PGP”文件中,即可在AutoCAD系统中使用。例如,“ACAD.PGP”文件中插入如下外部命令的定义:
MINE,
START WINMINE,
1,
,
完成后,用户就可随时在AutoCAD命令行中调用MINE命令来打开扫雷游戏程序。