如何在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值来获得窗户与地板的高度(