https://lebim.cn/a/%5Burl=http://hizliresim.com/7mPD25%5D%5Bimg%5Dhttp://i.hizliresim.com/7mPD25.jpg 这会告诉你名字
(princ "\nPick a block)
(setq bname (cdr (Assoc 2 (entget (car (entsel))))))
(alert (strcat "Block name is " bname))
如果你(solidworks2014)对你的问题更具描述性,这可能会有帮助。 试试这个。
(defun c:blknm()
(setq blknm (cdr (Assoc 2 (entget (car (entsel))))))
(setq ptxt (getpoint"\nPoint"))
(COMMAND "TEXT" ptxt 5 0 blknm )
) 对于不使用DXF代码2(即线)的实体,该代码将失败,因此只过滤块可能很有趣:
(if (and (setq ssetBlock (ssget "_:S:E" '((0 . "INSERT"))))
(setq nameBlock (cdr (assoc 2 (entget (ssname ssetBlock 0)))))
(setq pointPick (getpoint "\nInsertion point: ")))
(command "_TEXT" "_J" "_MC" "_non" pointPick (getvar "TEXTSIZE") 0.0 nameBlock)
) 谢谢MSasu的澄清,你是对的。 MSasu为什么它们都无法使用动态块,如果可以使用DB,请澄清原因。
谢谢 对于动态块,请检查Lee Mac的这篇文章。 看看我们是怎么猜测的(solidworks2014,你们在哪里),伙计们,为什么不把块插入pt拔出,也做一个快速的polar和写块名,消除拾取点的需要。
页:
1
[2]