1 / 5
工程图中标注序号的
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
适当位置中加入一项
: