;;;"Glue" text strings. All adopt first's properties. ;;; ;;; AUTHOR: HENRY C. FRANCIS ;;; 425 N. ASHE ST. ;;; SOUTHERN PINES, NC 28387 ;;; ;;; All rights reserved without prejudice. ;;; (defun c:gstr (/ ename ent1 ent2 old1 oldsl old10 old11 old40 old50 newstr newsl new1 new10 new11 ) (setq dimsc (getvar "dimscale")) (while (setq tspt (cadr (entsel "\nSelect first text string to join: "))) (setq scrnsz (getvar "screensize") viewsz (getvar "viewsize") pboxsz (* (/ viewsz (cadr scrnsz)) 2 (getvar "pickbox")) pbdiag (* 1.41421 (/ viewsz (cadr scrnsz)) (getvar "pickbox")) tspt1 (polar tspt (* 1.25 pi) pbdiag) tspt2 (polar tspt (* 0.25 pi) pbdiag) ) ;_ end of setq (setq tss (ssget "C" tspt1 tspt2 '((0 . "TEXT")))) (setq ent1 (entget (ssname tss 0))) (setq new1 (cdr (assoc 1 ent1))) (while (eq (substr new1 (1- (strlen new1)) 1) " ") (setq new1 (substr new1 1 (1- (strlen new1)))) ) ;_ end of while (redraw (cdr (assoc -1 ent1)) 3) (princ "\nSelect text to join: ") (while (not (and (setq tss (ssget '((0 . "TEXT")))) (>= (sslength tss) 1) ) ;_ end of and ) ;_ end of not (princ "\nERROR! No TEXT selected. Select text to join: ") ) ;_ end of while (setq join_cnt 0) (while (< join_cnt (sslength tss)) (setq entdef (entget (ssname tss join_cnt))) (if (eq (cdr (assoc -1 entdef)) (cdr (assoc -1 ent1))) nil (progn (setq new2 (cdr (assoc 1 entdef))) (while (eq (substr new2 1 1) " ") (setq new2 (substr new2 2)) ) ;_ end of while (setq new1 (strcat new1 " " new2)) ) ;_ end of progn ) ;_ end of if (setq join_cnt (1+ join_cnt)) ) ;_ end of while (setq ent1 (subst (cons 1 new1) (assoc 1 ent1) ent1)) (if (entmod ent1) (progn (setq del_cnt 0) (while (< del_cnt (sslength tss)) (if (/= (cdr (assoc -1 ent1)) (ssname tss del_cnt)) (entdel (ssname tss del_cnt)) ) ;_ end of if (setq del_cnt (1+ del_cnt)) ) ;_ end of while ) ;_ end of progn (princ "\nERROR! Unable to join selected text! ") ) ;_ end of if ) ;_ end of while (princ) ) ;_ end of defun (defun c:rgstr (/ ename ent1 ent2 old1 oldsl old10 old11 old40 old50 newstr newsl new1 new10 new11 ) (while (setq ename1 (car (entsel "\nSelect first text string to join: "))) (while (not (and (setq ent1 (entget ename1)) (eq (cdr (assoc 0 ent1)) "TEXT") ) ;_ end of and ) ;_ end of not ) ;_ end of while (setq old1 (cdr (assoc 1 ent1))) (while (not (and (setq ename2 (car (entsel "\nSelect second text string to join: ") ) ;_ end of car ) ;_ end of setq (setq ent2 (entget ename2)) (eq (cdr (assoc 0 ent2)) "TEXT") (not (eq ename1 ename2)) ) ;_ end of and ) ;_ end of not ) ;_ end of while (setq old2 (cdr (assoc 1 ent2))) (setq new1 (strcat old2 " " old1) ent1 (subst (cons 1 new1) (assoc 1 ent1) ent1 ) ;_ end of subst ) ;_ end of setq (entmod ent1) (entdel ename2) ) ;_ end of while (princ) ) ;_ end of defun ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 0 0 0 T T nil T) ***Don't add text below the comment!***|;