[英]How can i change an objects IfcClassification with python/ifcopenshell, f.ex IfcBuildingElementProxy to IfcWindow?
[英]How do you get IFCWindow sill height
如何在 ifc 文件中獲取 Ifcwindow 的窗台高度(高於地板的高度)
沒有解決方案可以直接獲得高於地板的高度。 這是因為上面的高度取決於幾個因素,例如如何創建 window 所在的牆等。
可能是原始建模軟件將 sillHeight 導出到自定義 IFC 屬性。 您可以檢查一下,但是由於沒有通用標准,因此存在風險。
最好的辦法是查看IfcWindow
從IfcProduct
繼承的ObjectPlacement
屬性。 ObjectPlacement 定義了產品如何放置在世界空間中或相對於其宿主。 有關詳細信息,請參閱https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/HTML/schema/templates/product-local-placement.htm 。
您需要閱讀 ObjectPlacement 屬性,並檢查是否有 RelativeTo 屬性,如果有,您還需要填寫該屬性,並檢查它是否是地板的放置。 如果是這樣,您可以停止循環,並對您收獲的所有位置執行矩陣計算,以計算 window 相對於地板的位置。
(也許更簡單:分別計算 window 和地板的世界位置,而不是減去兩個向量 z 值以得到 window 從地板的高度)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.