王紅林, 周 創(chuàng)
(安徽國防科技職業(yè)學院 城市建設學院,安徽 六安 237011)
BIM技術的核心部分就是在建筑整個生命周期對信息進行有效處理,實現信息轉換以及共享.但是,在BIM軟件輸出的過程中,時常會出現建筑信息錯誤及丟失等現象,影響建筑信息的準確性.因此,需要構建基于IFC的BIM半結構化數據庫,增加數據庫數據輸出的可靠性.
BIM即Building Information Modeling,或者是Building Information Management,或者是Building Information Manufacture,代表的是一種建筑信息模型,是以三維數字技術為基礎,主要是將建筑工程項目當中的每一項信息數據進行收集,利用這些數據建立仿真模擬建筑物,在三維建筑模型的運用下,實現多樣化的建筑類功能,例如工程監(jiān)理、工程管理、設備管理等等,目前是建筑業(yè)信息化管理的重要手段之一[1].
IFC即Industry Foundation Classes,是一種指定的資料標準格式,是由buildingSMART制定,建立在工業(yè)產品資料交換標準STEP編號ISO-10303-11之上,其基礎為EXPERSS語言,用于BIM中AEC/FM相關領域信息交流.有部分專家在Industry Foundation Classes歸屬的界定上認為與網絡通信標準HTML并無分別,Industry Foundation Classes并不歸于BIM軟件所有,隨著IFC標準認證的不斷發(fā)展,在很多領域、軟件當中都開始增加IFC標準,甚至是一些企業(yè)和教育單位都開始研究IFC標準并進行應用[2].基于buildingSMART建立的IFC標準中有很多建筑訊息,在這些訊息的運用和管理上與AEC大量信息管理有相同之處.目前,基于Industry Foundation Classes的管理應用正在逐漸增多,基于IFC的BIM半結構化數據庫研究也在逐漸增多.IFC模型包括預定義屬性集、規(guī)則、函數和類型定義幾個主要部分,其中最重要的是其類型定義,IFC數據庫以STEP作為存儲文件的格式,其數據段是由與EXPRESS定義對應的實體類型組成的,作為信息交換結構的載體,且數據段中的實例只能出現一次,表達格式為:
[實例名稱]=[類型名稱]({[屬性值1],[屬性值n]})
BIM數據庫的主要作用就是結構化的將所有BIM數據存儲起來,而且,可以根據需求進行數據的過濾與提取,由于Industry Foundation Classes是BIM的數據描述標準,因此BIM數據庫的構建大部分都是基于IFC標準進行設計,關系型BIM數據庫是現階段使用較為廣泛的BIM數據庫數據存儲類型.根據目前的研究,一般都是在IFC大綱的基礎上進行數據邏輯模式的設計.例如,對于IFC當中的各個實體定義出一個表,然后再按照各個實體中的每一個屬性,進行表中一列的定義.目前關系型BIM數據庫的種類有很多,例如一種基于Sql Serv-er的IFC數據庫,該數據庫的開發(fā)是基于VTT Building and Transport and SECOM Co.開發(fā)而來,再比如 ACTIVe3D系統Oracle數據庫,其開發(fā)人為Cruz等,我國著名的學者張洋也開發(fā)了BIM信息集成平臺等相關數據庫.但是,由于IFC實體可選屬性較多,導致稀疏性的出現,使儲存空間產生了很大的浪費,而且,很難支持海量BIM數據存儲.
IFC模型具備面向對象的特征,針對于這一特性,很多學者提出了面向對象型的BIM數據庫,實現對BIM數據的存儲.例如,Faraj就利用了這一特性提出了Object Store存儲IFC的數據庫,我國著名學者陸寧也是基于IFC的面向對象特征,設計了Versant Object Da-tabase 8的IFC數據庫,并且其可行性得到了證實.同時,陸寧在對關系數據庫進行比較之后得出結論,即面向對象型的IFC數據庫比關系數據庫的效率要高出很多[3].但是,面向對象型的BIM數據庫在成本上是比較高的,而且自身理論還需要進一步完善,相比于基于No Sql的BIM數據庫,可擴展性較差一些.
對象關系型BIM數據庫顧名思義,就是基于關系型BIM數據庫與面向對象型BIM數據庫的基礎上建立的BIM數據庫,是由兩種BIM數據庫結合而成,換而言之,也屬于一種擴展關系數據庫,但是卻具備面向對象數據庫的特性.在對象關系型BIM數據庫的研究上,目前還較為不成熟,但是Kang等學者對此進行了利用,根據對象關系數據庫Cubrid來對IFC數據進行存儲.
鍵值型BIM數據庫的功能相對而言具備一定的局限性,因為鍵值型BIM數據庫主要支持的信息處理類型是在行鍵基礎上進行信息查詢,因此應用上相對不是十分廣泛.但是,在查詢速度、擴展等方面,鍵值型BIM數據庫具備較大的優(yōu)勢.例如,基于TNO Netherlands和TU of Eindoven開發(fā)的鍵值型BIM數據庫BIMserver,就具備查詢速度快、容易擴展等多種優(yōu)點.
圖1 BIM半結構化數據集成與服務技術架構
一般情況下,在構建BIM半結構化數據庫時,都會選擇將建筑對象作為基礎來進行數據表的構建.但是,由于IFC標準中具備600個以上的對象,而且各個對象之間的關系十分錯綜復雜,因此選擇建筑對象作為數據表構建依據具備一定的局限性,會導致數據庫變得十分復雜.而且,IFC標準在不斷的更新,一旦出現了新的IFC標準,IFC標準中的對象及其屬性、關系都會隨之產生變化,就需要大面積改動數據庫,維護難度非常高.因此,在基于IFC標準的半結構化BIM數據庫構建的過程中,要盡量簡化數據表的應用,減少數據存儲難度,使維護變得便捷.
BIM半結構化數據就是介于完全結構化數據與完全無結構數據中間的數據,例如XML、HTML等,一般屬于自描述,數據的結構與內容區(qū)別不大.BIM技術的核心部分就是在建筑整個生命周期的過程當中對信息進行有效處理,實現轉換以及共享.但是,在BIM軟件輸入IFC文件或者是輸出IFC文件的過程中,經常會有建筑信息錯誤、丟失等情況發(fā)生,為了避免這種現象,就需要在基于IFC標準的基礎上構建BIM數據庫.BIM數據庫的開發(fā)是在IFC標準格式的基礎上開發(fā)而來,能夠實現對IFC文件正確、完整的存儲,而且在輸出的過程中,不會有信息錯誤、缺失等情況出現[4].由于IFC文件是多個IFC語句共同組成,因此在進行IFC語句書寫時,必須要根據IFC標準中建筑對象的定義來確定書寫格式.同時,還必須要根據映射關系加入其他語句,形成一種語句之間的聯系.
同時,根據BIM數據庫能夠實現將多項目、多個IFC文件存儲起來的特點,在進行基于IFC標準的半結構化BIM數據庫構建時,將數據表的數量定為4張.一是文件管理表,該數據表的作用是實現對IFC文件項目信息的有效保存;二是語句管理表,該數據表的作用是實現對IFC文件語句信息的有效保存;三是屬性管理表,該數據表的主要作用是實現對每一條語句屬性信息的有效保存;四是映射管理表,該數據表的主要作用是實現對每一條語句映射信息的有效保存.
在BIM半結構化數據庫構建的過程中,由于該數據庫能夠實現對多項目、多個IFC文件的存儲,因此要想實現每一條語句的唯一識別功能,必須要利用定義ID來實現,從而實現與相關語句的映射,這樣還可以方便在每個表當中建立主鍵和外鍵的關系[5].BIM半結構化數據集成與服務技術架構如圖1所示.
為了驗證基于IFC標準的半結構化BIM數據庫可行性與可靠性,進行IFC文件相關的測試,主要包括IFC文件的輸入、輸出以及查詢等等,選擇3個IFC建筑信息模型來進行驗證.模型1的構建數目為梁72、柱48、板36、墻39,大小為569 688個字節(jié),語句數為11 097個;模型2的構建數目為梁700、柱240、板130、墻40,大小為2 249 633個字節(jié),語句數為43 912個;模型3的構建數目為梁2 988、柱126、板1 230、墻2510,大小為8 054 377個字節(jié),語句數為152 827個.由以上數據可以看出,模型1至模型3的構建數量、字節(jié)大小、語句數量呈現出遞增的趨勢.在測試的過程中,秉承著由簡單到復雜的原則,檢驗基于IFC標準的半結構化BIM數據庫的可行性與可靠性.
首先對3個模型案例依次進行BIM數據庫的輸入與輸出,觀察3個模型的項目編號、文件編號、輸入時間、輸出時間、字節(jié)大小、語句數量等.由此可知在輸入、輸出的過程中,IFC文件在字節(jié)大小上、語句的數量上都沒有出現變化,建筑信息的準確性與一致性得到了充分的檢驗.在時間上,隨著BIM模型文件大小的增長,時間會隨之增長.最終得出結論:基于IFC標準的半結構化BIM數據庫在IFC文件的輸入與輸出過程中,信息始終保持正確和完整,具備可靠性和一致性.數據庫測試結果如表1所示.
表1 數據庫測試結果
本文對基于IFC標準的半結構化BIM數據庫進行了深入的探究,在BIM軟件輸出的過程中,時常會出現建筑信息錯誤等現象,影響建筑信息的準確性與一致性.因此,要想增加數據庫數據輸出的可靠性,需要構建基于IFC的BIM半結構化數據庫.本文基于IFC標準構建了BIM半結構化數據庫,并對其應用情況進行了測試,測試結果良好,信息具備正確和完整,可靠性較高.