664571221 发表于 2018-8-31 11:33:00

如图有两列文字,输入tt,框选第一列,后框选第二列,把两列文字用*号连接

如图有两列文字,输入tt,框选第一列,后框选第二列,把两列文字用*号连接





**** Hidden Message *****

zwf100 发表于 2021-11-22 11:51:00

借花献佛
;;文字合并 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)
)

78946299 发表于 2022-4-10 20:34:00

学习了,留个脚印

白色微風1991 发表于 2022-7-18 17:10:00

學習了,留個腳印
页: [1]
查看完整版本: 如图有两列文字,输入tt,框选第一列,后框选第二列,把两列文字用*号连接