2018-06-04

IFC 的優點及缺點

關於IFC的基本概念,可以參考之前的文章「什麼是IFC」。

進一步,我們來聊一下IFC有什麼優點跟缺點,為什麼這個格式讓大家又愛又恨。

在開始之前,還是強調一下IFC的本質:
1. IFC是一個「公開格式」
2. IFC的目的是用來進行「資料交換」

基於其設計目標產生了以下的優點:

- 優點1:不限定使用軟體
形成這個優點的原因很簡單,
採用純文字作為格式基礎,
所有文字編輯器都可以直接開啟該檔案,
進一步如何解析請參考「IFC的格式 - 純文字解析基礎」。


- 缺點1:檔案容量大
相較於其他二進位壓縮格式檔案,
IFC光是純文字就讓其檔案的容量較大,
此外,特殊格式的檔案通常都還有一些較方便的縮寫或重覆引用方法,
但IFC為了讓公開的格式容易被使用,
因此在基本格式上放棄了一些可以節省容量的表示方法,
雖然也有事後壓縮成ifczip這類的應用,
但原則上並非在IFC本身的設計之內。

特別是一些管線等複雜的圖形上,
其檔案大小差異相當大。



- 優點2:格式公開
所有IFC的定義都可以在buildingSMART的官方網站上找到,
例如:IFC 2x3 TC1 格式說明 、 IFC4 Add2 格式說明
有任何版本更新及修正都會公佈在網路上,
因此大家可以依照相同的標準去進行IFC的匯入及匯出作業。



- 缺點2:常用版本非最新版
目前最新的公開釋出版本是2016年發佈的 IFC4 Add2,
但目前大多數軟體支援的是2007年發佈的 IFC 2x3 TC1,
主要的原因是IFC 2x3 TC1已經可以描述所有物件的外觀及屬性,
其原理有點像是電腦圖學的幾何描述與座標描述,
相關範例請參考「IFC的格式 - 純文字解析基礎」一文。

但單純的外觀描述並不足以進行工程應用,
在資料交換上往往還需要進一步進行判別,
例如三維空間中的「定線」其「平曲線」及「豎曲線」在沒有定義之前,
還是可以用一堆「點位」或簡單的公式加以表示,
但如果要應用在工程上,常常會需要進行檢核及修正,
如果沒辦法「全部」用設計參數來表示的話,
就不容易加以應用,
因此在 IFC4x1 Add1中,便加入了定線(IfcAlignment)相關的定義。

這些進一步定義的屬性其實算特殊化,
多數的軟體覺得並非其軟體之主要功能考量,
因此並沒有打算隨著改版,
造成大部份的軟體支援IFC都還是以IFC 2x3 TC1為主。

- 優點3:物件導向式設計
IFC本身是採用物件導向式(Object Oriented)的設計,
因此具備有類別、物件、繼承、參照、抽象、多型等特性,
幾乎可以描述現實生活中看得見的任何東西之間的關係。



- 缺點3:格式複雜
IFC 2x3 TC1中共有
117種定義資料型態(Defined Types)
164種列舉資料型態(Enumerations)
46個選擇資料型態(Select Types)
653種實體資料型態(Entities)

而IFC 2x4則有
126種定義資料型態(Defined Types)
206種列舉資料型態(Enumerations)
59個選擇資料型態(Select Types)
766種實體資料型態(Entities)
還有
42個內建函數(Functions)
408個屬性集(Property Sets)
91個數量集(Quantity Sets)
1691個獨立屬性(Individual Properties)
而且還有自訂義物件。

恩…不複雜嗎?


從上述說明大家應該可以發現,
其實IFC的優點與缺點就是一體兩面,
因為要具備這些優點,就會造成這些缺點。
但透過這樣的設計,就可以用純文字來描述複雜的工程資訊。

沒有留言:

張貼留言