yxr_MJTD 发表于 2011-7-7 11:27:00

选择集过滤

如图所示,有如下一些扩展属性,有没有直接选取代码为R00002 的选择集过滤方法?我想直接得到包含此代码的对象,而不想通判断来获取,请大家指点!


该贴已经同步到

**** Hidden Message *****

sieben 发表于 2011-7-7 11:44:00

应该不行,从逻辑上也应该不行,里面很多1000组码,没有唯一性

yxr_MJTD 发表于 2011-7-8 11:35:00

回复
呵呵,我现在还是自己写的方法判断。主要我不想做这个步骤的事情,以为有这方面的方法。

houlinbo 发表于 2011-12-9 13:16:00

///
      /// 得到选择集 根据扩展数据
      ///
      /// ed
      /// 扩展数据值
      /// 返回的实体列表
      /// 返回true,false
      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是可以的

liuxu042 发表于 2011-12-9 14:23:00


1001 就是注册应用程序名 ((int)DxfCode.ExtendedDataRegAppName),每一组扩展属性肯定有相应的注册应用程序名,其值是可以用来过滤的   1000是其对应的字符串值(Dxfcode.ExtendedDataAsciiString),也可以用来过滤

yxr_MJTD 发表于 2012-3-2 11:43:00


哦,好的。谢谢!
页: [1]
查看完整版本: 选择集过滤