









摘要:隨著BIM技術(shù)在建筑行業(yè)的深入應(yīng)用,眾多不同領(lǐng)域和專業(yè)的數(shù)據(jù)在設(shè)計過程中被引入,導致BIM數(shù)據(jù)格式多樣、數(shù)據(jù)結(jié)構(gòu)復雜以及互操作性差等問題,各專業(yè)之間的數(shù)據(jù)交換異常困難。利用工業(yè)基礎(chǔ)類(IFC)標準將不同格式和專業(yè)的BIM數(shù)據(jù)進行有效融合,是解決這一問題的有效途徑。將各種格式的BIM數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為IFC格式,通過解析IFC文件,設(shè)計出高效的數(shù)據(jù)融合算法,消除IFC文件中的冗余數(shù)據(jù),并檢測不同數(shù)據(jù)源之間的沖突,確保BIM數(shù)據(jù)的一致性。基于上述數(shù)據(jù)融合方法,開發(fā)了一套BIM數(shù)據(jù)融合系統(tǒng),并通過實例驗證數(shù)據(jù)融合效果。結(jié)果表明:基于IFC標準的BIM數(shù)據(jù)融合方法能夠有效融合設(shè)計階段的BIM數(shù)據(jù),促進多專業(yè)協(xié)同工作,提高工作效率和設(shè)計質(zhì)量。
關(guān) 鍵 詞:BIM;IFC;數(shù)據(jù)融合;數(shù)據(jù)兼容性
中圖法分類號:TU17 文獻標志碼:ADOI:10.16232/j.cnki.1001-4179.2024.S2.055
0 引言
一個完整的工程項目往往涵蓋建筑設(shè)計、結(jié)構(gòu)設(shè)計、機電設(shè)計等多個專業(yè)領(lǐng)域。在此背景下,建筑信息模型BIM(Building Information Modeling)技術(shù)因其在工程管理中的高效性和可視化特點[1],逐漸被應(yīng)用于各類工程項目中。然而,在實際應(yīng)用中,不同專業(yè)領(lǐng)域?qū)IM數(shù)據(jù)的需求與應(yīng)用重點各異,不同部門與機構(gòu)在BIM數(shù)據(jù)的處理與管理上也存在顯著差異,這導致產(chǎn)生了多源的BIM數(shù)據(jù)。多源BIM數(shù)據(jù)可能源自不同的專業(yè)領(lǐng)域,因設(shè)計階段的不同而呈現(xiàn)出差異性,其使用的數(shù)據(jù)標準亦各不相同,進而引發(fā)數(shù)據(jù)不兼容的問題。此外,由于設(shè)計軟件平臺的多樣性,如Revit、Bentley、Catia、Tekla Structures、Rhinoceros等,它們各自生成的BIM數(shù)據(jù)格式亦不盡相同,這增加了數(shù)據(jù)交互的難度,導致信息孤島現(xiàn)象的出現(xiàn)[2]。
針對以上問題,本文基于BIM數(shù)據(jù)標準IFC(Industry Foundation Classes,工業(yè)基礎(chǔ)類),對BIM數(shù)據(jù)的融合技術(shù)進行研究與實踐,旨在解決工程中由于數(shù)據(jù)格式不兼容導致的信息孤島問題,確保在項目的整個生命周期中,從設(shè)計、施工到運營維護,各相關(guān)方能夠高效地共享、集成和利用工程項目的數(shù)字化信息。
1 IFC概述
IFC是由建筑智能模型聯(lián)盟(building SMART International)開發(fā)和維護的一種數(shù)據(jù)標準,用于在建筑信息模型(BIM)領(lǐng)域內(nèi)進行信息交換和共享。作為一個開放和中立的標準,IFC旨在促進建筑和基礎(chǔ)設(shè)施項目全生命周期中的數(shù)據(jù)互操作性,涵蓋了設(shè)計、施工、運營和維護等各個階段[3]。其采用EXPRESS語言、XML語言對各種實體、枚舉類型等進行定義。IFC標準因其良好的公開性、數(shù)據(jù)描述的全面性已迅速成為各大BIM軟件廠商之間實現(xiàn)數(shù)據(jù)交換的應(yīng)用標準。
1.1 IFC標準結(jié)構(gòu)層次
IFC標準數(shù)據(jù)模式架構(gòu)將數(shù)據(jù)結(jié)構(gòu)分為4個層級:資源層、核心層、交換層和領(lǐng)域?qū)?sup>[4](圖1)。資源層位于最底層,包含所有資源定義的單個模式,如時間、價格等,不包括全局唯一標識符(GUID),且不得獨立于核心層使用。核心層由核心模式和核心擴展模式組成,定義了帶有GUID、所有者和歷史信息的通用實體。交換層用于跨領(lǐng)域定義和共享產(chǎn)品、過程或資源的信息。最高層的領(lǐng)域?qū)訉W⒂谔囟I(lǐng)域的產(chǎn)品、過程或資源的詳細描述和定義,通常用于領(lǐng)域內(nèi)的信息交換和共享。各層級協(xié)同工作,確保數(shù)據(jù)的一致性和互操作性。
1.2 IFC文件信息
在IFC標準中,幾何和屬性是描述BIM中對象的關(guān)鍵元素。它們之間的關(guān)系是BIM數(shù)據(jù)模型的重要組成部分,可用于準確、全面地表達建筑和基礎(chǔ)設(shè)施項目的各種信息。
幾何表示描述了建筑組件的形狀、尺寸和空間位置。IFC采用多種幾何表示方法,包括B-rep(邊界表示)、CSG(構(gòu)造實體幾何)、掃掠實體(Swept Solids)和曲面模型等[5]。這些表示方法通過IfcShapeRepresentation類來定義,確保每個建筑組件在模型中都有準確的幾何形態(tài)。
屬性為幾何形態(tài)提供了豐富的描述信息,例如材料、顏色、表面積、體積等。屬性通過屬性集(Property Sets)組織,由IfcPropertySet類管理,每個屬性集包含多個具體屬性(如單值屬性、多值屬性等)。這些屬性可以直接與幾何關(guān)聯(lián),通常通過IfcRelDefinesByProperties關(guān)系類分配給具體的建筑部件[6]。
幾何和屬性之間的關(guān)系在IFC模型中通過多種方式體現(xiàn),如直接關(guān)聯(lián)、類型定義、材質(zhì)關(guān)聯(lián)和參數(shù)化幾何與屬性等。通過詳細定義幾何和屬性之間的關(guān)系,確保了建筑信息模型的完整性和豐富性,使得模型不僅能準確展示建筑組件的形狀,還能提供詳細的屬性信息,有助于設(shè)計、施工和運營的各個環(huán)節(jié)。
2 基于IFC標準的BIM數(shù)據(jù)融合方法
本文研究方法是將不同來源、可能代表建筑工程項目不同階段、不同專業(yè)領(lǐng)域或不同參與方提供的IFC文件的幾何體和屬性整合為一個統(tǒng)一的、包含所有必要信息的綜合IFC模型。這種融合對于實現(xiàn)項目全生命周期內(nèi)的信息完整性、協(xié)調(diào)性和一致性至關(guān)重要,融合流程如圖2所示。考慮到由于不同版本的IFC文件可能包含不同的元素、屬性和結(jié)構(gòu),直接融合可能導致數(shù)據(jù)丟失或不兼容。故融合的IFC文件使用的版本需統(tǒng)一到同一版本,如IFC2×3或者IFC4×3等,避免因版本差異導致數(shù)據(jù)不一致和數(shù)據(jù)解析的問題。在使用BIM設(shè)計軟件平臺(如Revit、Bentley、Catia等)導出IFC時[7],須導出為相同版本的IFC文件。
在IFC文件中以及在融合的結(jié)果數(shù)據(jù)中,通常會有冗余數(shù)據(jù)存在,如圖3所示。冗余數(shù)據(jù)產(chǎn)生的原因很多。不同的BIM設(shè)計平臺、實例重復、幾何復雜性高、模型拆分或更新都會導致冗余數(shù)據(jù)在無意中產(chǎn)生。在相對較大的模型中,這種冗余甚至可能累積到60%~70%[8],多個IFC文件的融合會進一步加劇冗余數(shù)據(jù)的嚴重程度。
冗余數(shù)據(jù)帶來諸多弊端,不僅會顯著增加IFC文件的大小,導致數(shù)據(jù)存儲和傳輸成本增加,降低軟件的處理速度和效率,影響模型的加載、渲染和操作,還會引發(fā)數(shù)據(jù)一致性和準確性方面的問題,導致模型中的信息沖突和混亂,增加團隊之間對模型的理解和操作模型的難度,影響協(xié)作效率。
2.1 IFC文件解析
2.1.1 讀取IFC文件
IFC文件通常可以分為3個主要部分:頭部(HeadSection)、主體(BodySection)和尾部(FootSection)。頭部部分包含IFC文件的元數(shù)據(jù)和基本信息,通常包括文件的描述,文件的名稱和文件的版本信息。主體部分是IFC的核心部分,包含了實際的BIM數(shù)據(jù),這部分數(shù)據(jù)以實例(Instance)的形式存儲,每個實例代表一個特定的對象或元素。每個實例由唯一的標識符(ID)和詳細的屬性描述組成。尾部部分標志著IFC文件的結(jié)束。
2.1.2 重復檢測
重復檢測需要逐行讀取文件中的每個實例,將其ID、類型和詳細屬性提取并存儲[9]。同時檢測過程還包括處理引用關(guān)系,即解析實例之間的相互關(guān)聯(lián)。為了消除冗余數(shù)據(jù),此過程需要定義3個必要的容器:一個用于存儲實例內(nèi)容及其標識符的內(nèi)容字典,其中鍵是實例的ID,值是實例的內(nèi)容;一個用于存儲引用關(guān)系的引用關(guān)系字典,例如#555=IFCPOLYLINE((#4,#552,#553,#554,#4))用{‘#555’:[‘#4’,‘#552’,‘#553’,‘#554’,‘#4’]}表示;一個用于存儲重復項的字典,例如#552=IFCCARTESIANPOINT((670560.,0.))和#2019=IFCCARTESIANPOINT((670560.,0.))中,由于兩者值相同,可視為重復項,用{‘#552’:‘#2019’}表示。主體解析流程如圖4所示。
2.1.3 引用替換
在完成主體解析后,如果重復項字典不為空,則表明存在冗余數(shù)據(jù)。這時需要遍歷重復項字典中的每一項,獲取其關(guān)聯(lián)列表,并在內(nèi)容字典中消除重復項的引用。具體流程如圖5所示。
值得注意的是,在消除重復引用項的過程中,可能會引入新的重復項。因此,在引用替換完成后,需要基于更新后的內(nèi)容字典生成新的BodySection,并再次執(zhí)行解析和引用替換的操作。這個迭代過程可能會多次進行,直到解析過程中得到的重復項字典為空,冗余數(shù)據(jù)才完全消除。
2.2 數(shù)據(jù)融合
對多個IFC文件解析之后,每個文件都生成一個經(jīng)過消除冗余數(shù)據(jù)的內(nèi)容字典。數(shù)據(jù)融合的關(guān)鍵步驟在于將這些內(nèi)容字典融合成一個統(tǒng)一的字典。在融合之前,還必須考慮空間坐標和ID沖突,以確保合并過程數(shù)據(jù)中的準確性和完整性。
2.2.1 坐標轉(zhuǎn)換
由于IFC文件可能在不同的BIM設(shè)計軟件平臺生成導出,其使用的空間坐標系不盡相同。在對不同坐標系的數(shù)據(jù)進行融合時,幾何數(shù)據(jù)會出現(xiàn)數(shù)據(jù)錯位的問題,這不僅影響了模型的準確性和完整性,還可能給后續(xù)的建筑設(shè)計、施工和維護工作帶來諸多不便。以WGS1984(EPSG:4326)和CGCS2000_3_Degree_GK_CM_111E(EPSG:4546)這兩種常見的坐標系為例,它們分別代表了不同的地理坐標系統(tǒng)[10]。當需要將使用這兩種不同坐標系的BIM模型數(shù)據(jù)進行融合時,由于這兩種坐標系在定義、計算方式和數(shù)據(jù)表示上存在差異,直接進行融合會導致非常嚴重的數(shù)據(jù)錯位。因此,在融合不同坐標系的IFC文件時,必須先進行坐標轉(zhuǎn)換,以確保幾何數(shù)據(jù)的準確性和一致性。
在IFC4版本之后,IFC標準中添加了IfcProjectedCRS實體和IfcMapConversion實體,分別用于定義基于投影的坐標參考系統(tǒng)和投影坐標系間的轉(zhuǎn)換參數(shù)(包括原點偏移、旋轉(zhuǎn)和縮放等)。在實例字典中查找這兩個實體可以快速地獲取地理坐標系和轉(zhuǎn)換參數(shù)。如若解析的IFC文件版本不支持或未能查找到,則需要人工指定投影坐標系和轉(zhuǎn)換參數(shù)。通過一系列坐標轉(zhuǎn)換算法,包括投影變換、坐標平移和旋轉(zhuǎn)等,將IFC文件中的幾何坐標信息統(tǒng)一轉(zhuǎn)換至同一坐標系之下。
2.2.2 ID重映射
ID作為IFC文件中每個實例的唯一標識符,其格式嚴格規(guī)定為以“#”為前綴,且起始值標識符為1,后續(xù)以升序排列。在多個IFC文件的內(nèi)容字典進行融合時,不可避免地會存在嚴重的ID沖突情況。
為了有效解決這一問題,需要對全部的內(nèi)容字典進行ID重映射。首先,通過逐一掃描各內(nèi)容字典,統(tǒng)計出其內(nèi)部ID的最大數(shù)值。隨后,按照累加原則,為每個內(nèi)容字典分配一個唯一的ID偏移量。最后,再次對每個內(nèi)容字典進行遍歷,將其對應(yīng)的偏移值逐一累加到每個ID之上,用以替換原有ID,確保新生成的ID不會與其他內(nèi)容字典中的ID發(fā)生沖突。
2.2.3 數(shù)據(jù)合并
處理完ID沖突的問題,即可對多個IFC文件的內(nèi)容字典進行合并操作。此過程需要定義一個新的內(nèi)容字典,將所有內(nèi)容字典的數(shù)據(jù)逐一添加到新的內(nèi)容字典中。鑒于不同IFC文件中可能包含相同的實例,為防止冗余數(shù)據(jù)的產(chǎn)生,必須在數(shù)據(jù)合并完成后再次執(zhí)行刪除冗余數(shù)據(jù)的操作,操作過程同2.1節(jié)中的重復檢測和消除引用一致。
2.2.4 重排序
經(jīng)過對冗余數(shù)據(jù)的清除以及ID重映射等操作,內(nèi)容字典中的實例ID呈現(xiàn)出不連續(xù)且分配不合理的狀態(tài)。為此,需要對所有實例進行重排序,依據(jù)一定的規(guī)則對內(nèi)容字典中的實例順序進行重新設(shè)置。具體規(guī)則是實例的引用次數(shù)越多,為其分配的ID標識符越小。為頻繁引用的實例對象分配更短的標識符,達到減少導出IFC文件體積的目的,同時也有助于提升文件的緊湊性,進而增強文件的可讀性。此過程需要定義一個引用計數(shù)字典,用于保存每一個實例被引用的次數(shù)。圖6為重排序流程。
3 驗證
3.1 開發(fā)實例
為了驗證基于IFC的BIM數(shù)據(jù)融合技術(shù)的有效性和適應(yīng)性,本文使用Visual Studio 2019開發(fā)了一款具備可視化功能的IFC融合工具,能夠有效解析、處理和融合IFC文件。開發(fā)過程中,使用開源工具IFC++解析IFC文件,實現(xiàn)IFC文件的讀取與導出[11];使用開源工具GDAL進行各種復雜的坐標轉(zhuǎn)換計算[12];最后,結(jié)合開源工具OSG和C#來實現(xiàn)工具的可視化功能。OSG用于實現(xiàn)IFC文件的三維可視化和操作功能,能夠直觀地瀏覽和操作IFC文件中的三維模型,進行旋轉(zhuǎn)、縮放和平移等操作[13]。C#用于開發(fā)工具的用戶界面部分,包括IFC文件的結(jié)構(gòu)樹面板和屬性面板的可視化。結(jié)構(gòu)樹面板展示了IFC文件中的各個實體和層次關(guān)系;屬性面板顯示所選實體的詳細屬性信息。融合工具界面如圖7所示。
3.2 應(yīng)用實例
基于以上工具,以長江大保護智慧工程中宜昌東山水質(zhì)凈化廠的BIM模型為例,展開基于IFC的BIM數(shù)據(jù)融合技術(shù)實踐。
宜昌東山水質(zhì)凈化廠坐落于湖北省宜昌市高新區(qū),為三峽集團與宜昌市攜手打造長江大保護典范城市的重要展示窗口之一。其設(shè)計處理能力可達5萬m3/d,采取地下式建設(shè)方式,有效實現(xiàn)水質(zhì)凈化與環(huán)境保護的雙重目標。東山水質(zhì)凈化廠的BIM模型使用Revit設(shè)計和創(chuàng)建,本次研究對廠內(nèi)關(guān)鍵設(shè)施的BIM數(shù)據(jù)進行數(shù)據(jù)融合實踐。圖8列出了此次融合的設(shè)施BIM數(shù)據(jù)。
使用IFC融合工具對這4個BIM模型進行融合,融合后效果圖如圖9所示。從圖中左側(cè)的結(jié)構(gòu)樹可以發(fā)現(xiàn),4個BIM模型獨立的結(jié)構(gòu)樹已整合為一個統(tǒng)一的結(jié)構(gòu)樹。為了進一步驗證融合效果,對融合前后的文件進行分析,表2列出了數(shù)據(jù)融合前后的實體數(shù)量對比,發(fā)現(xiàn)消除冗余率達24.42%。
4 結(jié)論與展望
針對傳統(tǒng)的BIM數(shù)據(jù)來自不同的設(shè)計軟件和專業(yè)領(lǐng)域,格式和標準各異,導致數(shù)據(jù)之間不兼容的問題,本文以IFC標準為基礎(chǔ),提出了一種BIM數(shù)據(jù)融合方法。同時研究提出了IFC文件在融合過程中消除冗余數(shù)據(jù)的具體方法和步驟,能夠有效應(yīng)對工程中的BIM數(shù)據(jù)融合問題。實際工程案例的實踐表明,本研究方法具有較強的實用性和可操作性,可實現(xiàn)BIM數(shù)據(jù)的無縫融合,提高了BIM模型的完整性和一致性,為建筑工程全生命周期的管理提供了堅實的數(shù)據(jù)基礎(chǔ)。
在下一步的研究中,將著重解決實際應(yīng)用中仍然存在的一些問題和挑戰(zhàn):①開發(fā)基于IFC標準的自動化轉(zhuǎn)換和校驗工具,減少不同BIM軟件在IFC數(shù)據(jù)導出過程中的錯誤和信息丟失。②優(yōu)化計算性能,開發(fā)高效的算法和工具,提升數(shù)據(jù)融合的速度和效率。③研究基于人工智能和機器學習的智能化沖突檢測和冗余數(shù)據(jù)解決方案,減少人工干預,提高處理效率和準確性。通過以上研究工作,不斷完善基于IFC標準的BIM數(shù)據(jù)融合方法,推動BIM技術(shù)在建筑工程中的廣泛應(yīng)用。
參考文獻:
[1] 趙繼偉,魏群,張國新.水利工程信息模型的構(gòu)建及其應(yīng)用[J].水利水電技術(shù),2016,47(4):29-33.
[2] 賴華輝,鄧雪原,劉西拉.基于IFC標準的BIM數(shù)據(jù)共享與交換[J].土木工程學報,2018,51(4):121-128.
[3] 王寧,陳嶸,楊新軍,等.基于BIM技術(shù)的水利工程三維設(shè)計研究與實現(xiàn)[J].人民長江,2017,48(增1):156-159.
[4] 劉丹,滕彥,周爭,等.基于IFC的水利水電工程信息模型存儲標準研究[J].人民長江,2022,53(1):240-247.
[5] 謝明坤,賀東旭,孔莉莉,等.水利工程視角下的BIM與GIS數(shù)據(jù)融合研究[J].水利信息化,2023(6):45-50.
[6] 范登科,張恒,張麗.基于構(gòu)件復用與邊折疊的BIM模型幾何輕量化方法[J].鐵道標準設(shè)計,2023,67(6):60-65.
[7] 李想.基于多源數(shù)據(jù)融合的交通基礎(chǔ)設(shè)施BIM信息資源管理研究[D].南京:東南大學,2021.
[8] THOMAS K,JAKOB B.A SPARQL query engine for binary-formatted IFC building models[J].Automation in Construction,2018,95:46–63.
[9] 劉瀛.基于IFC的數(shù)據(jù)解析與可視化系統(tǒng)研究[D].太原:太原理工大學,2022.
[10]張華.CIM、BIM應(yīng)用中坐標轉(zhuǎn)換技術(shù)研究[J].土木建筑工程信息技術(shù),2023,15(2):24-30.
[11]張振偉.BIM數(shù)據(jù)的解析與可視化研究[J].河南科技,2021,40(9):31-33.
[12]李凱,葉水全.GDAL坐標轉(zhuǎn)換功能改寫[J].測繪與空間地理信息,2020,43(6):185-187.
[13]張憲亮.基于OSG的BIM+GIS在橋涵方案設(shè)計中的應(yīng)用研究[J].鐵道標準設(shè)計,2021,65(11):175-179.
(編輯:鄭毅)