标注界址点号lisp_CAD工程图中标注序号的LISP程序

在工程设计工作中,经常要对设备、零件等标注序号。根据标准化要求,在标注点处要加上实心小圆点,然后引出直线 ;在另一端画出一个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 ;用鼠标点取最为方便。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值