工程图中标注序号的LSP程序 在工程设计工作中,经常要对设备、零件等标注序号。根据标准化要求,在标注点处要加上 实心小圆点,然后引出直线;在另一端画出一个8~10mm的圆;在圆中写上所标注的序号 文字。用 AutoCAD基本命令完成上述工作费工费时,并且不易修改,特别是在图形密集处, 效果很不理想,图面质量差 我们利用 AutoLISP语言编制了 BXH LSE(标序号),很好地解决了以上问题,该程序为 AutoCAD增加了一条BXH命令,可方便地在图纸中标注序号,并且如果修改或删除标注也 十分方便,工效提高十倍以上。根据该程序的编制原理,可演绎出使用在机械制图中标注序 号,标注焊接符号等程序 BXH LSP源程序如下 ( defun c Bxh(plp2p3 I ang I bx bxh radi txt);标序号 ( setq radi5);圆圈半径 ( setq toth5);字高 (if (not bx)(setq bx 1)) ( setq pl( setpoint"hn请选择起点");在零件上选一点 ( seta p2( setpoint"hn请选择第二点或回车表示无第二点");标注位置处一点 ( setq bxh( getint(gstr"hn请输入序号"bx);序号数 (if bxh(setq bx bxh)) ( command" layer"setr"2"");改到画细线图层 ( etq ang I(angle pl p2)) ( setq p3( polar pl ang(-( distance pl p2)radi);画圆、线 (command"pline (polar pI ang 1 0.25) "w"0.50.5"A""CE"pl"A"3599"L"W"00p3") (command"circle"p2 radi) ( command" layer"setr"6"";改到写文字图层 text"J""M"p2tth0bx);写文字 (notp2);如果在零件中直接标注 ( command" layer"st"2"");改到画细线图层 ( Command" circle" pI radi);画圆 ( command" layer"set"6"";改到写文字图层 "text"J"M" pI toth0bx);写文字 (setq bx (+ bx 1)) 程序的使用方法,在 Command:提示符下,键入(Load"BXH")回车后再键入BXH,然后 按屏幕提示输入对应项即可。因为这个命令经常使用,建议把它装在菜单文件,在 ACAD. MNU适当位置中加入一项
工程图中标注序号的 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"BXIH"),BXH;用鼠标点取最为方便
标序号]^c^c(LOAD "BXH") ;BXH ;用鼠标点取最为方便