我的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 |