您现在正在浏览:首页 > 职教文章 > 职教论文 > 工程图中标注序号的LISP程序

工程图中标注序号的LISP程序

日期: 2010-3-14 5:50:39 浏览: 65 来源: 学海网收集整理 作者: 未知

在工程设计工作中,经常要对设备、零件等标注序号。根据标准化要求,在标注点处要加上实心小圆点,然后引出直线;在另一端画出一个8~10mm的圆;在圆中写上所标注的序号文字。用AutoCAD基本命令完成上述工作费工费时,并且不易修改,特别是在图形密集处,效果很不理想,图面质量差。
我们利用AutoLISP语言编制了BXH.LSP(标序号),很好地解决了以上问题,该程序为AutoCAD增加了一条BXH命令,可方便地在图纸中标注序号,并且如果修改或删除标注也十分方便,工效提高十倍以上。根据该程序的编制原理,可演绎出使用在机械制图中标注序号,标注焊接符号等程序。
BXH.LSP源程序如下:
;---------------------------
(defunC:Bxh(/p1p2p31ang1bxbxhraditxth);标序号
(setqradi5);圆圈半径
(setqtxth5);字高
(if(notbx)(setqbx1))
(setqp1(getpoint"\n请选择起点:"));在零件上选一点
(setqp2(getpoint"\n请选择第二点或回车表示无第二点"));标注位置处一点
(setqbxh(getint(gstr"\n请输入序号"bx)));序号数
(ifbxh(setqbxbxh))
(cond(p2
(command"layer""set"2"");改到画细线图层
(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);如果在零件中直接标注
(command"layer""set"2"");改到画细线图层
(Command"circle"p1radi);画圆
(command"layer""set"6"";改到写文字图层
"text""J""M"p1txth0bx);写文字
)
)
(setqbx(+bx1))
(princ)
)
;-----------------------
程序的使用方法,在Command:提示符下,键入(Load"BXH")回车后再键入BXH,然后按屏幕提示输入对应项即可。因为这个命令经常使用,建议把它装在菜单文件,在ACAD.MNU适当位置中加入一项:
标序号]^c^c(LOAD"BXH");BXH;用鼠标点取最为方便。

返回顶部