找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 564|回复: 12

[求助] ATTRIB对象中多行文字怎么提取字符串?

[复制链接]

已领礼包: 12个

财富等级: 恭喜发财

发表于 2018-10-20 14:59:28 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 wyl219 于 2018-10-23 09:23 编辑

对于属性为单行文字的情况,组码是类似下面的情况
((-1 . <图元名: 7ff647d20510>) (0 . "ATTRIB") (330 . <图元名: 7ff647d20500>) (5 . "8CA9") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "_01补风风管长度") (100 . "AcDbText") (10 1.37569e+006 441835.0 0.0) (40 . 25.0) (1 . "55") (50 . 0.0) (41 . 0.7) (51 . 0.0) (7 . "HVAC") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (280 . 0) (2 . "1") (70 . 0) (73 . 0) (74 . 0) (280 . 1))
直接通过组码1就能提取字符串,但是当属性为多行文字的时候,是下面的情况(之前贴上的是普通的多行文字,更改为attrib了。)

((-1 . <图元名: 7ff6e8107b30>) (0 . "ATTRIB") (330 . <图元名: 7ff6e8107b20>) (5 . "303") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10 4319.84 4408.88 0.0) (40 . 2.5) (1 . "") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "HVAC") (71 . 0) (72 . 0) (11 4319.84 4411.38 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (280 . 0) (2 . "标记") (70 . 0) (73 . 0) (74 . 3) (280 . 1) (71 . 2) (72 . 0) (11 4319.84 4411.38 0.0) (101 . "Embedded Object") (10 4319.84 4411.38 0.0) (40 . 2.5) (41 . 5.98235) (46 . 0.0) (71 . 1) (72 . 5) (1 . "显示") (7 . "HVAC") (210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 3.25368) (43 . 2.58272) (50 . 0.0) (73 . 1) (44 . 1.0))


有两个1,而且第一个显示的是默认值。
怎么才能取得真正的字符串呢?另外,组码的顺序好像是不确定的吧?



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

已领礼包: 604个

财富等级: 财运亨通

发表于 2018-10-20 15:18:59 | 显示全部楼层
本帖最后由 /db_自贡黄明儒_ 于 2018-10-20 15:20 编辑

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-20 15:52:33 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2018-10-20 15:18
ATTRIB没有多行文字吧???对于块中MTEXT,缩放一下块,它就变成单行文字了。

有多行文字啊
QQ截图20181020155026.jpg

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

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2018-10-20 16:57:14 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-10-20 23:19:35 | 显示全部楼层
正常读组码1,

"{\\W1;1234}" 这样的格式的,是多行文本设置了格式的,你处理下就好了,把格式去掉

用 MTEXT 格式 搜索下论坛,有代码

命令: (xd::mtext:unformat "{\\W1;1234}")
"1234"

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-21 00:12:33 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2018-10-20 16:57
果然高版本有多行,没用过。
老大写过多行文字去格式,你自己找一下。

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-21 00:14:04 | 显示全部楼层
marting 发表于 2018-10-20 23:19
正常读组码1,

"{\\W1;1234}" 这样的格式的,是多行文本设置了格式的,你处理下就好了,把格式去掉

单纯提取1不行的,有两个1,第一个是默认值,第二个才是显示值。最后用vla-get-TextString 提取到了带格式的字符串

点评

不是告诉你提取1,是提取组码1,然后去掉格式。  详情 回复 发表于 2018-10-22 02:53
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-21 00:15:37 | 显示全部楼层
marting 发表于 2018-10-20 23:19
正常读组码1,

"{\\W1;1234}" 这样的格式的,是多行文本设置了格式的,你处理下就好了,把格式去掉

单纯提取1不行的,有两个1,第一个是默认值,第二个才是显示值。最后用vla-get-TextString 提取到了带格式的字符串
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2018-10-21 10:38:36 | 显示全部楼层
特地去帮助文件里查看了一下这个函数XD::Mtext:UnFormat 源码,正则表达式的patten属性长达230个字符串
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-21 17:28:54 | 显示全部楼层
sicky111 发表于 2018-10-21 16:41
看不懂"{\\W1;1234}"是什么意思

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-10-22 02:53:33 | 显示全部楼层
wyl219 发表于 2018-10-21 00:14
单纯提取1不行的,有两个1,第一个是默认值,第二个才是显示值。最后用vla-get-TextString 提取到了带格 ...

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-23 09:28:39 | 显示全部楼层
marting 发表于 2018-10-22 02:53
不是告诉你提取1,是提取组码1,然后去掉格式。

之前贴错了,贴成多行文字了。
((-1 . <图元名: 7ff6e8107b30>) (0 . "ATTRIB") (330 . <图元名: 7ff6e8107b20>) (5 . "303") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10 4319.84 4408.88 0.0) (40 . 2.5)
(1 . "") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "HVAC") (71 . 0) (72 . 0) (11 4319.84 4411.38 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (280 . 0) (2 . "标记") (70 . 0) (73 . 0) (74 . 3) (280 . 1) (71 . 2) (72 . 0) (11 4319.84 4411.38 0.0) (101 . "Embedded Object") (10 4319.84 4411.38 0.0) (40 . 2.5) (41 . 5.98235) (46 . 0.0) (71 . 1) (72 . 5)
(1 . "显示") (7 . "HVAC") (210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 3.25368) (43 . 2.58272) (50 . 0.0) (73 . 1) (44 . 1.0))
,如果直接用(assoc 1 ename)只能提取到第一个出现的组码1,而实际有效的内容是存放在后面哪个里面的。 捕获.PNG
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 23:38 , Processed in 0.216799 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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