获取房间内的构件,大致思路如下

房间是有边界和高度的,所以我们可以得到房间的边界和高度

来构造一个Solid,然后用过滤和这个Solid相交的构件

Revit API 提供了SpatialElementGeometryCalculator 这个类

可以方便的获取到房间的Solid

注意:这个Solid无法过滤到房间内部为房间边界的构件,如建筑柱勾选了房间边界后就过滤不到了

代码如下:

ElementId roomId = new ElementId(313062);
            Document doc = commandData.Application.ActiveUIDocument.Document;
            Room room = doc.GetElement(roomId) as Room;
            SpatialElementGeometryCalculator segc = new SpatialElementGeometryCalculator(doc);
            SpatialElementGeometryResults segr = segc.CalculateSpatialElementGeometry(room);
            Solid solid = segr.GetGeometry();            
            FilteredElementCollector temc = new FilteredElementCollector(doc);
            ElementIntersectsSolidFilter filter = new ElementIntersectsSolidFilter(solid);
            temc.WherePasses(filter);
            TaskDialog.Show("Num", temc.Count().ToString());

如有错误欢迎指正

博主会经常更新一些技术文章,请大家多多关注,

源码下载请加qq群480950299

Revit开发获取房间内的构件相关推荐

  1. Revit开发 - 获取墙的厚度和高度

    获取Revit文件中,墙的相关属性信息. using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit. ...

  2. CAD二次开发获取CAD内所有的大字体SHX字体

    using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.Runtime; using Microsoft.Win32; u ...

  3. [CAD二次开发]获取CAD内3D块参照的欧拉旋转角,Matrix3d矩阵转欧拉角。

    根据选择块参照生成新的欧拉角相同的块参照 [CommandMethod("ttt")]public void rr(){Document doc = Application.Doc ...

  4. Revit中为房间添加填充图例和“构件快速上色”

    一.Revit中为房间添加填充图例 在建筑模型中,可以为房间添加填充图例,用不同的颜色区分不同的房间. 点击"注释"选项卡下的"颜色填充面板-颜色填充图例", ...

  5. Revit Navisworks 二次开发—获取材质贴图

    关注公众号及时获取文章更新 Retrieving textures via Navisworks API (no solution) 关于Revit API 获取材质贴图位图 bitMap(可行) 代 ...

  6. 第十二届Revit开发训练营4月4日~9日在武汉举办

                                                  北京橄榄山软件有限公司                                            ...

  7. 举办第十届Revit开发实战训练课程(2019.4.1-6)

                                                      关于举办第十届Revit开发实战训练课程的通知 各相关单位: 为贯彻落实<国家中长期教育改革和 ...

  8. 第七届全国Revit开发实战训练课程2018年元旦在武汉举行,叶雄进领衔主讲

    各相关单位: 为贯彻落实<国家中长期教育改革和发展规划纲要(2010-2020年)>,提升国内建筑行业从业者BIM技能应用水平,改善企业BIM应用型人才紧缺的现状,提高全国工程建设行业相关 ...

  9. 全国第六届Revit开发实战训练课程将开课(8月7-12,北京)

    各相关单位: 为贯彻落实<国家中长期教育改革和发展规划纲要(2010-2020年)>,提升国内建筑行业从业者BIM技能应用水平,改善企业BIM应用型人才紧缺的现状,提高全国工程建设行业相关 ...

最新文章

  1. jQuery中用ajax访问php接口文件
  2. Bloom Filter 大规模数据处理利器
  3. Gradle用户指南(章9:Groovy快速入门)
  4. asp.net 2.0中新增的AppendDataBoundItems
  5. uml图工具_UML建模工具更新情况(二)
  6. Java最佳实践–队列之战和链接的ConcurrentHashMap
  7. 提高搜索引擎结果页面排名的各种技术
  8. 2009年2月26日经济报道:奥巴马2010年3.5万亿美元预算。
  9. Maven+Eclipse+SparkStreaming+Kafka整合
  10. mysql5.5编译安装_mysql5.5编译安装及配置
  11. 【转】数据库常用面试题
  12. 关于bridge-nf-call-iptables的设计问题
  13. linux 文件名 序列号,在Linux中应如何查看系统硬件制造商、型号和序列号
  14. 计算机操作系统复习题
  15. 记一次 Win 10 下的用户文件夹迁移
  16. 人脸识别图片base64编码,Java实现
  17. 科技圈的“三座大山”正在崩塌中。。。
  18. 软件开发:项目设计思路(流程、功能方法和数据结构)
  19. 如何有效的制定团队能力提升计划?
  20. 作文提升~老师整理的优美排比句太实用

热门文章

  1. python使用while循环来处理列表和字典--小任务2
  2. SpringBoot的Cacheable缓存问题一则
  3. 【东方博宜】【入门】2016--旅游景点大排名
  4. 关于VMware虚拟机的侧通道缓解措施
  5. 助力创新创业,微软与中国共同迎接“新常态”
  6. 搭建直播平台中主播pk,如何实现无缝切换?
  7. C语言对命令行参数求和,C语言命令行参数汇总
  8. 如何做好一个校园微信公众号,粉丝圈有话要说~
  9. 广义交叉验证(GCV)
  10. python操作队列