Visual LISP 依附在 AutoCAD 裏另一個例子,看看下面這行程式碼
(SETVAR "CLAYER" "標註")
首先,它有一組括號,符合 LISP 的特徵
第二,第一個文字 SETVAR,基本上可以猜出它是設定變數的函數
(SET VARIABLE),你可以在 AutoCAD 文字指令中輸入SETVAR,馬上可以了解這是設定 AutoCAD 系統變數的命令,有興趣的話,如果再輸入
"?" 跟 "*" 便可以瀏覽到完整的系統變數 (很多,很多,很多
...)。
再來 "CLAYER",如果你眼睛夠犀利, 就可以在一行行系統變數中看到這個字,很明顯的它的設定值是目前所使用的圖層名稱。
到此,真相大白,基本上這行程式碼就是設定 "標註" 成為預設所使用的圖層。
那又如何?
在使用 CAD 繪圖時,常常有某些圖元 (線,圓,文字
...) 一定歸屬於某一特圖層,例如線性標註會設定在 "標註"
這個圖層上 (當然,叫做 "DIMENSION", "DIM" 也很常見),於是每次繪圖前,往往第一個動作不是去找標註的命令按鈕,而是先去變更圖層。
如果 (SETVAR "CLAYER" "標註")
跟 dimlinear 能夠同時執行,那麼自然可以提高效率 (或是說 $)。
怎麼作,方法如下
1. 滑鼠移到按鈕上方,按下右鍵。
2. 從浮動選單中往下找,直到最下面「自訂(C)...」
3. 在「自訂指令介面」對話盒中,找到此按鈕之命令 (左上方區域),選到"線性標註"這個之指令 (2006)
(或是用選單中 工具(T) / 自定(C) / 介面(I))
4. 此時,可以看到 AutoCAD 所設定原始巨集,應該是^C^C_dimlinear (^C^C 是強迫中斷執行中指令,避免在別的指令中執行
_dimlinear)
5. 編輯它成為 ^C^C(SETVAR
"CLAYER" "標註");_dimlinear
(注意,要有分號,不要有多餘的空格)
6. 確定後即可使用
當然,圖檔中必須要有 "標註"
這個名稱之圖層,否則會有錯誤訊息。
沒有留言:
張貼留言