实现CAD快速注记编号,可以通过lisp语言实现快速注记,注记样式中:编号样式,引线,边框,文字样式均可以自己设置。
;参数初始化
(defun chushihua()
;(setvar "cmdecho" 0)
(setq bhlx 0)
(write-line "编号类型:0")
(setq bh0 0)
(write-line "编号初值:1")
(setq bh1 64)
(setq bh2 0)
(setq bh3 64)
(setq yx "Y")
(write-line "引线:Y")
(setq bklx "Y")
(write-line "边框:Y")
(setq r 2.5)
(setq zidong_r t)
(write-line "边框圆半径:自动")
(setq th 3.5)
(write-line "文字高度:3.5")
(setq ta 0)
(write-line "文字旋转角度:0")
(setq jl 1)
(write-line "编号到引线距离:1")
(setq jiantou 2.5)
(write-line "箭头大小:2.5")
(setq chang 5)
(setq zidong_chang t)
(write-line "水平段引线长度:自动")
(setq qianzhui2 "")
(write-line "自然数前缀:无")
(setq houzhui2 "")
(write-line "自然数后缀:无")
(setq qianzhui3 "")
(write-line "字母前缀:无")
(setq houzhui3 "")
(write-line "字母后缀:无")
(setq pianyi 7)
(write-line "边框自动处理时,文字到边框的偏移系数:7")
)
(chushihua)
;主函数*********************************************************************
(defun c:BHZJ(/ o ob)
(defun er(str)
(setvar "osmode" dx)
(princ "\n编号注记已取消")
)
(setq erod *error* *error* er)
(if (= yx "N")
(progn
(initget "C Y K W H T")
(setq ob (getpoint "\n指定编号位置[编号初值(C)/引线(Y)/边框(K)/文字(W)/还原为默认设置(H)/退出(T)]:<编号设置样式/默认设置>"))
(if (or (= ob "C") (= ob "Y") (= ob "T") (= ob "K") (= ob "W") (= ob "H") (= ob nil))
(progn
(if (= ob "C") (chuzhi))
(if (= ob "Y") (yinxian))
(if (= ob "K") (bkshezhi))
(if (= ob "W") (wenzi))
(if (= ob "H") (chushihua))
(if (= ob nil) (gaodu0))
(if (= ob "T") (exit))
)
(progn
(huitu o ob)
)
)
)
(progn
(initget "C Y K W H T")
(setq o (getpoint "\n指定标注位置[编号初值(C)/引线(Y)/边框(K)/文字(W)/还原为默认设置(H)/退出(T)]:<编号之前请先将当前文字样式的文字高度项设为0>"))
(if (or (= o "C") (= o "Y") (= o "T") (= o "K") (= o "W") (= o "H") (= o nil))
(progn
(if (= o "C") (chuzhi))

该博客介绍了如何使用LISP语言在AutoCAD中实现快速自定义编号注记,包括编号样式、引线、边框和文字样式的设置,以及详细的操作流程和参数配置方法。
最低0.47元/天 解锁文章
717

被折叠的 条评论
为什么被折叠?



