EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 599|回复: 0
打印 上一主题 下一主题

[资料] 得到选择集ID的类

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 15:22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前用VB的时候,创建选择集比较方便见:http://hi.baidu.com/kakanimo/blog/item/0288d5321e0d034bad4b5fb5.html,现在C#写了个类,使用起来也异常方便:如下
    ClassSset Ssetql = new ClassSset(0,"LINE", 8,"桥梁分段");
                foreach (ObjectId id in Ssetql.ids)
                {
                 。。。对选择集内的对象操作
                }
  创建的时候现在很方便,任意对组码成对出现就行了,如上面0,及对应的"LINE",8及对应的"桥梁分段"等等。关于组码的意思可见http://hi.baidu.com/kakanimo/blog/item/793dbf1a45912b118618bf9e.html
ClassSset见下面:


  1.     class ClassSset
  2.     {
  3.         public  ObjectId[] ids=new ObjectId[1];//返回的选择集ID
  4.         public ClassSset(params object[] list)
  5.         {
  6.             Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;

  7.             TypedValue[] values = new TypedValue[list.Length/2];
  8.             for (int i = 0; i <list.Length;i=i+2 )
  9.             {
  10.                 TypedValue valuetemp = new TypedValue((int)list, (string)list[i+1]);
  11.                 values.SetValue(valuetemp,i/2);//过滤器的条件
  12.             }

  13.             SelectionFilter sfilter = new SelectionFilter(values);//构造过滤器

  14.             PromptSelectionResult resSel = ed.SelectAll(sfilter);//用过滤器构造选择集
  15.             SelectionSet sSet = resSel.Value;//得到选择集
  16.             //这个时候可能选择集中没有任何东西
  17.             try
  18.             {
  19.                 ids = sSet.GetObjectIds();//选择集中对象ID
  20.             }
  21.             catch
  22.             {
  23.                 ids[0] = ObjectId.Null;
  24.             }
  25.         }
  26.     }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-16 12:50

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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