(1.湘潭大學土木工程與力學學院,湘潭 411105;2.中建科技湖南有限公司,長沙 410600)
裝配式建筑作為建筑工業化的重要組成部分,已成為建筑行業的發展方向和趨勢。針對裝配式建筑的整體安全,可從預制構件的生產、進場驗收、施工質量驗收等各個環節進行歸納總結[1]。當前,裝配式質量檢測發展到能夠較成熟地完成數據采集工作,但對于如何將檢測數據及時處理并實現可視化的研究相對較少。檢測信息可視化技術可以將大量檢測數據自動地處理成完全、精確、一致的信息知識,并通過數據可視化技術將抽象的一維數據處理成形象的實時多維圖形、圖像[2],從而改善檢測信息不夠直觀,表現方式單一,交互性差等現狀。
Revit是BIM技術的核心軟件,能夠有效建立三維數字化模型,提供三維可視化、可開發的數字表達環境,便于開發人員自主開發適用于工程實際的相關功能,因此,基于Revit的二次開發研究和應用得到了快速發展。Park[3]等基于BIM建立了在線監測系統,對結構所處的環境進行監測并將數據在BIM軟件中進行顯示,有效提高了數據的可視化。Kensek[4]通過RevitAPI結合Dynamo,將采集的傳感器數據導入為三維模型參數,利用伺服器改變物理模型。徐桂明等[5]基于BIM技術開發了公路隧道病害檢測系統,利用BIM技術融合CAD軟件和Revit二次開發,實現隧道病害檢測的三維可視化管理。綜上所述,BIM技術具有三維可視化以及信息集成的優點,開發者能夠通過Revit API應用程序集成到Revit系列產品中,應用廣泛,實用性強。
BIM技術的核心是建筑全生命周期的信息的交換與共享,PC構件檢測信息是建筑生命周期的重要組成部分[6]。因此,開展基于BIM技術的PC構件檢測信息可視化管理研究尤為必要。本文擬將BIM技術引入到PC構件檢測,以期利用BIM技術的優勢有效管理不同類型的PC構件檢測信息,提高檢測信息管理效率,為檢測信息分析與處理功能提供平臺,提高檢測信息與模型的交互性,實現對檢測信息進行實時處理及可視化設計,為構件安全評估提供有效依據。
本文以Microsoft Access2010數據庫為后臺管理系統,以Visual Studio 2012(VS2012)為前臺開發工具,采用SQL語句及C#混合的方式進行編輯,通過RevitAPI(Application Programming Interface)封裝的類和方法實現基于Revit的檢測數據庫的創建與檢測數據的導入。Visual Studio是一個全面的開發工具箱,集成了開發環境和代碼編輯器,提高代碼的可讀性,使代碼易于理解; RevitAPI封裝一系列Revit的命名空間和類庫,為用戶在Revit平臺上根據自身需求擴充相應功能提供便利。
數據庫由內容設計和操作界面設計兩部分組成。采用Revit進行三維可視化建模,模型中的每個構件都有獨特的ID號,檢測數據庫由傳感器ID及檢測儀器數據組成。操作界面設計通過VS2012完成,首先在所建的類庫中添加窗體,然后在窗體中添加VS2012工具箱中相應控件,最后為相應控件添加用C#編寫的程序代碼,數據庫的開發流程如圖1所示。

圖1 數據庫開發流程
數據庫與Revit的鏈接建立在ADO.NET結構體系基礎之上,ADO.NET是一組包括在.NET框架中的庫,用于在.NET應用程序各種數據儲存之間的通信,ADO.NET庫中包含了可與數據源連接、提交查詢并處理結果的類。ADO.NET中有很多重要的對象,可大體分為兩大類。一類是與數據庫直接連接的聯機對象,其中包含了Connection對象、Command對象、DataReader對象以及DataAdapter對象等,通過這些類對象,可以在應用程序里完成連接數據源以及數據維護等相關操作。另一類則是與數據源無關的斷線對象,例如DataSet對象和DataView對象等。通過使用這些對象,使得對數據庫的操作更加簡單[7]。
本文基于Revit對數據庫中的數據進行操作,首先在VS2012中導入有關的命名空間,輸入對象為using System.Data.OleDb。然后使用Connection對象建立數據庫鏈接。通過注冊Microsofe.ACE.OLEDB.12.0提供程序,”data source=”表示連接的數據的數據源的名稱,conn.open()表示打開數據庫連接,當數據庫不需要使用的時候,可以使用conn.open()關閉數據庫鏈接。成功鏈接數據庫之后,需要對數據庫中的數據進行相應的操作。讀取代碼如下:
Private void instrtData(string tablename,List
{
oleDbConnection conn=new OleDbConnection(“provide=
Microsoft.ACE.oLEDB.12.0;”+@”data source=”+mdb_path);
Conn.open()
}
Revit檢測信息可視化插件,通過C#語言進行編輯,C#運行于.NET Framework之上,是專門在.NET Framework上開發應用程序的一種常用語言。Revit API是基于.NET Framework的一個類庫,通過應用C#語言在Revit的應用層面進行二次開發具有實用優勢。
以VS2012作為軟件開發平臺,利用RevitAPI封裝類庫,以及平臺工具箱中的各類控件,對RevitAPI.dll和RevitAPIUI.dll進行添加和調用,實現對Revit的二次開發。具體開發流程如圖2所示。

圖2 Revit二次開發流程
本文首先在新建的類庫項目中添加引用RevitAPI.dll和RevitAPIUI.dll兩個動態鏈接庫,然后利用RevitAPI.dll和RevitAPIUI.dll程序集內封裝的函數和方法完成類層次的定義和實現檢測信息可視化的代碼編輯,將通過代碼生成的動態鏈接路徑導入Revit生成addin文件,運行插件反復調試,直到運行成功。
根據檢測信息可視化功能的需要,將Revit檢測信息可視化插件分為數據導入、測點定位、檢測信息可視化、運維管理四個功能模塊,各模塊功能如圖3所示。

圖3 功能模塊分布
該插件每一個功能對應一個按鈕,針對按鈕功能給他們添加各類控件編輯代碼實現其功能,同時為每個按鈕設計圖標,使其更加直觀,便于操作。界面如圖4所示。

圖4 插件界面
2.3.1 實驗概況
本實驗是利用沖擊回波法對預制墻中的套筒進行灌漿飽滿度檢測。沖擊回波法是利用擊振器沖擊混凝土表面,沖擊產生的彈性波(主要是縱波)被位移或者加速度感應器接收,傳感器接收的信號可以通過相關軟件進行快速傅里葉變換來得到頻譜曲線。由于混凝土結構物和缺陷處波阻抗存在差異,會對頻譜圖中的頻率、相位等參數產生影響,根據頻譜之間的差異得出混凝土缺陷分布情況[8]。采用湖南天功測控科技有限公司研發的H-X101型鋼筋套筒灌漿質量無損檢測儀對裝配式構件鋼筋套筒進行檢測,分別對1/2、1/3、1/4等不同飽和度的鋼筋套筒進行檢測,建立鋼筋套筒灌漿飽滿度的數據庫,為系統智能識別檢測奠定一定的基礎。
2.3.2 實驗數據的導入
通過鋼筋套筒灌漿質量無損檢測儀對不同灌漿飽滿度的PC構件套筒進行檢測,得到大量的聲波數據,為了實現Revit對這些數據的調用,需要完成檢測數據的實時傳輸并建立信息數據庫。通過無線網卡數據線將檢測儀器與筆記本電腦進行有效連接如圖5所示。獲取相關IP地址,建立一條鏈接的數據鏈路,添加網絡基本協議才能正常工作。NetBIOS協議是IBM開發的用于給局域網提供網絡以及其他特殊功能的命令集,為了建立連接,區域網還需要TCP/IP協議,TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。檢測儀器與計算機進行有效連接,實現檢測數據的實現共享與存儲。

圖5 檢測儀器與電腦進行連接
無損檢測儀傳輸的檢測數據以txt格式數據存儲在共享文檔中,通過VS2012平臺對txt格式數據進行整理并添加到access數據庫,建立預制墻檢測信息Access數據庫,嵌入到revit面板中,實現Revit對這些數據的調用。
2.3.3 檢測數據可視化處理
測點的精確定位,用戶可選擇在測點部位安置傳感器,選擇按ID選擇功能,以傳感器ID為關鍵字進行精確定位。

圖6 測點的數據記錄

圖7 測點的聲波曲線
測點的數據記錄,系統在構件分類的基礎上,針對預制構件的生產、進場驗收、施工質量驗收等各個環節進行歸納整理。以裝配式構件墻為例,其檢測信息可分為生產過程檢測信息、生產成品檢測信息及構件出廠檢測信息,其中主要信息由構件材質、檢測人員、檢測時間、檢測數值等組成。根據上述構件及其信息的分類情況,我們可以將大量的不同類型的數據添加到模型當中去,并與每個構件獨特ID進行關聯,系統可以根據構件ID進行構件質量信息查詢[9]。如圖6所示。
測點的聲波曲線,用戶可選擇聲波曲線功能鍵,查看相應的聲波曲線圖,數據曲線如圖7所示。數據的曲線圖查看是通過VS平臺工具箱Chart控件顯示,Chart控件提供了各種圖表類型,如曲線圖、柱狀圖、餅圖、散點圖等。用戶可以自主設置圖表名稱,橫縱坐標的名稱及單位。
本文從PC構件套筒灌漿飽滿度檢測信息管理實際應用需求出發,通過創建檢測信息數據庫系統,結合檢測信息管理相關功能的開發,初步解決了檢測數據的實時傳輸和可視化管理問題。通過對PC構件套筒灌漿飽滿度檢測的實際應用驗證了本文所開發功能的可行性和有效性,從而為提高PC構件檢測數據集成管理水平和信息管理系統的交互性,實現檢測信息可視化管理奠定了一定的基礎。