你如何获得 IFC 窗台高度

How do you get IFCWindow sill height

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

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

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

最好的办法是研究 ObjectPlacement 属性,IfcWindow 继承自 IfcProduct。 ObjectPlacement 定义产品如何放置在世界 space 中或相对于其主机。有关详细信息,请参阅 https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/HTML/schema/templates/product-local-placement.htm

你需要读取ObjectPlacement 属性,并检查是否有RelativeTo 属性,如果有,你还需要填写那个属性,并检查是否这是地板的放置。如果是这样,您可以停止循环,并对您收获的所有位置进行矩阵计算,以计算 window 相对于 floor.

的位置。

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