明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1407|回复: 5

选择集过滤

[复制链接]
发表于 2011-7-7 11:27:08 | 显示全部楼层 |阅读模式
如图所示,有如下一些扩展属性,有没有直接选取代码为R00002 的选择集过滤方法?我想直接得到包含此代码的对象,而不想通判断来获取,请大家指点!


该贴已经同步到 yxr_MJTD的微博

本帖子中包含更多资源

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

x
发表于 2011-7-7 11:44:54 | 显示全部楼层
应该不行,从逻辑上也应该不行,里面很多1000组码,没有唯一性
 楼主| 发表于 2011-7-8 11:35:07 | 显示全部楼层
回复 yxr_MJTD 的帖子

呵呵,我现在还是自己写的方法判断。主要我不想做这个步骤的事情,以为有这方面的方法。
发表于 2011-12-9 13:16:16 | 显示全部楼层
/// <summary>
        /// 得到选择集 根据扩展数据
        /// </summary>
        /// <param name="ed">ed</param>
        /// <param name="xData">扩展数据值</param>
        /// <param name="entIds">返回的实体列表</param>
        /// <returns>返回true,false</returns>
        public static bool TryGetSSetByXData(Editor ed, string appName, string xData, out ObjectId[] entIds)
        {
            TypedValue[] filList = {new TypedValue(1000, xData) ) };
            SelectionFilter fileter = new SelectionFilter(filList);
            PromptSelectionResult res = ed.SelectAll(fileter);
            if (res.Status == PromptStatus.OK)
            {
                entIds = res.Value.GetObjectIds();
                return true;
            }
            else
            {
                entIds = null;
                return false;
            }
        }
这样得到不选择集,不知为什么  1001是可以的
发表于 2011-12-9 14:23:25 | 显示全部楼层
本帖最后由 liuxu042 于 2011-12-12 11:17 编辑

1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用程序名,其值是可以用来过滤的     1000是其对应的字符串值(Dxfcode.ExtendedDataAsciiString),也可以用来过滤
 楼主| 发表于 2012-3-2 11:43:21 | 显示全部楼层
liuxu042 发表于 2011-12-9 14:23
1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用 ...

哦,好的。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 18:37 , Processed in 0.157879 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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