Tharwat 发表于 2022-7-6 02:53:23

 
您在第#5号帖子中错误地给出了属性块的名称。
 
因此,在我的代码中更改块的名称,如下所示:
 

(setq tag "DT3" ss(ssget "_X" '((0 . "INSERT") (66 . 1) (2 . "Title-A1-Text")) ))

运行代码并告诉我。

fixo 发表于 2022-7-6 02:56:10

我的2美分,完全借用了帕特里克的密码:


(defun C:TBP (/ adoc alayouts match tag)
   (setq
tag"DT3"
match "(PART *"

)
(setq adoc
(vla-get-activedocument(vlax-get-acad-object))
alayouts
(vla-get-layouts adoc))
(vlax-for alayout alayouts

   (vlax-for obj (vla-get-block
alayout)
(if (and (eq "AcDbBlockReference"(vla-get-objectname
obj))
(eq (strcase (vla-get-effectivename obj))
"TITLE_A1_TEXT")

(vlax-write-enabled-p obj))
(vl-some

'(lambda (x)
       (if

(and
    (eq (vla-get-tagstring x)
tag)
    (wcmatch (strcase (setq str (vla-get-textstring
x))) match)
)

(vl-catch-all-error-p

(vl-catch-all-apply

'vla-put-textstring
       (list x
(strcat "MEP " str))
   )

)

)
   )
    (vlax-invoke
obj 'getattributes)

)
)
   )

)
   (princ)
)

谢谢,PBe

thbaiju 发表于 2022-7-6 03:04:00

谢谢pBe
其作品。。。。。

Tharwat 发表于 2022-7-6 03:05:35

你试过我的密码吗?
页: 1 [2]
查看完整版本: 属性值更新全局