關於建立屬性映射預設的常規訊息: 參見IFC 導入訊息映射。
對於每個已導入元素,ARCHICAD嘗試執行可應用的映射規則。
如果ARCHICAD屬性可用於元素(基於其份類),那麼此映射規則也可用。
映射的IFC屬性數值可分配到元素的對應ARCHICAD屬性中。(這是一個自定義數值。)
例子:映射規則應用
我們已經為當前IFC轉換器的導入預設在屬性映射中建立了一個映射規則。根據此規則,名稱為Example_A的IFC屬性被映射到了ARCHICAD內名為產品訊息A的屬性中。
帶有名為“Example_A”IFC數據的某列可從IFC檔案中導入。
源IFC檔案中的元素數據(正如在模型查看器中所見)
映射規則已成功應用: 導入過程中生成的列元素有一個名為產品訊息A的屬性,這已經被分配到了一個自定義值中(在ARCHICAD元素設定內,屬性值通過未鏈接圖標顯示 - 其不再鏈接到於屬性管理器中設定的預設值。)
從IFC中導入元素後,帶自定義數值的目標ARCHICAD屬性
例子:不存在的IFC數據
如果一個關於IFC屬性的映射規則不存在於導入元素中,那麼此元素的ARCHICAD屬性值也是不確定的。
已顯示了兩個映射規則。其中一個指的是不存在於導入元素中的IFC數據(Example_C)。
源IFC檔案中的元素數據(正如在模型查看器中所見)
因此,此映射規則可將<未定義的>自定義值分配給目標ARCHICAD屬性。
從IFC中導入元素後,帶自定義<未定義的>數值的目標ARCHICAD屬性
不兼容的數據類型
•如果映射的IFC元素有一個數值,但其無法通過對應的ARCHICAD屬性進行解釋(比如,不兼容的數據類型): 無自定義屬性值可分配。元素使用的是ARCHICAD屬性的預設值。
元素類型註釋:
–IFC和ARCHICAD使用不同的數據類型定義: 參見IFC和ARCHICAD中的屬性數據類型。在將一個IFC屬性映射至ARCHICAD屬性中時,其數據類型不一定能契合。ARCHICAD嘗試轉換數據。
–如果數據轉換不可行,那麼階段報告可提供關於不可轉換的IFC元素數據的細節內容。
例子:
已顯示了兩個映射規則。其中一個將“Example_A”IFC數據(一個字符串類型的IfcLabel)映射至ARCHICAD屬性熱透射率,這屬於一種字符串類型的數值。映射規則已成功應用: 導入過程中生成的元素顯示了關於熱透射率ARCHICAD屬性的字符串類型自定義數值。
第二個映射規則將“Example_A”IFC數據映射到了易燃ARCHICAD屬性中,這是一個True/False類型的數值。此數據類型不相匹配,因此其映射規則內會出現一個警告圖標。
“易燃”屬性的映射規則參照的是不兼容的數據類型
目標ARCHICAD屬性沒有獲得任何自定義數值: 其仍保持鏈接到預設數值。
帶不兼容數據類型的屬性映射: ARCHICAD屬性值中沒有發生改變
•如果無映射規則可應用於元素的給定屬性,那麼就沒有自定義屬性值可以分配。元素使用的是ARCHICAD屬性的預設值。
映射表中可能包括幾個映射到同一獨個ARCHICAD屬性中的IFC屬性。在此例中,ARCHICAD可使用最具體的規則。(規則出現在映射表中的順序並不重要。)
假設有兩個及以上平等的具體映射規則: 這些規則會被忽略,且無映射可替換。
因其IFC數據屬性定義範圍更小,所以此規則也會更具體。(比如,如果其被定義為一個IFC PropertySet,被設定為“任意”的IFC PropertySet數據則相對沒那麼具體。) 在映射規則內,每個最右側的字段變化都會縮短其定義範圍。
此處,兩個IFC數據(Example_A和Example_C)可映射到相同的ARCHICAD屬性中。在此例中,更具體的規則可自動應用。Example_C是更為具體的,因為其在IFC PropertySet等級中縮小了。
在下一個例子中:
幾個與厚度相關的IFC屬性被映射到了ARCHICAD中單個厚度屬性中。如果一個導入的IFC元素有多種厚度屬性,那麼ARCHICAD就無法決定可應用於ARCHICAD的屬性值。因此,關於此導入元素的規則可忽略,且其ARCHICAD屬性值保留為預設值。