0

如何在 ifc 文件中获取 Ifcwindow 的窗台高度(高于地板的高度)

4

1 回答 1

0

没有解决方案可以直接获得高于地板的高度。这是因为上面的高度取决于几个因素,比如窗户所在的墙是如何创建的,等等。

可能是原始建模软件将 sillHeight 导出到自定义 IFC 属性。您可以检查一下,但是由于没有通用标准,因此存在风险。

您最好的选择是查看继承自的ObjectPlacement属性。ObjectPlacement 定义了产品如何放置在世界空间中或相对于其宿主。有关详细信息,请参阅https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/HTML/schema/templates/product-local-placement.htmIfcWindowIfcProduct

您需要阅读 ObjectPlacement 属性,并检查是否有 RelativeTo 属性,如果有,您还需要填写该属性,并检查它是否是地板的放置。如果是这样,您可以停止循环,并对您收获的所有位置执行矩阵计算,以计算窗口相对于地板的位置。

(也许更简单:分别计算窗口和地板的世界位置,而不是减去两个向量 z 值以获得窗口从地板的高度)

于 2020-12-19T11:00:19.857 回答