如何获得 IFC 窗台高度

Posted

技术标签:

【中文标题】如何获得 IFC 窗台高度【英文标题】:How do you get IFCWindow sill height 【发布时间】:2020-12-15 16:02:57 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

最好的办法是查看IfcWindow 继承自IfcProductObjectPlacement 属性。 ObjectPlacement 定义了产品如何放置在世界空间中或相对于其宿主。详情请见https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/html/schema/templates/product-local-placement.htm。

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

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

【讨论】:

以上是关于如何获得 IFC 窗台高度的主要内容,如果未能解决你的问题,请参考以下文章

IFC and BFC

jQ如何获得网页实际高度?

我的 iPhone 如何获得它的高度?

如何获得文本的真实高度?

如何在Android中获得气压高度?

如何在OpenGL中绘制的边界框的高度获得高度?