; REPBLOCK.LSP [from Dialog Box] (c)1990, Peter Campbell (defun C:REP-BLOCK (/ templst obj blk newatt oldblk pt1 xsc ysc rot ss1 ent alist) (setvar "attdia" 0) (setq obj (entsel "\nSelect block to replace: ")) (setq blk (getstring "\nEnter new block path & name: ")) (setq oldblk (car obj) alist (entget oldblk) pt1 (cdr (assoc 10 alist)) xsc (cdr (assoc 41 alist)) ysc (cdr (assoc 42 alist)) rot (cdr (assoc 50 alist)) ss1 (ssadd oldblk) ent (entnext oldblk) alist (entget ent)) (while (/= (cdr (assoc 0 alist)) "SEQEND") (setq templst (append templst (list (cdr (assoc 1 alist))))) (setq ent (entnext ent)) (setq alist (entget ent))) (while (/= "" (setq newatt (getstring "Enter new attribute values: "))) (setq templst (append templst (list newatt)))) (command "erase" ss1 "") (command "insert" blk pt1 xsc ysc rot) (foreach a templst (command a)) (princ) )