;FIX.LSP V 2.0 Patterned after a collegue's routine, totally rewritten in my basic programmer's logic, ; this routine adds a wonderful text editing tool to your toolbox - one that after having it, I could never ;be without. Functionality to work with MTEXT has been added. (defun fixerr (msg) (setq *error* olderr) (princ msg) (prompt ". Please try again.") (setq sset nil txset nil mtxset nil qtytx nil qtymtx nil newtx nil oldtxent nil elist nil fixlist nil fixtype nil addtxt nil) (princ) ) (defun c:fix (/ sset txset mtxset qtytx qtymtx newtxt oldtxtent elist fixlist fixtype addtxt) (setq olderr *error* *error* fixerr) (prompt "\n Select TEXT & MTEXT objects: ") (setq sset (ssget)) (setq txset (ssget "P" (list (cons 0 "TEXT")))) (command "_select" sset "") (setq mtxset (ssget "P" (list (cons 0 "MTEXT")))) (while (and (/= fixtype "P") (/= fixtype "S")) (setq fixtype (strcase (getstring "\nDo you want to add a Suffix or a Prefix:? "))) ) (while (null addtxt) (setq addtxt (getstring T "\nText to add: "))) (if txset (setq qtytx (sslength txset))) (if mtxset (setq qtymtx (sslength mtxset))) (setq index 0) (if qtytx (repeat qtytx (setq ent (ssname txset index)) (setq elist (entget ent)) (setq oldtxt (cdr (assoc 1 elist))) (if (= fixtype "S") (setq newtxt (strcat oldtxt addtxt)) (setq newtxt (strcat addtxt oldtxt)) ) (setq fixlist (cons 1 newtxt)) (setq elist (subst fixlist (assoc 1 elist)elist)) (entmod elist) (setq index (1+ index)) ) ) (setq index 0) (if qtymtx (repeat qtymtx (setq ent (ssname mtxset index)) (setq elist (entget ent)) (setq oldtxt (cdr (assoc 1 elist))) (if (= fixtype "S") (setq newtxt (strcat oldtxt addtxt)) (setq newtxt (strcat addtxt oldtxt)) ) (setq fixlist (cons 1 newtxt)) (setq elist (subst fixlist (assoc 1 elist)elist)) (entmod elist) (setq index (1+ index)) (setq *error* olderr) ) ) (princ) )