工程圖中標(biāo)注序號的LISP程序
(作者未知) 2009/7/19
在工程設(shè)計工作中,經(jīng)常要對設(shè)備、零件等標(biāo)注序號。根據(jù)標(biāo)準(zhǔn)化要求,在標(biāo)注點處要加上實心小圓點,然后引出直線;在另一端畫出一個8~10mm的圓;在圓中寫上所標(biāo)注的序號文字。用AutoCAD基本命令完成上述工作費工費時,并且不易修改,特別是在圖形密集處,效果很不理想,圖面質(zhì)量差。
我們利用AutoLISP語言編制了BXH.LSP(標(biāo)序號),很好地解決了以上問題,該程序為AutoCAD增加了一條BXH命令,可方便地在圖紙中標(biāo)注序號,并且如果修改或刪除標(biāo)注也十分方便,工效提高十倍以上。根據(jù)該程序的編制原理,可演繹出使用在機(jī)械制圖中標(biāo)注序號,標(biāo)注焊接符號等程序。
BXH.LSP源程序如下:
;---------------------------
(defunC:Bxh(/p1p2p31ang1bxbxhraditxth);標(biāo)序號
(setqradi5);圓圈半徑
(setqtxth5);字高
(if(notbx)(setqbx1))
(setqp1(getpoint"\n請選擇起點:"));在零件上選一點
(setqp2(getpoint"\n請選擇第二點或回車表示無第二點"));標(biāo)注位置處一點
(setqbxh(getint(gstr"\n請輸入序號"bx)));序號數(shù)
(ifbxh(setqbxbxh))
(cond(p2
(command"layer""set"2"");改到畫細(xì)線圖層
(setqang1(anglep1p2))
(setqp3(polarp1ang(-(distancep1p2)radi)));畫圓、線
(command"pline"
(polarp1ang10.25)
"w"0.50,5"A""CE"p1"A"359.9"L""W"00p3"")
(command"circle"p2radi)
(command"layer""set"6"";改到寫文字圖層
"text""J""M"p2txth0bx);寫文字
)
((notp2);如果在零件中直接標(biāo)注
(command"layer""set"2"");改到畫細(xì)線圖層
(Command"circle"p1radi);畫圓
(command"layer""set"6"";改到寫文字圖層
"text""J""M"p1txth0bx);寫文字
)
)
(setqbx(+bx1))
(princ)
)
;-----------------------
程序的使用方法,在Command:提示符下,鍵入(Load"BXH")回車后再鍵入BXH,然后按屏幕提示輸入對應(yīng)項即可。因為這個命令經(jīng)常使用,建議把它裝在菜單文件,在ACAD.MNU適當(dāng)位置中加入一項:
標(biāo)序號]^c^c(LOAD"BXH");BXH;用鼠標(biāo)點取最為方便。
|