合并单行文本<BR><BR>(defun C:hb(/ ent1 el1 e1 txt1 ent2 el2 e2 txt2 txt tst ent)<BR> (setvar "CMDECHO" 1)<BR> (setq tst T)<BR> (setq ent1 (car (entsel "\n选择合并后的单行文字: ")))<BR> (if (/= ent1 nil)<BR> (progn<BR> (setq el1 (entget ent1))<BR> (setq e1 (cdr (assoc -1 el1)))<BR> (if (= "TEXT" (cdr (assoc 0 el1)))<BR> (progn<BR> (while tst<BR> (setq txt1 (cdr (assoc 1 (entget e1))))<BR> (setq ent2 (car (entsel "\n选择被合并的单行文字: ")))<BR> (if (/= ent2 nil)<BR> (progn<BR> (setq el2 (entget ent2))<BR> (setq e2 (cdr (assoc -1 el2)))<BR> (if (= "TEXT" (cdr (assoc 0 el2)))<BR> (progn<BR> (setq txt2 (cdr (assoc 1 el2))) <BR> (command "erase" e2 "")<BR> (setq txt (strcat txt1 txt2))<BR> (setq ent (subst (cons 1 txt) (assoc 1 el1) el1))<BR> (entmod ent)<BR> )<BR> (princ "\n选择错误 !") <BR> )<BR> )<BR> (setq tst nil)<BR> )<BR> )<BR> )<BR> (princ "\n选择错误 !") <BR> )<BR> )<BR> )<BR>)<BR> |