0 Members and 1 Guest are viewing this topic.
(defun ReTagDup (bname Tag2Inc / bname Tag2Inc Blocks Found)(vl-load-com) (setq TagLoop Tag2Inc)(if (setq Blocks (ssget "_X" (list '(0 . "INSERT")'(66 . 1)(cons 2 bname)))) (progn (repeat (sslength blocks) (setq Found (vl-remove-if-not '(lambda (x) (assoc (car x) Tag2Inc)) (mapcar (function (lambda (at) (list (vla-get-tagstring at) at) )) (vlax-invoke (vlax-ename->vla-object (setq e (ssname Blocks 0))) 'Getattributes) ))) (foreach itm (vl-sort Found '(lambda (j k) (< (car j)(car k)))) (setq inc (assoc (Car itm) TagLoop)) (vla-put-tagstring (cadr itm) (strcat (car inc) (itoa (setq i (cadr inc))))) (setq TagLoop (subst (list (car inc) (setq i (1+ i))) inc TagLoop)) ) (setq TagLoop Tag2Inc) (ssdel e blocks) )(vlax-for att (vla-item (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))) bname) (if (and (eq (vla-get-objectname att) "AcDbAttributeDefinition") (setq ren (assoc (vla-get-tagstring att) Tag2Inc))) (progn (vla-put-tagstring att (strcat (car ren) (itoa (setq i (cadr ren))))) (setq Tag2Inc (subst (list (car ren) (setq i (1+ i))) ren Tag2Inc)))) ) (command "_attsync" "_Name" bname))(princ "\n0 Objects Selected") )(princ) )(ReTagDup "cogoblock" '("Type" 1))