如图有两列文字,输入tt,框选第一列,后框选第二列,把两列文字用*号连接
如图有两列文字,输入tt,框选第一列,后框选第二列,把两列文字用*号连接**** Hidden Message ***** 借花献佛
;;文字合并 by:langjs
(defun c:aa (/ e1 e2 ent i j lst1 lst2 p pt ss)
(setq lst1 '()lst2 '()
)
(setvar "nomutt" 1)
(princ "\n选择第一列文本:")
(if (setq ss (ssget '((0 . "*TEXT"))))
(repeat (setq i (sslength ss))
(setq ent (entget (ssname ss (setq i (1- i))))
lst1 (cons (list (cdr (assoc 10 ent)) (cdr (assoc 1 ent))) lst1))
))
(princ "\n选择第二列文本:")
(if (setq ss (ssget '((0 . "*TEXT"))))
(repeat (setq i (sslength ss))
(setq ent (entget (ssname ss (setq i (1- i))))
lst2 (cons (list (cdr (assoc 10 ent)) (cdr (assoc 1 ent))) lst2))
))
(setvar "nomutt" 0)
(setq ent (cdr ent)
lst1 (vl-sort lst1 (function (lambda (e1 e2)(> (cadr (car e1)) (cadr (car e2))))))
lst2 (vl-sort lst2 (function (lambda (e1 e2)(> (cadr (car e1)) (cadr (car e2))))))
pt (getpoint "\n指定合并文字插入点:")
)
(if (< (length lst1) (setq j (length lst2)))(setq j (length lst1)))
(setq i -1)
(repeat j
(setq p (list (car pt) (cadr (car (nth (setq i (1+ i)) lst1 ))))
ent (subst(cons 10 p)(assoc 10 ent)ent))
(entmake (subst (cons 1 (strcat (cadr (nth i lst1)) "*"(cadr (nth i lst2))))(assoc 1 ent) ent))
)
(princ)
) 学习了,留个脚印 學習了,留個腳印
页:
[1]