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