;;;Elise Moss ;;;www.mossdesigns.com ;;;November 2005 ;;;THIS ROUTINE FINDS AND REPLACES BLOCKS (defun c:brep () (setq oldbn (getstring "\nEnter block name to be replaced" )) (setq ss1 (ssget "x" (list (cons 0 "INSERT")(cons 2 oldbn)))) (setq sslen (sslength ss1)) (setq index 0) (while (< index sslen) (setq en (ssname ss1 index)) (setq ent-list (entget en)) ; get the insertion point (setq ins-pt (cdr(assoc 10 ent-list))) ; get the attribute (setq en2 (entnext en)) (setq en2-list (entget en2)) (setq typ (cdr (assoc 0 en2-list))) (if (= typ "ATTRIB") (setq att-data (cdr (assoc 1 en2-list))) ) ; erase the block (command "erase" en "") ; insert the new block (setq newbn (getstring "\nEnter block name to be inserted" )) (command "-insert" newbn ins-pt "1" "1" "0" att-data) ; get the next block in the ss (setq index (+ 1 index)) );end while (alert "Blocks updated!") ) )