szx025 发表于 2013-10-6 09:22:56

文字合并,按鼠标右键增加空格

;;;合并文本内容
(defun C:TJ (/ SS ENT STR I)
    (if      (and (setq SS (ssget '((0 . "*TEXT"))))
             (>= (sslength SS) 2)
      )
      (progn
            ;;获得第一个对象的内容
            (setq ENT (entget (ssname SS 0))
                  STR (cdr (assoc 1 ENT))
            )
            ;;获得其他对象的内容并依次连接
            (setq I 1)
            (repeat (1- (sslength SS))
                (setq STR (strcat STR
                                  (cdr (assoc 1 (entget (ssname SS I))))
                        )
                      I          (1+ I)
                )
            )
            ;;更新第一个对象内容
            (setq ENT
                     (subst (cons 1 STR)
                            (assoc 1 ENT)
                            ENT
                     )
            )
            (entmod ENT)
      )
    )
(command "_.erase" ss "remove" (ssname SS 0) "")
    (princ)
);_结束defun

这是一个合并文字的程序,请高手完善一下,增加一个选项,按鼠标左键正常合并,按鼠标右键让合并文字之间加一个空格

szx025 发表于 2013-10-12 08:43:04

这个应该不难啊,怎么没有高人出手啊,自顶一下

springwillow 发表于 2014-9-2 13:34:01

这个要是写好了应该挺难的吧,我也一直想要这么一个程序,我的思路是这样,1、把所有的文字打散成单个字符,放入选择集ss1中。2、对每一个字符进行缩放使之在视口内,用textbox求出单字轮廓(中间需要用坐标变换,以适应ucs)。3、用单字轮廓对左右进行扩选,扩选距离使用户可以设置,对选中的文字放入选择集SS2中,并从SS1中删除。4、对成组选择的文字时行合并成一个单行文字。如此循复,最终可成。

szx025 发表于 2014-9-3 08:53:27

;;;合并文本内容

(defun C:TJ (/ SS ENT STR I)
(if (and (setq SS (ssget '((0 . "*TEXT"))))
(>= (sslength SS) 2)
)
(progn
;;获得第一个对象的内容
(setq p (getpoint "\n加空格(鼠标左键)/不加空格<鼠标右键>:"))
(if p (setq str1 " ")(setq str1 ""))
(setq ENT (entget (ssname SS 0))
STR (cdr (assoc 1 ENT))
)
;;获得其他对象的内容并依次连接
(setq I 1)
(repeat (1- (sslength SS))
(setq STR (strcat STR str1
(cdr (assoc 1 (entget (ssname SS I))))
)
I (1+ I)
)
)
;;更新第一个对象内容
(setq ENT
(subst (cons 1 STR)
(assoc 1 ENT)
ENT
)
)
(entmod ENT)
)
)
(command "_.erase" ss "remove" (ssname SS 0) "")
(princ)
);_结束defun
已经在高手的指导下完成了

friendship 发表于 2014-9-4 21:40:37

szx025 发表于 2014-9-3 08:53 static/image/common/back.gif
;;;合并文本内容

(defun C:TJ (/ SS ENT STR I)


程序真心好,不过就是撤消的时候(Ctrl+z),有些小问题

00放飞梦想00 发表于 2019-4-20 21:30:23

写的不错哈

yoyoho 发表于 2019-4-21 17:01:47

谢谢! szx025 分享程序!!!!!

无尘235 发表于 2019-4-23 12:49:47

完整武器 发表于 2020-4-13 22:02:25

好用的很,正好梁集中标注修改派上用处!

完整武器 发表于 2020-4-13 22:02:36

好用的很,正好梁集中标注修改派上用处!
页: [1] 2
查看完整版本: 文字合并,按鼠标右键增加空格