在 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 中获取房间的邻居的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Revit API 中的所有元素上设置“房间边界”属性
Autodesk Revit MEP 2010 .NET API C# 房间到门的关系