1

如何获取 HVAC 系统中的元素?我可以使用以下代码访问模型中的系统列表:

var systems = model.Instances.OfType<IfcSystem>();

这将返回模型中所有系统的列表。如何访问系统中的元素?

4

1 回答 1

1

因此,这是通过查看标准来理解 IFC 数据模型的问题- 特别是组分配数据模型:https ://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/link/group-assignment .htm

在 IFC 中,一个IfcSystem子类IfcGroup. 要获取 Group 的成员,您需要访问IfcRelAssignsToGroup通过 提供的关系IsGroupedBy,从中可以获取RelatedObjects包含实际元素的集合。

所以在 xbim 你最终会得到类似的东西:

var hvacSystem = model.Instances.OfType<IfcSystem>().First(s => s.GlobalId="<Your Hvac Identifier>");

var hvacElements = hvacSystem.IsGroupedBy?.RelatedObjects.OfType<IIfcProduct>();
于 2021-09-04T06:33:40.350 回答