eyeofnewt555 发表于 2022-7-5 16:44:02

可以创建多重引线

嘿伙计们,
 
那么,是否可以使用lisp根据属性自动标记块?理想情况下,它也将是一个字段,因此如果属性发生更改,multitleader文本也会发生更改。
 
例如,假设我有一个橡树的动态块,它有三种尺寸:2“、3”和4”。
 
如果我能运行LISP创建一个读取“2”-Oak Tree的多重引线,那就太好了。如果其中的2”部分是一个字段,并且在动态块更改为4”状态时更新,那就太好了。
 
作为参考,这张很棒的李·麦克里斯普是我目前用来贴标签的,非常棒。理想情况下,我最终会以某种方式将属性/字段标记组件与这个lisp结合起来。
 
最后,我对编写Lisp一点也不擅长,但我想知道这个如何工作,这样我就可以根据需要自己修改它了。
 
谢谢你的帮助!

Grrr 发表于 2022-7-5 17:52:47


; 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]
查看完整版本: 可以创建多重引线