
- (vl-load-com)
- (defun c:tt (/ thisdrawing e el o myerr olderr o1 tag bn)
- (defun myerr (msg)
- (if (/= msg "Cancel")
- (princ "\n*Cancel*")
- )
- (mapcar '(lambda (x) (set x nil))
- '(stylename height layer color scalefactor)
- )
- (vla-endundomark thisdrawing)
- (setq *error* olderr)
- (princ)
- )
- (setq thisdrawing (vla-get-activedocument (vlax-get-acad-object)))
- (if (and (setq e (entsel "\n拾取属性文字: "))
- (setq el (entget (car e)))
- (assoc 66 el)
- (= (cdr (assoc 0 el)) "INSERT")
- (setq bn (assoc 2 el))
- (setq e (car (nentselp (last e)))
- el (entget e)
- )
- (equal (assoc 0 el) '(0 . "ATTRIB"))
- (progn
- (princ "\n选择属性块...")
- t
- )
- (ssget (list bn))
- )
- (progn
- (setq olderr *error*
- *error* myerr
- )
- (vla-startundomark thisdrawing)
- (setq obj (vlax-ename->vla-object e)
- tag (vla-get-tagstring obj)
- )
- (mapcar
- (function
- (lambda (x)
- (set x (vl-catch-all-apply 'vlax-get-property (list obj x)))
- )
- )
- '(stylename height layer color scalefactor)
- )
- (vlax-for o (vla-get-activeselectionset
- (vla-get-activedocument (vlax-get-acad-object))
- )
- (mapcar
- '(lambda (o1)
- (mapcar (function (lambda (x)
- (if
- (= (vla-get-tagstring o1)
- tag
- )
- (vl-catch-all-apply
- 'vlax-put-property
- (list o1 x (eval x))
- )
- )
- )
- )
- '(stylename height layer color scalefactor)
- )
- )
- (vlax-invoke o 'getattributes)
- )
- )
- (mapcar '(lambda (x) (set x nil))
- '(stylename height layer color scalefactor)
- )
- (vla-endundomark thisdrawing)
- (setq *error* olderr)
- )
- )
- (princ)
- )
|