AutoCAD繪圖時,我們在對象捕捉設置中設置了交點、中點等等的對象捕捉,可是運行一些程序后,這些設置卻自動消失了,害的我們又要重新設置,這是為什么呢?原來有些程序為了運行的需要,自己按需來選擇或取消捕捉設置。如果程序運行完了,而捕捉設置為空了,那么程序最后就將捕捉設置設置為無了。這些操作涉及了一個很關鍵的系統變量OSMODE,無捕捉設置,則系統變量OSMODE為零值,程序代碼為:
(setvar "osmode" 0)
下面我們先來看看OSMODE變量幫助參考:
類型:整數
保存位置:注冊表
初始值:4133
使用以下位碼設置“對象捕捉”的運行模式:
0 :NON(捕捉設置為無)
1 :END(捕捉設置為捕捉到端點)
2 :MID(捕捉設置為捕捉到中點)
4 :CEN(捕捉設置為捕捉到圓心)
8 :NOD(捕捉設置為捕捉到節點)
16 :QUA(捕捉設置為捕捉到象限點)
32 :INT(捕捉設置為捕捉到交點)
64 :INS(捕捉設置為捕捉到插入點)
128 :PER(捕捉設置為捕捉到垂足)
256 :TAN(捕捉設置為捕捉到切點)
512 :NEA(捕捉設置為捕捉到最近點)
1024 :QUI(捕捉設置為捕捉到快速)
2048 :APP(捕捉設置為捕捉到外觀交點)
4096 :EXT(捕捉設置為捕捉到尺寸線)
8192 :PAR(捕捉設置為捕捉到平行)
以上數值即為要設置何種捕捉類型,程序中OSMODE所需賦的位碼值。如果要指定多個對象捕捉方式,則需要輸入各個位碼值之和。例如,輸入 3 則指定“端點”(位碼 1) 和“中點”(位碼 2) 對象捕捉。你大可不用擔心代碼和會與單個代碼重復,因為這些代碼數值都是經過精心選擇的,不信你可以加加看。
特別需要注意,如果輸入16383(以上所有單個代碼和)則指定全部對象捕捉方式開。
使用狀態行的“對象捕捉”按鈕關閉對象捕捉模式,除了返回 OSMODE 的普通值,還將返回位碼 16384 (0x4000)。這個附加值有助于開發人員編寫 AutoCAD 應用程序并將此模式與“繪圖設置”對話框關閉的對象捕捉模式區別開來。設置此位碼值將關閉對象捕捉。在該位碼值關閉時將 OSMODE 設置為其他值可以打開對象捕捉。
下面我們來編寫一些簡單的lsp程序,以充分了解OSMODE代碼值在捕捉設置中的作用。
第一個程序,我們要實現單個捕捉設置開,比如設置為捕捉到垂足,程序如下:
(DEFUN C:kqcz() ;設置捕捉到垂足方式
(setvar "osmode" 16383)
)
第二個程序,我們來實現多個捕捉設置開,比如設置為捕捉到端點,捕捉到交點和捕捉到最近點,那么代碼和就是1+32+512=545,程序如下:
(DEFUN C:kqdjz() ;設置捕捉到端點,捕捉到交點和捕捉到最近點方式
(setvar "osmode" 16383)
)
第三個程序,我們要實現所有捕捉設置開,程序如下:
(DEFUN C:kqpz() ;設置全部對象捕捉方式
(setvar "osmode" 16383)
)
現在大家對osmode有了全新的認識了吧。大家可以把以上代碼編成小lsp程序,加載到cad中,也算是快捷鍵吧。
相關文章
- 2021-08-10中文版AutoCAD 2002輔助設計入門與提高PDF下載
- 2021-08-01Visual LISP程序設計(AutoCAD 2006)PDF下載
- 2021-07-30AutoCAD程序設計魔法書 [AutoLISP DCL基礎篇]PDF下載
- 2021-07-26AutoCAD 基礎項目教程工程平面制圖入門提高機械、建筑
- 2021-07-23AutoCAD 機械設計入門與提高2014版 [北京兆迪科技有限
- 2021-07-11采礦AutoCAD 2006入門與提高PDF下載
- 2021-06-19AUTOCAD2012中文版室內裝潢設計入門與提高精華版 [趙
- 2021-06-18AutoCAD電氣設計快速入門與提高PDF下載
- 2021-05-28CADCAM軟件入門與提高 AutoCAD 2010中文版入門與提高P
- 2021-05-27CADCAM軟件入門與提高 AutoCAD 2010中文版入門與提高P