AutoLISP Experience: Minimal
Background: Someone exploded an attribute block and copied it hundreds of times throughout a project, each time changing the Attribute Tag to match the Value they expected to appear in their drawing. The drawing must be xrefed, so the attribute definitions do not appear.
(There is only 1 attribute in the block.)
Proposed Solutions:
1:AutoLISP routine which copies Tag data from Attribute Definition into Value of Attribute Block:
Prompt-Select Attribute Definition
Copy Tag data
Prompt-Select Attribute Block
Paste data into Value
(Allow repeat to speed workflow)(*PREFERRED*)
2:AutoLISP routine which copies Tag data from Attribute Definition into Default Value and creates a new Block:
Prompt-Select Attribute Definition
Copy Tag data
Paste data into Default Value
Create New Block
(Select Multiple Objects)(Creates tons of new blocks which are messy)
Solved! Go to Solution.
Solved by _Tharwat. Go to Solution.
This would help you with the first part of your request ...
(defun c:TesT (/ attributeDefinition attent ss i n e) ;; Tharwat 08. Dec. 2011 ;; (if (and (setq attributeDefinition (car (entsel "\n Select Attribute definition :" ) ) ) (eq (cdr (assoc 0 (setq attent (entget attributeDefinition)))) "ATTDEF" ) (progn (prompt "\n Select Attributed Blocks ") (setq ss (ssget "_:L" '((0 . "INSERT") (66 . 1)))) ) ) (repeat (setq i (sslength ss)) (setq n (entnext (ssname ss (setq i (1- i))))) (while (not (eq (cdr (assoc 0 (setq e (entget n)))) "SEQEND" ) ) (entmod (subst (cons 1 (cdr (assoc 2 attent))) (assoc 1 e) e) ) (setq n (entnext n)) ) ) ) (princ) )
Thanks so much, this worked great!
You probably cut our repair time down to a quarter of what it would have been or better.
Exactly what we were looking for.
@MontgomeryRoth wrote:Thanks so much, this worked great!
You probably cut our repair time down to a quarter of what it would have been or better.
Exactly what we were looking for.
You're welcome .
I am glad to hear that .