明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 456|回复: 5

[提问] 如何实现:多行文字转单行文字(样图如附件)

[复制链接]
发表于 2024-5-27 23:56 | 显示全部楼层 |阅读模式
23明经币
如何实现:多行文字转单行文字(样图如附件)
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

发表于 2024-5-27 23:56 | 显示全部楼层



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2024-5-28 09:51 | 显示全部楼层
X,爆破就行了,简单高效
回复

使用道具 举报

 楼主| 发表于 2024-5-28 16:20 | 显示全部楼层

感谢大佬出手相助,
还有个比较麻烦点的,大佬可否帮看一眼:http://bbs.mjtd.com/thread-190275-1-1.html
回复

使用道具 举报

发表于 2024-5-29 17:02 | 显示全部楼层
fengyu6913 发表于 2024-5-28 16:20
感谢大佬出手相助,
还有个比较麻烦点的,大佬可否帮看一眼:http://bbs.mjtd.com/thread- ...

;先给一个简易版本用着
(defun c:ty(/ cmd dxf ed en en2 lp1 lp2 p1 p2 p3 pa pb pinc ss xl1)
        (defun pinc(p)(and(<(min(car p1)(car p2))(car p)(max(car p1)(car p2)))(<(min(cadr p1)(cadr p2))(cadr p)(max(cadr p1)(cadr p2)))))
        (defun dxf(n)(cdr(assoc n ed)))
        (defun xl1(pt)(entmakex (list '(0 . "XLINE") '(100 . "AcDbEntity") '(100 . "AcDbXline") (cons 10 pt) '(11 1 0 0))))
        (setvar "cmdecho" 0)
        (if(and
                         (setq p1(getpoint "\n请选择需要延伸或裁剪的线:"))
                         (setq p2(getcorner p1))
                         (setq p3(getpoint "请指定线段到达点:"))
                 )
                (if(setq ss(ssget "c" p1 p2 '((0 . "line"))))
                        (progn
                                (setq        en(ssname ss 0) ed(entget en))
                                (setq        pa(dxf 10) pb(dxf 11))
                                (if(pinc pa)(setq lp1 pb lp2 pa)(setq lp1 pa lp2 pb))
                                (if(<(abs(-(cadr lp1)(cadr lp2)))(abs(-(cadr lp1)(cadr p3))))(setq cmd ".extend")(setq cmd ".trim"))
                                (command ".undo" "be")
                                (setq en2(xl1 p3))
                                (command cmd "o" "s" en2 "" p1 p2 "")
                                (entdel en2)
                                (command ".undo" "end")
                        )
                )
        )
        (prin1)
)
(defun c:tx(/ cmd dxf ed en en2 lp1 lp2 p1 p2 p3 pa pb pinc ss xl2)
        (defun pinc(p)(and(<(min(car p1)(car p2))(car p)(max(car p1)(car p2)))(<(min(cadr p1)(cadr p2))(cadr p)(max(cadr p1)(cadr p2)))))
        (defun dxf(n)(cdr(assoc n ed)))
        (defun xl2(pt)(entmakex (list '(0 . "XLINE") '(100 . "AcDbEntity") '(100 . "AcDbXline") (cons 10 pt) '(11 0 -1 0))))
        (setvar "cmdecho" 0)
        (if(and
                         (setq p1(getpoint "\n请选择需要延伸或裁剪的线:"))
                         (setq p2(getcorner p1))
                         (setq p3(getpoint "请指定线段到达点:"))
                 )
                (if(setq ss(ssget "c" p1 p2 '((0 . "line"))))
                        (progn
                                (setq        en(ssname ss 0) ed(entget en))
                                (setq        pa(dxf 10) pb(dxf 11))
                                (if(pinc pa)(setq lp1 pb lp2 pa)(setq lp1 pa lp2 pb))
                                (if(<(abs(-(car lp1)(car lp2)))(abs(-(car lp1)(car p3))))(setq cmd ".extend")(setq cmd ".trim"))
                                (command ".undo" "be")
                                (setq en2(xl2 p3))
                                (command cmd "o" "s" en2 "" p1 p2 "")
                                (entdel en2)
                                (command ".undo" "end")
                        )
                )
        )
        (prin1)
)
回复

使用道具 举报

发表于 2024-6-1 21:11 | 显示全部楼层
我也想要这个插件,可惜币不够啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-26 18:21 , Processed in 0.150333 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表