在 Revit 2017 API 中获取房间的邻居

Posted

技术标签:

【中文标题】在 Revit 2017 API 中获取房间的邻居【英文标题】:Get a room's neighbours within Revit 2017 API 【发布时间】:2017-04-10 15:41:11 【问题描述】:

我正在尝试浏览建筑物的所有房间(或实际上是所有 空间),以获取每个 相邻 空间 的列表空格。我已经阅读了一些关于它的相当老的帖子here 和here,但是这些使用了 BoundarySegment 对象的“元素”属性,例如:

foreach( BoundarySegment s in b )
...
Element neighbour = s.Element;

如果我没记错的话,这不再可能从 BoundarySegment 访问墙壁对象(?)是否有替代方案?

谢谢,

阿诺。

【问题讨论】:

所以邻居是任何共享一堵墙的东西,即使没有门/开口? 对于我打算做的事,是的! 【参考方案1】:

转到http://www.revitapidocs.com

搜索 BoundarySegment 类。

我收到消息:“2017 | 资源不适用于有效 API 年份...资源仅适用于 2015”。

查看 Revit 2017 API 中的新增功能:

http://thebuildingcoder.typepad.com/blog/2016/04/whats-new-in-the-revit-2017-api.html

过时的 API 删除列表 Autodesk.Revit.DB.BoundarySegment.Element。

你上面提到的两个帖子是:

http://thebuildingcoder.typepad.com/blog/2013/09/room-neighbours.html

http://thebuildingcoder.typepad.com/blog/2009/01/room-and-wall-adjacency.html

它们中提供的所有代码都包含在 The Building Coder 示例中:

https://github.com/jeremytammik/the_building_coder_samples

Building Coder 示例在 GitHub 上进行维护,并在出现时迁移到新版本的 Revit API。因此,您可以在 GitHub 上查看如何在 Revit 2017 中实现相同的功能,网址为:

https://github.com/jeremytammik/the_building_coder_samples/blob/master/BuildingCoder/BuildingCoder/CmdRoomWallAdjacency.cs

https://github.com/jeremytammik/the_building_coder_samples/blob/master/BuildingCoder/BuildingCoder/CmdRoomNeighbours.cs

【讨论】:

非常感谢,再次感谢!我不知道样本是从一个版本到另一个版本维护的!

以上是关于在 Revit 2017 API 中获取房间的邻居的主要内容,如果未能解决你的问题,请参考以下文章

从 Forge api 获取房间/区域信息

[使用Revit API 2020的Revit API壁厚

如何在 Revit API 中的所有元素上设置“房间边界”属性

Autodesk Revit MEP 2010 .NET API C# 房间到门的关系

获取出现在 Schedule Revit API 上的链接元素

为 Revit 模型 (C4R) 发布和生成房间图元