;;Tip1881: ATTRIB-COPY.LSP COPY ATTRIBUTES (c) 2003 Clinton Cogswell ;;;Attrb copy.lsp ;;;written by Clinton Cogswell ;;;January, 2003 ;;;TEXT_TO_COPY -object to copy ;;;TEXT_TO_CHANGE -objects to change (defun c:ac (/ TEXT_TO_COPY TEXT_TO_CHANGE) (setvar "cmdecho" 0) (command "_.UNDO" "_Group") ;-selects objects to be COPIED (WHILE (= TEXT_TO_COPY NIL) (SETQ TEXT_TO_COPY (NENTSEL "\nSelect attrib or text to copy: ")) (IF (= TEXT_TO_COPY NIL)(ALERT "Please select text or attrib.....")) ) ;-End of while statement (IF (/= NIL TEXT_TO_COPY) (PROGN (SETQ TEXT_TO_COPY (ENTGET (CAR TEXT_TO_COPY))) ) ) ;-End of if statement ;-selects objects to be changed (SETQ TEXT_TO_CHANGE (NENTSEL "\nSelect TARGET attrib or text, or [Enter] for multiple copies")) ;-If user presses enter the program goes into a while loop to select muliple objects (if (= TEXT_TO_CHANGE nil) (progn (SETQ TEXT_TO_CHANGE 1) (WHILE TEXT_TO_CHANGE (SETQ TEXT_TO_CHANGE (NENTSEL)) (setq REGEN_NAME TEXT_TO_CHANGE) (IF (= (length REGEN_NAME) 4)(SETQ REGEN_NAME (CADDDR REGEN_NAME))) (SETQ TEXT_TO_CHANGE (ENTGET (CAR TEXT_TO_CHANGE))) (setq TEXT_TO_CHANGE (subst (assoc 1 TEXT_TO_COPY) (assoc 1 TEXT_TO_CHANGE) ; Changes the text value group in TEXT_TO_CHANGE. TEXT_TO_CHANGE ; to the text value of TEXT_TO_COPY. ) ) (entmod TEXT_TO_CHANGE) (entupd (car REGEN_NAME)) ) )) ;-end of while loop ;-changes a single object (if (/= TEXT_TO_CHANGE nil) (progn (setq REGEN_NAME TEXT_TO_CHANGE) (IF (= (length REGEN_NAME) 4)(SETQ REGEN_NAME (CADDDR REGEN_NAME))) (PROGN (SETQ TEXT_TO_CHANGE (ENTGET (CAR TEXT_TO_CHANGE))) ) (setq TEXT_TO_CHANGE (subst (assoc 1 TEXT_TO_COPY) (assoc 1 TEXT_TO_CHANGE) TEXT_TO_CHANGE ) ) (entmod TEXT_TO_CHANGE) (entupd (car REGEN_NAME)) ) );-end of single change (command "_.UNDO" "End") (PRINC) ) (princ "\nAttribute Copy written by Clinton Cogswell....") (princ "\n\tAC (Attribute/copy) loaded. Start command with AC.")