如何用引线的方式标注块名
作图时由块拼成的节点图,因为很多图中的块是相同的重复引线标注非常慢,请问高人如何用引线的方式标注块名,即点击图块拉出引线标注块名。谢谢回复 yansu 的帖子
是这样么?
(defun c:tt()
(setq en (car(entsel "\n选择图块:")))
(setq bn (cdr (assoc 2 (entget en)))
pt (cdr (assoc 10 (entget en)))
)
(command "mleader" pt (getpoint pt "\n标注位置:") bn)
)
本帖最后由 bai2000 于 2011-1-8 22:33 编辑
楼上,你的程序不能用啊 回复 bai2000 的帖子
你的cad版本是?2008下正常,其他版本没测试... cad2006下没有标注出文字,标注位置方向要自己点选,可以确定字体大小,能在cad2010下使用最好,谢谢
(defun c:tt()
(if (and (setq en (car(entsel "\n选择图块:")))
(setq ent (entget en))
(= (cdr(assoc 0 ent)) "INSERT")) (progn
(setq bn (cdr (assoc 2 ent))
pt (cdr (assoc 10 ent)))
(command ".leader" pt PAUSE "" bn "")
))
(princ)
)
需要多选标注ZZXXQQ 请出手 Gu_xl 发表于 2011-1-8 22:50 static/image/common/back.gif
回复 bai2000 的帖子
你的cad版本是?2008下正常,其他版本没测试...
06CAD也用不好的 刚刚找到这个东西。反现是很不错的东西 啊。不过有个问题有上面2位的代码的时候选择块以后引线的基点会飞得很远。而不是直接在块的基点上。能不能修改一下啊 ;; 块名引线标注 伪源码需要e派工具箱(XCAD)的支持
(defun c:tt ()
(CMDLA0)
(setq ss (ssget '((0 . "insert")))
i-1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq bn (xyp-get-dxf 2 s1)
pt (xyp-get-dxf 10 s1)
s2 (xyp-Text 5 (xyp-get-Pt2XY pt 1000 1000) bn)
)
(xyp-Leader s2 pt 0 0)
)
(CMDLA1)
)
页:
[1]
2