;;;;建议用户在学习本章之前将“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命令来打开扫雷游戏程序。
;