找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 909|回复: 6

[建议]:读取特定层上的特定文字对象

[复制链接]
发表于 2002-9-4 15:06:20 | 显示全部楼层 |阅读模式

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

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

×
请教,读取某一层上的某一内容的TEXT对象,返回这些对象的ID,我用的方法是,1判断层在不在,如“TEST”,2构造选择集,在TEST层上所有TEXT对象,3对选择集判断,文字对象内容等于如“WALL”时,增加到返回ID的链表中。现在我对该程序不满意,总觉得应该有更好的方法,大家给个建议如何?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-4 15:09:26 | 显示全部楼层

Re: [建议]:读取特定层上的特定文字对象

最初由 yousuika 发布
[B]请教,读取某一层上的某一内容的TEXT对象,返回这些对象的ID,我用的方法是,1判断层在不在,如“TEST”,2构造选择集,在TEST层上所有TEXT对象,3对选择集判断,文字对象内容等于如“WALL”时,增加到返回ID的链表?.. [/B]


你应该用acedSSGet构造选择集,里面可以加入过滤,过滤出你需要的实体。

用组码1过滤出你需要的文字。

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

使用道具 举报

发表于 2002-9-4 15:12:23 | 显示全部楼层
很好啦
构造选择集的时候可以加上文字内容
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-4 15:15:23 | 显示全部楼层
struct resbuf eb1, eb2;
        char sbuf1[10], sbuf2[10];
        ads_name sset, ent;
       
        eb2.restype = 0; // 文字オブジェクト
        strcpy(sbuf2, "TEXT");
        eb2.resval.rstring = sbuf2;
        eb2.rbnext = NULL;

        eb1.restype = 8;        // 画層名
        strcpy(sbuf1, r_cLayer);
        eb1.resval.rstring = sbuf1;
        eb1.rbnext = &eb2;
       
        //
        int iResult = acedSSGet("X", NULL, NULL, &eb1, sset);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-4 15:22:01 | 显示全部楼层
最初由 yousuika 发布
[B]struct resbuf eb1, eb2;
        char sbuf1[10], sbuf2[10];
        ads_name sset, ent;
       
        eb2.restype = 0; // 文字オブジェクト
        strcpy(sbuf2, "TEXT");
        eb2.resval.rstring = sbuf2;
        eb2.rbnext = NULL;
... [/B]


过滤链表,你再加入组码1

resbuf eb3;

eb3.restype = 1;
eb3.resval.rstring = "wall"; //加入你需要判断是否相等的字符串
eb2.rbnext = &eb3;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2002-9-4 15:35:44 | 显示全部楼层
请教晓东,我没有用组码0判断TEXT,而是直接将eb2改用了组码1,结果也可以,这样做可以吗,会有其他错吗,当初没这样想,就是怕有错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 20:47 , Processed in 0.379627 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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