【发布时间】:2020-12-15 16:02:57
【问题描述】:
如何在 ifc 文件中获取 Ifcwindow 的窗台高度(高于地板的高度)
【问题讨论】:
如何在 ifc 文件中获取 Ifcwindow 的窗台高度(高于地板的高度)
【问题讨论】:
没有解决方案可以直接获得高于地板的高度。这是因为上面的高度取决于几个因素,比如窗户所在的墙是如何创建的,等等。
可能是原始建模软件将 sillHeight 导出到自定义 IFC 属性。您可以检查一下,但由于没有通用标准,因此存在风险。
最好的办法是查看IfcWindow 继承自IfcProduct 的ObjectPlacement 属性。 ObjectPlacement 定义了产品如何放置在世界空间中或相对于其宿主。详情请见https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/HTML/schema/templates/product-local-placement.htm。
你需要读取ObjectPlacement属性,检查是否有RelativeTo属性,如果有,你也需要填写该属性,检查是否是地板的放置。如果是这样,您可以停止循环,并对您收获的所有展示位置执行矩阵计算,以计算窗口相对于地板的位置。
(也许更简单:分别计算窗口和地板的世界位置,而不是减去两个向量 z 值来得到窗口与地板的高度)
【讨论】: