可以创建多重引线
嘿伙计们,那么,是否可以使用lisp根据属性自动标记块?理想情况下,它也将是一个字段,因此如果属性发生更改,multitleader文本也会发生更改。
例如,假设我有一个橡树的动态块,它有三种尺寸:2“、3”和4”。
如果我能运行LISP创建一个读取“2”-Oak Tree的多重引线,那就太好了。如果其中的2”部分是一个字段,并且在动态块更改为4”状态时更新,那就太好了。
作为参考,这张很棒的李·麦克里斯普是我目前用来贴标签的,非常棒。理想情况下,我最终会以某种方式将属性/字段标记组件与这个lisp结合起来。
最后,我对编写Lisp一点也不擅长,但我想知道这个如何工作,这样我就可以根据需要自己修改它了。
谢谢你的帮助!
; Attribute to mleader with field
(defun C:test ( / p )
(and
(setq p (nentsel "\nSelect attribute: "))
(= 2 (length p))
(= "ATTRIB" (cdr (assoc 0 (entget (car p)))))
(progn
(command "_.MLEADER")
(while (= (logand (getvar 'cmdactive) 1) 1) (command pause)) ; this is required for multisegment mleader
(vla-put-TextString (vlax-ename->vla-object (entlast))
(strcat
"%<\\AcObjProp Object(%<\\_ObjId "
(itoa (vla-get-ObjectId (vlax-ename->vla-object (car p))))
">%).TextString>%"
)
)
(vla-Regen (vla-get-ActiveDocument (vlax-get-acad-object)) acActiveViewport)
); progn
); and
(princ)
); defun
祝你好运
页:
[1]