caltes75 发表于 2022-7-6 10:26:05

单行堆叠多行文字梳

他们的方法是将一组单行多行文字堆叠在一起,使其成为一个多行文字,但要使其从上到下按顺序堆叠吗?

alanjt 发表于 2022-7-6 10:31:07

按Y值(插入点)对所选项目排序,并将每个文本值附加到第一个项目。
 
你试过Txt2Mtxt吗?

Lt Dan's l 发表于 2022-7-6 10:36:54

李的节目怎么样?http://www.cadtutor.net/forum/showthread.php?43115-Text-2-MText-Upgraded&p=290605&viewfull=1#post290605

caltes75 发表于 2022-7-6 10:40:59

我已经试过txt2mtxt了,但是如果文本已经是多行文字,它还能用吗?

Lt Dan's l 发表于 2022-7-6 10:45:10

尝试评论#3

caltes75 发表于 2022-7-6 10:47:09

太棒了!!谢谢,丹的腿。

alanjt 发表于 2022-7-6 10:54:04

这很有趣。。。
 
(defun c:Combine (/ ss)
;; Combine MText and Text (sorted by Y value) into top most text object
;; Alan J. Thompson, 09.24.10

(vl-load-com)

(if (setq ss ((lambda (ss i / e l lst)
               (if ss
                   (while (setq e (ssname ss (setq i (1+ i))))
                     (setq lst (cons
                                 (list e
                                       (caddr (assoc 10 (setq l (entget e))))
                                       (apply 'strcat
                                              (append (mapcar '(lambda (x)
                                                               (if (vl-position (car x) '(1 3))
                                                                   (cdr x)
                                                                   ""
                                                               )
                                                               )
                                                            l
                                                      )
                                                      '("\\P")
                                              )
                                       )
                                 )
                                 lst
                               )
                     )
                   )
               )
               )
                (ssget "_:L" '((0 . "MTEXT,TEXT")))
                -1
            )
   )
   (vla-put-textstring
   (vlax-ename->vla-object (caar (setq ss (vl-sort ss '(lambda (a b) (> (cadr a) (cadr b)))))))
   (apply 'strcat
            (append (list (caddar ss))
                  (mapcar '(lambda (x) (entdel (car x)) (caddr x)) (cdr ss))
            )
   )
   )
)
(princ)
)

Lee Mac 发表于 2022-7-6 10:55:42

 
 
很高兴你喜欢

Lt Dan's l 发表于 2022-7-6 11:00:45

别谢我,谢谢李
 
你抢先回答了李

caltes75 发表于 2022-7-6 11:05:05

谢谢你,李。我很欣赏你在这个论坛上的见解。我是一个很长时间的Microstation用户,刚刚切换到AutoCAD 2010,你和其他人的帖子对我的转变真的很有帮助。
页: [1] 2
查看完整版本: 单行堆叠多行文字梳