因為lisp在開發上的限制,有時會藉由其它開發工具結合使用!
此時可應用 zwcad.pgp 或 acad.pgp
在裡面有些範例
DEL, DEL, 8,要刪除的檔: ,
DIR, DIR, 8,指定檔: ,
EDIT, START EDIT, 9,要編輯的檔: ,
同理我們可以加入自已開發的命令
定義外部命令時,需要指定在 AutoCAD 命令提示中使用的命令名,以及傳遞給操作系統的可執行命令字符串。外部命令部分中的每行都包括以逗號分隔的五個字段,如下所示:
在命令提示中輸入的命令。如果此名稱是 AutoCAD 內部命令名,則該命令將被忽略。命令名不區分大小寫。
executable
輸入命令名時傳遞給操作系統的常量字符串,可以是能在操作系統提示中執行的任何命令。字符串可包含開關或參數。該字符串是否區分大小寫由運行的應用程序決定。
flags
所需位碼參數。按任意組合將下面這些整數值相加以得到所需的結果。
0 啟動應用程序並等待結束。
1 不等待應用程序結束。
2 最小化運行應用程序。
4 「隱藏」運行應用程序。
8 將參數字符串括在引號中。
位值 2 和 4 是互斥的,如果同時指定了這兩個位值,那麼只使用 2 位。因為 AutoCAD 在應用程序運行時不能使用,所以應盡量避免不帶值 1 的值 2 或 4。
位值 8 使 del 這類命令可以正確處理包含空格的文件名。注意這將導致不能向這些命令傳遞用空格分隔的文件名列表。如果想使用多文件支持,則不要使用位值 8。
prompt
可選字段。它指定顯示在 AutoCAD 命令行中的提示。此提示的響應被添加到 executable 字段提供的字符串後面。如果 prompt 字段的第一個字符是星號 (*),則響應可以包含
空格,用戶必須按ENTER鍵結束響應。或者,可以用空格鍵或ENTER鍵結束響應。如果未指定 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 系統命令
定義外部命令時,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 文件,請在 DOS 提示下輸入以下命令:
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 文件格式」作為當前打印機,然後打印到文件。關於配置打印機的詳細信息,請參見驅動程序和外圍設備手冊中的 設置繪圖儀和打印機。
沒有留言:
張貼留言