胡宏彪
(江蘇建筑職業(yè)技術(shù)學(xué)院 建筑管理學(xué)院,江蘇徐州 221116)
建筑工程資料是對建筑工程項目建造過程的真實記錄,是工程質(zhì)量的客觀見證,也是對建筑工程進(jìn)行檢查、維修、管理、使用、改建、擴建的重要依據(jù),因此,國家建設(shè)主管部門對工程資料工作十分重視,明確規(guī)定“任何一項工程,如果工程資料不符合標(biāo)準(zhǔn)規(guī)定,則判定該項工程不合格”[1]。為了系統(tǒng)化、程序化、規(guī)范化記錄工程建設(shè)過程中的各項信息,目前工程資料主要使用制式表格的形式進(jìn)行記錄。
建筑工程資料包含的表格、文檔不僅數(shù)量巨大,而且種類繁多,填寫這些資料是一個非常耗費人力的過程。而隨著信息技術(shù)的發(fā)展,當(dāng)前,在實際工作中已廣泛使用工程資料管理軟件輔助工作,這些軟件能完成工程資料所有文檔、表格的錄入、管理、查詢、備份、導(dǎo)入、導(dǎo)出等任務(wù)。雖然和以前相比,管理軟件的應(yīng)用大大提高了資料工作的效率和質(zhì)量,但是以現(xiàn)在的信息化標(biāo)準(zhǔn)進(jìn)行衡量,目前所有的工程資料管理軟件只是實現(xiàn)了表格的電子化而已,表格中的各項數(shù)據(jù)依然完全依靠人工輸入的方式進(jìn)行填寫,由于輸入的數(shù)據(jù)量大,圖紙復(fù)雜,人工方式不僅速度慢,還非常容易產(chǎn)生錯誤。另外,在二維施工圖時期,由于圖紙上的設(shè)計信息只能依靠人工讀圖進(jìn)行提取,資料管理軟件和建筑設(shè)計軟件之間的信息隔離是可以接受的,而現(xiàn)在進(jìn)入BIM 時期后,由于可以從建筑設(shè)計模型上提取信息,這種信息隔離的軟件設(shè)計思想就顯得非常落后了。
國內(nèi)外的研究者已經(jīng)關(guān)注到建筑軟件信息連通這個領(lǐng)域,并開展了一系列研究,張翼飛[2]通過開發(fā)Revit 插件提取三維模型的幾何信息注入AR 建模軟件,實現(xiàn)了建筑模型的AR 展示和信息查詢。葉鵬等[3]以鐵路車站的BIM 模型為載體,通過Unity 平臺開發(fā)實現(xiàn)了車站模型與資料的關(guān)聯(lián),使得資料的查詢、展示便利化。潘月宇[4]論證了BIM 在施工項目工程資料管理上的適用性,并提出了總體要求和框架體系。但目前的研究還基本沒有達(dá)到通過軟件信息連通實現(xiàn)工作自動化的深度,尤其對于這方面具體實施技術(shù)的研究還比較缺乏,因此對BIM 數(shù)據(jù)提取及應(yīng)用進(jìn)行研究具有較大的實用價值。
由于工程使用BIM 建模后,建筑信息可以從模型中直接提取,當(dāng)需要向工程資料表格中填入信息時,關(guān)于建筑物本身的信息,比如構(gòu)件尺寸、材質(zhì)、位置等,就可以自動從模型中提取并填入表格,工作快速準(zhǔn)確,大大節(jié)約人力成本。另外,在自動獲取建筑設(shè)計信息后,工程資料管理軟件還可以大幅增強其自動計算、自動判別結(jié)果的功能,使軟件更加智能化。以柱子模板安裝施工驗收記錄為例,說明在該設(shè)計思路下工程資料管理軟件的改進(jìn)效果。
在傳統(tǒng)方式下完成工程資料的操作步驟:
(1)測量一個柱子的模板安裝尺寸;
(2)從圖紙上找出此柱子的設(shè)計尺寸;
(3)計算兩者之間的偏差;
(4)根據(jù)規(guī)范規(guī)定判定驗收結(jié)果是否合格;
(5)將結(jié)果輸入工程資料管理軟件。
本文設(shè)計的操作步驟:
(1)測量一個柱子的模板安裝尺寸;
(2)在BIM 模型中找到此柱子的ID 值;
(3)在軟件中,輸入ID 值和測量值。
人工完成本文設(shè)計的步驟后,資料管理軟件根據(jù)ID 值從BIM 模型中提取出柱子的設(shè)計尺寸,然后和測量值比對,計算出偏差,再根據(jù)資料管理軟件中設(shè)定的規(guī)范要求,自動判斷施工質(zhì)量是否合格,最后將各項所需數(shù)據(jù)自動填入表格中。兩者相比,后者自動化程度更高,所需人工工作量更小,計算過程及判定也不會出現(xiàn)錯誤。
在本文設(shè)計的工作模式中,從BIM 模型中提取所需數(shù)據(jù)是技術(shù)核心。BIM 數(shù)據(jù)主要包含在其核心建模軟件中,我國現(xiàn)在應(yīng)用最廣泛的建模軟件是Autodesk 公司的Revit,Revit 不僅創(chuàng)建了三維模型的幾何實體,更包含了模型的數(shù)據(jù)信息,并使信息與模型保持完整的關(guān)聯(lián)性,即模型與信息之間可實現(xiàn)同步聯(lián)動,方便后續(xù)信息提取的研究。Revit 擁有較強的開放性,Autodesk 公司為該軟件保留了大量的API 應(yīng)用程序接口,用戶可以通過Revit 二次開發(fā)技術(shù)使用API 來擴展和定義所需的功能或模塊。利用 RevitAPI 接口可以訪問 BIM 模型的圖形信息、訪問 BIM 模型的參數(shù)信息、自動創(chuàng)建項目文檔、集成第三方應(yīng)用及轉(zhuǎn)換傳遞 BIM 模型數(shù)據(jù)信息等,因此,本文選用 Revit 進(jìn)行BIM 數(shù)據(jù)提取方法的研究。
在進(jìn)行Revit 二次開發(fā)之前,需安裝好相應(yīng)的開發(fā)平臺并對開發(fā)環(huán)境進(jìn)行搭建。本文使用Revit 2019 版軟件進(jìn)行二次開發(fā),并使用Visual studio 2019 搭建相應(yīng)的開發(fā)環(huán)境,使用C#編程語言和API 程序接口對Revit 軟件進(jìn)行功能命令的二次開發(fā)。Revit 的基本開發(fā)流程為:首先創(chuàng)建一個類庫(Class Libriary)項目,在這個類庫項目上添加兩個引用RevitAPI.dll和RevitAPIUI.dll;然后在程序中添加命名空間Autodesk.Revit.UI、Autodesk.Revit.DB,在程序中添加事件屬性;最后建立一個IExternal Command 的派生類,在Execute () 函數(shù)中通過編寫代碼進(jìn)行重載實現(xiàn)需要的功能。開發(fā)流程如圖1 所示。
圖1 Revit 基本開發(fā)流程圖
在RevitAPI 中,Document 類用于表示打開的Autodesk Revit 工程,Document 對象用于存儲Revit 的元素、管理視圖和數(shù)據(jù),通過這個類的GetElement 方法獲取元素,從元素的族實例、族類型尋找所需的參數(shù),有GetParameters 和Get_Parameter兩種方法。GetParameters 方法使用name 參數(shù),Get_Parameter方法可以使用BuiltInParameter 參數(shù)、Definition 參數(shù)、Guid 參數(shù),從效率上講,最快的是BuiltInParameter 內(nèi)建參數(shù),其次是Definition 參數(shù)和Guid 參數(shù),最慢的是name 參數(shù)。
以一個框架結(jié)構(gòu)中的柱子為例,使用上述技術(shù)方法提取其在模型中的高度和截面尺寸。首先在模型上選取一根框架柱,在revit 軟件中點擊“管理”-“選擇項的ID”,會彈出一個對話框顯示選擇構(gòu)件的ID 值,值為“473860”,如圖2 所示。
圖2 查詢柱子的ID 值
提取柱子高度的編程思路為:由柱子的ID 取得族實例,在族實例中有底部標(biāo)高、頂部標(biāo)高參數(shù),取得這兩個參數(shù)后,用頂部標(biāo)高減去底部標(biāo)高即為柱子高度。
取得底部標(biāo)高的核心代碼如下:
頂部標(biāo)高代碼類同,將底部標(biāo)高和頂部標(biāo)高數(shù)值使用對話框顯示出來,分別如圖3、圖4 所示。
圖3 柱子底部標(biāo)高數(shù)值顯示
圖4 柱子頂部標(biāo)高數(shù)值顯示
可以看出得到的底部標(biāo)高為-49.9999999948539mm,原始設(shè)計值為-50mm,此偏差對后續(xù)計算沒有影響;得到頂部標(biāo)高為5950mm,柱子設(shè)計高度為6000mm,提取的數(shù)據(jù)和設(shè)計值兩者相符。
提取柱子截面尺寸的方法更為復(fù)雜,因為族實例沒有表示柱子截面邊長的參數(shù),需要先由族實例取得族類型。在族類型中有“b”“h”兩個參數(shù)分別表示柱子兩個方向的截面尺寸,取得“b”參數(shù)的核心代碼如下:
將“b”參數(shù)數(shù)值使用對話框顯示出來,如圖5 所示。得到的數(shù)值為900mm,與設(shè)計值一致,“h”參數(shù)操作類同。
圖5 柱子截面邊長數(shù)值顯示
在工程資料管理軟件中加入上述提取信息的代碼后,就可以獲得構(gòu)件的模型信息,然后在資料軟件內(nèi)部進(jìn)行使用了。
本文針對目前工程資料管理軟件自動化程度低,與BIM 模型信息隔離的問題,創(chuàng)造性地設(shè)計了一種自動提取BIM 模型中的數(shù)據(jù)信息到工程資料軟件中進(jìn)行自動工作的技術(shù)路線,并以工程實例驗證了工程資料所需信息的提取過程,主要結(jié)論如下:
(1)工程資料所需的模型信息可以提取,數(shù)據(jù)精度符合工作需要,證實了在工程資料管理軟件和BIM 建模軟件之間建立信息連通是可行的;
(2)在信息連通背景上設(shè)計的軟件工作方式可以節(jié)省大量的人力,與BIM 模型信息連通將是下一代工程資料軟件的技術(shù)發(fā)展方向,依據(jù)這一技術(shù)路線設(shè)計的新一代資料管理軟件必將具有巨大的技術(shù)優(yōu)勢。
在本文的研究基礎(chǔ)上,下一步還需對工程資料中各個具體記錄環(huán)節(jié)對應(yīng)需要何種模型信息數(shù)據(jù),以及在工程資料管理軟件中如何處理和使用這些數(shù)據(jù)進(jìn)行研究,進(jìn)一步的研究工作將為最終實現(xiàn)下一代工程資料軟件更新打下良好基礎(chǔ)。