autolisp 中的系統變數 cmdecho osmode blimode

autolisp 中的系統變數 cmdecho osmode blimode

一. 「CMDECHO」指令名稱,為控制使用AutoLISP(command)函數,回應提示與輸入資料。0 為不回應,1 為回應。

二. 「OSMODE」物件鎖點模式,其值均儲存於圖檔中,一般預設值為零,但也有圖面或作圖環境的預設值為其他值。此種情況有時會導致在使用AutoLISP來繪圖的過程中,因鎖點模式而有所干擾,故常在AutoLISP的前面寫入「(Setvar “osmode" 0)」。鎖點模式的值分別如下:
0 無 (NON)
1 端點 (END)
2 中點 (MID)
4 中心點 (CEN)
8 單點 (NOD)
16 四分點 (QUA)
32 交點 (INT)
64 插入點 (INS)
128 垂直點 (PER)
256 相切點 (TAN)
512 最近點 (NEA)
1024 快速
2048 外觀交點 (APP)
4096 延伸外觀交

三. 另補充「BLIMODE」,此為點記模式。為控制點記符號,即十字光點的顯示與否,0 為關閉,1 為顯示。
總合以上,建議在每個AutoLISP開頭要加入:
(Defun C:EraseAll(/ )
; 上述 EraseAll 為指令名, 隨使用者自定
(Setvar “cmdecho" 0)
; 將指令提示設為零
(Setvar “blipmode" 0)
; 將光點顯示設為零
(Setvar “osmode" 0)
; 將鎖點模式設為零, 總合以上三行指令, 為完成環境歸零動作
(Command “Erase" “All" “")
(princ)
)