在工程設計工作中,經常要對設備、零件等標註序號。根據標準化要
求,在標註點處要加上實心小圓點,然後引出直線 ;在另一端畫出一
個8~10mm的圓 ;在圓中寫上所標註的序號文字。用AutoCAD基本命令
完成上述工作費工費時,並且不易修改,特別是在圖形密集處,效果
很不理想,圖面質量差。
我們利用AutoLISP語言編製了BXH.LSP(標序號),很好地解決了以
上問題,該程序為AutoCAD增加了一條BXH命令,可方便地在圖紙中標
注序號,並且如果修改或刪除標註也十分方便,工效提高十倍以上。
根據該程序的編製原理,可演繹出使用在機械製圖中標註序號,標註
焊接符號等程序。
BXH.LSP源程序如下:
;---------------------------
(defun C:Bxh (/ p1 p2 p3 1 ang 1 bx bxh radi txth) ;標序號
(setq radi 5) ;圓圈半徑
(setq txth 5) ;字高
(if (not bx) (setq bx 1))
(setq p1 (getpoint "/n請選擇起點:")) ;在零件上選一點
(setq p2 (getpoint "/n請選擇第二點或回車表示無第二點")) ;
標註位置處一點
(setq bxh (getint (gstr "/n請輸入序號" bx))) ;序號數
(if bxh (setq bx bxh))
(cond (p2
(command "layer" "set" 2 " ") ;改到畫細線圖層
(setq ang 1 (angle p1 p2))
(setq p3 (polar p1 ang (-(distance p1 p2) radi))) ;畫圓
、線
(command "pline"
(polar p1 ang 1 0.25)
"w" 0.5 0,5 "A" "CE"p1"A"359.9"L""W"0 0 p3"")
(command"circle"p2 radi)
(command "layer" "set" 6 " " ;改到寫文字圖層
"text" "J" "M" p2 txth 0 bx) ;寫文字
)
((not p2) ;如果在零件中直接標註
(command "layer" "set" 2 " ") ;改到畫細線圖層
(Command "circle" p1 radi) ;畫圓
(command "layer" "set" 6 " " ;改到寫文字圖層
"text" "J" "M" p1 txth 0 bx) ;寫文字
)
)
(setq bx (+ bx 1))
(princ)
)
;-----------------------
程序的使用方法,在Command:提示符下,鍵入(Load"BXH")回車后
再鍵入BXH,然後按屏幕提示輸入對應項即可。因為這個命令經常使用
,建議把它裝在菜單文件,在ACAD.MNU適當位置中加入一項:
標序號]^c^c(LOAD "BXH") ;BXH ;用滑鼠點取最為方便。