tianying307 发表于 2019-2-23 13:11:46

文本移位,相对于文本平行方向或者垂直方向移动(支持旋转的单行和多行文字)

本帖最后由 tianying307 于 2019-3-11 08:24 编辑

文本移位,相对于文本平行方向或者垂直方向移动(支持旋转的单行和多行文字)

1028695446 发表于 2019-4-24 10:02:39

(defun C:ot(/ ss temp pt0 i ent elist pt1 ang_h1 ang_h2 ang_h3)
        (if *ot-dist(princ)(setq *ot-dist 10))
        (if (setq ss(ssget '((0 . "*TEXT"))))
                (progn
                        (if (setq temp(getdist(strcat"\n请输入距离<"(rtos *ot-dist)">")))
                                (setq *ot-dist temp)
                        )
                        (if (setq pt0(getpoint"\n请拾取一点"))
                                (progn
                                        (command "undo" "be")
                                        (setq i 0)
                                        (repeat(sslength ss)
                                                (setq ent (ssname ss i))
                                                (setq elist (entget ent))
                                                (setq pt1 (cdr(assoc 10 elist)))
                                                (setq ang_h2(angle pt1 pt0))                                               
                                                (setq ang_h1 (cdr(assoc 50 elist)))                                               
                                                (setq ang_h3 (- ang_h2 ang_h1))
                                                (cond
                                                        ((and(< 0 ang_h3)(< ang_h3 pi))
                                                                (command "move" (ssadd ent) "" pt1 (polar pt1 (+ ang_h1 (/ pi 2)) *ot-dist))
                                                        )
                                                        ((and(< pi ang_h3)(< ang_h3 (* 2 pi)))                                                                                      
                                                                (command "move" (ssadd ent) "" pt1 (polar pt1 (+ ang_h1 (* pi 1.5)) *ot-dist))
                                                        )
                                                        ((and(< (- 0 (* 2 pi)) ang_h3)(< ang_h3 (- 0 (* 1 pi))))
                                                                (command "move" (ssadd ent) "" pt1 (polar pt1 (- ang_h1 (* pi 1.5)) *ot-dist))
                                                        )
                                                        ((and(< (- 0 pi) ang_h3)(< ang_h3 0))
                                                                (command "move" (ssadd ent) "" pt1 (polar pt1 (- ang_h1 (/ pi 2)) *ot-dist))
                                                        )                                                                       
                                                        (T (princ))                                                       
                                                )
                                                (setq i (1+ i))
                                        )
                                        (command "undo" "e")
                                )
                                (princ"\n未选取点")
                        )
                )
                (princ"\n未选择单行或多行文字")
        )
)

mzx0505 发表于 2019-5-16 12:10:07

楼主能不能分享下程序

Trouble12138 发表于 2022-12-3 23:23:16

工具可以分享一下吗?

tianying307 发表于 2022-12-4 13:07:04

Trouble12138 发表于 2022-12-3 23:23
工具可以分享一下吗?

不好意思啊,几年过去了,插件去哪都不知道了,当时写了几个小程序,发了出来,本来是想赚几个币玩玩的同时,把插件分享,后来很多人嫌简单还收币,什么的,所以插件都删除了,这个都是初期写的,都不难,看你注册很久了啊,你自己写写呗

Trouble12138 发表于 2022-12-4 15:22:07

tianying307 发表于 2022-12-4 13:07
不好意思啊,几年过去了,插件去哪都不知道了,当时写了几个小程序,发了出来,本来是想赚几个币玩玩的同 ...

谢谢回复。我主要用sw的,用cad的少。cad二次开发没有学过。在这个论坛主要也是遇到问题的时候,找一些插件能用一下的。还是谢谢你的回复了
页: [1]
查看完整版本: 文本移位,相对于文本平行方向或者垂直方向移动(支持旋转的单行和多行文字)