找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4699|回复: 17

[文字] 把一个文字按拆分点分成2行

[复制链接]

已领礼包: 586个

财富等级: 财运亨通

发表于 2019-3-9 21:15:42 | 显示全部楼层 |阅读模式
  • 插件名称 : 文字拆分
  • 作  者 : odelywp
  • 运行环境 :不限 
  • 发布时间 :2019-03-09
  • 命令名称 :tt
  • 插件介绍 :当把一段长的文字想分成几行写时,通常是copy一次,然后分别修改. 本插件可以直接按输入的行间距及拆分点把该文字分成2段文字
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 王鹏_pBZlo 于 2019-3-13 11:45 编辑



td.gif

tt.lsp

1.46 KB, 下载次数: 28, 下载积分: D豆 -1 , 活跃度 1

售价: 2 D豆  [记录]

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-9 22:45:34 来自手机 | 显示全部楼层
比如说,想把文字"123456"分成"123"和"456","123"保留在原文字的位置,"456"在原文字下方,行距1.5(即2行有0.5倍字高的间隙)。仅需选择原文字和选择拆分点(设置在"3"和"4"之间,可以在"4"的位置上),就可以达到目的了
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3904个

财富等级: 富可敌国

发表于 2019-3-10 00:09:58 | 显示全部楼层
谢谢分享一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 37个

财富等级: 招财进宝

发表于 2019-3-10 00:16:44 | 显示全部楼层
如果有个动态图来看效果更好
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 960个

财富等级: 财运亨通

发表于 2019-3-10 09:07:00 | 显示全部楼层
这是多行文字,还是单行文字?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-10 09:11:08 来自手机 | 显示全部楼层
zhystar 发表于 2019-3-10 09:07
这是多行文字,还是单行文字?

单行文字,多行文字自己就可以换行了,不需要这样操作吧
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-10 13:16:38 | 显示全部楼层
wskiqght 发表于 2019-3-10 00:16
如果有个动态图来看效果更好

做了1个gif文件,但怎么可以上传演示呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-10 13:23:30 | 显示全部楼层
发现一个bug,修改后如下
(defun c:tt( / txt txtpro txtstr txthei exp wid i j ok nstr)
        (if (null lutscl) (setq lutscl 1.3))
        (setq lutscltemp lutscl)
        (setq lutscl (atof (getstring (strcat "\n[行距倍数]<" (rtos lutscltemp) ">:"))))
        (if (= 0 lutscl) (setq lutscl lutscltemp))
        (while        (setq txt (car (entsel "\n选择拆分文字:")))
                (setq txtpro (entget txt))
                (setq txtstr (cdr (assoc 1 txtpro)))
                (setq txthei (cdr (assoc 40 txtpro)))       
                (setq exp (trans (getpoint "\n选择拆分点:") 1 0))
                (command "copy"  txt "" (strcat "0,-" (rtos (* lutscl txthei))) "")       
                (vla-getboundingbox (vlax-ename->vla-object txt) 'minpoint 'maxpoint)
                (setq wid (- (car exp) (car (vlax-safearray->list minpoint))))
                (setq i (strlen txtstr) ok nil)
                (while (not ok)
                        (setq nstr (substr txtstr 1 i))
                        (while (= (substr nstr (strlen nstr)) " ") (setq i (1- i) nstr (substr nstr 1 (1- (strlen nstr)))))
                        (if (wcmatch (strcat (substr nstr (strlen nstr)) " ") "?") (setq j 2) (setq j 1))
                        (setq txtpro (subst (cons 1 nstr) (assoc 1 txtpro) txtpro))
                        (entmod txtpro)
                        (vla-getboundingbox (vlax-ename->vla-object txt) 'minpoint 'maxpoint)
                        (if (< (- (car (vlax-safearray->list maxpoint)) (car (vlax-safearray->list minpoint))) wid)
                            (setq ok T) (setq i (- i j)))
                )
                (setq nstr (substr txtstr (1+ i)))
                (while (= (substr nstr 1 1) " ") (setq nstr (substr nstr 2)))
                (setq txtpro (entget (entlast)))
                (setq txtpro (subst (cons 1 nstr) (assoc 1 txtpro) txtpro))
                (entmod txtpro)
        )        (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2124个

财富等级: 金玉满堂

发表于 2019-3-10 13:49:20 | 显示全部楼层
多行文字好像有问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-10 14:02:02 来自手机 | 显示全部楼层
lrd1861 发表于 2019-3-10 13:49
多行文字好像有问题

多行文字是不需要这个功能的,通过拉动边界就可以实现多行显示了
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2019-3-10 14:07:58 | 显示全部楼层
不错的想法,可以将文字图形化。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2019-3-10 21:58:08 | 显示全部楼层
挺方便的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

 楼主| 发表于 2019-3-10 22:07:03 来自手机 | 显示全部楼层
一个中文字符占2个字长,但分开就不能显示了。对于判断中文字符,有没有人有什么好办法呢?
来自: 微社区

点评

开源函数库现成的函数 (XD::String:CEChrSplit)中西文字符串拆分函数13 个回复 - 1724 次查看 2013-8-11 16:27 - Lispboy - 开源函数库 命令: (XD::String:CEChrSplit "晓东CAD欢迎您") ("晓东" "CAD" "  详情 回复 发表于 2019-3-10 22:18
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-3-10 22:10:51 | 显示全部楼层
王鹏_pBZlo 发表于 2019-3-10 22:07
一个中文字符占2个字长,但分开就不能显示了。对于判断中文字符,有没有人有什么好办法呢?

字符ASCII码大于128 或者用正则表达式
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2019-3-10 22:18:15 | 显示全部楼层
王鹏_pBZlo 发表于 2019-3-10 22:07
一个中文字符占2个字长,但分开就不能显示了。对于判断中文字符,有没有人有什么好办法呢?

开源函数库现成的函数

(XD::String:CEChrSplit)中西文字符串拆分函数
13 个回复 - 1724 次查看

2013-8-11 16:27 - Lispboy - 开源函数库



命令: (XD::String:CEChrSplit "晓东CAD欢迎您")

("晓东" "CAD" "欢迎您")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-26 15:08 , Processed in 0.526530 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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