以适应您发布的条件:
- (defun c:c2 (/ ss i e tag str_ str)
- (setq tag "DT3"
- str_ "*PART*"
- )
- (if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1)(2 . "`*U*,Title_A1_Text")(410 . "~Model"))))
- (repeat (setq i (sslength ss))
- (setq e (vlax-ename->vla-object (ssname ss (Setq i (1- i)))))
- (if (and (Eq (Strcase (vla-get-effectivename e)) "TITLE_A1_TEXT")
- (vlax-write-enabled-p e))
- (vl-some
- '(lambda (x)
- (if
- (and
- (eq (vla-get-tagstring x) tag)
- (wcmatch (strcase (setq str (vla-get-textstring x))) str_)
- (not (wcmatch str "[MmEePp]*"))
- )
- ;;; in case layer "0" is also locked considering ;;;
- ;;; most blocks are created at layer "0" ;;;
- (vl-catch-all-error-p
- (vl-catch-all-apply
- 'vla-put-textstring
- (list x (strcat "MEP " str))
- )
- )
- ;;; ;;;
- )
- )
- (vlax-invoke e 'Getattributes)
- )
- )
- )
- )
- (princ)
- )
|