楊體旺,肖春紅,羅吉忠
(四川省交通勘察設計研究院有限公司 BIM研發(fā)中心,四川 成都 610000)
橋梁是公路的樞紐,預應力混凝土簡支梁因其構造簡單、預制化程度高與施工便利在項目橋梁設計長度中占比達90%以上,屬于公路上常規(guī)橋梁的類型[1].在傳統(tǒng)橋梁設計時,設計人員通過綜合分析地形、地質、路線等信息,將多個設計方案進行比選,并不斷優(yōu)化設計,存在效率較低、修改方案費時費力等缺陷[2-3].
針對傳統(tǒng)設計中存在的問題和BIM軟件難以用于正向設計的缺點,本研究基于BIM核心建模軟件Revit,結合二次開發(fā)技術和微軟用戶界面框架(WPF),開發(fā)出常規(guī)橋梁正向設計輔助系統(tǒng).本系統(tǒng)充分利用現有信息,如緯地數據、三維地形、地質鉆孔等,幫助工程師在三維交互模型下完成常規(guī)橋梁的一體化設計[4],并能通過參數修改不斷優(yōu)化方案,從而提高設計效率和工程質量.
常規(guī)橋梁正向設計輔助系統(tǒng)服務于橋梁設計的全過程,主要為輔助工程師完成設計任務.系統(tǒng)需要考慮傳統(tǒng)設計人員的設計習慣,充分利用被廣泛使用的通用圖,使設計人員盡可能少地填寫參數就能初步完成可行的橋梁方案設計.整個設計過程實質上就是信息模型建立的過程[5-7],具體通過界面交互實現信息的提取,編寫后臺邏輯以實現信息的交互和橋梁數據的生成,調用Revit二次開發(fā)接口實現三維模型的創(chuàng)建.
根據常規(guī)橋梁的傳統(tǒng)設計習慣,系統(tǒng)由項目信息、通用圖、GIS數據、路線數據、橋梁信息及BIM三維模型六大模塊組成.設計人員首先根據項目信息模塊、通用圖模塊、GIS數據模塊和路線數據模塊共同完成項目文件的創(chuàng)建,然后創(chuàng)建對應的橋梁基本信息,并生成橋表.根據橋梁基本數據由軟件后臺的邏輯算法初步計算整個橋梁的所有數據,并以一種格式(JSON文件)儲存起來,再根據儲存的JSON文件創(chuàng)建出三維的橋梁模型和三維地形模型.設計人員可根據實際情況進行人工修改,得到最終模型,模塊組成和數據流轉如圖1所示.
圖1 模塊組成和數據流程圖
工程信息模塊的作用是輔助設計人員通過界面交互的方式輸入工程的基本信息和設計原則等,用戶交互的功能由新建工程、打開工程和工程配置3個界面配合完成,設計人員可以進行工程的新建、管理、工程信息和設計控制原則的配置等,如下圖2所示.
圖2 工程信息模塊界面示意圖
通用圖是廣大橋梁設計人員智慧的結晶,是設計經驗的總結與提煉,具有較高的可靠度與適用性[6].本研究綜合考慮橋梁工程的WBS、EBS分解需求,對通用圖進行歸納總結、構件分解、知識提取以及參數表達,形成標準化、參數化的構件族庫,使設計人員盡可能少地填寫參數便能完成模型創(chuàng)建,并通過參數驅動模型修改,實現方案的不斷迭代,優(yōu)化設計.
通用圖模塊是通過微軟的SQL Server數據庫配合前端界面對Revit構件進行組織與管理,實現構件的增、刪、改、查等操作.本系統(tǒng)使用的常規(guī)橋梁構件如圖3所示.
圖3 常規(guī)橋梁構件示意圖
橋梁設計需要考慮地形地貌、地質條件等因素,GIS數據模塊是對地理數據的整合,此模塊支持三維點云數據和鉆孔數據的錄入.
Revit軟件具有創(chuàng)建地形的功能,通過二次開發(fā)調用ReivtAPI中的Topography Surface接口,對三維點云數據進行處理,創(chuàng)建三維地形,如圖4所示.根據創(chuàng)建好的三維地形,利用KD Tree算法可以實現任意樁號和偏移距離處的地面高程的計算,配合鉆孔資料便可以進行橋梁墩樁形式的選取和墩樁高度設定.
圖4 三維地形創(chuàng)建示意圖
路線數據是橋梁設計的基礎,緯地軟件是目前國內道路設計的主流軟件,本模塊的作用主要是解析、編譯緯地數據并轉化為橋梁設計所需要的結構化數據.路線數據模塊的界面如圖5所示,設計人員可以通過樁號查詢并調整路線信息的平曲線、縱斷面、橋面寬度、超高以及橫坡等數據.
圖5 路線數據模塊界面示意圖
橋梁信息模塊的作用主要是方便設計人員填寫橋梁的基本設計參數和上下部結構類型,界面如圖6所示,此界面支持同時管理多個橋梁信息,并可生成橋表.
圖6 橋梁信息模塊界面示意圖
在所有與橋梁設計有關的基本資料和參數準備完畢后,系統(tǒng)采用C#語言編寫后臺邏輯和采用相應算法開展幾何計算,獲取建模所需要的信息.通過橋梁起終點樁號和跨徑組合,解析緯地數據計算每跨跨徑線處路線定位點、橫坡、路面寬度和方向向量等.利用路面寬度和上部結構類型進行布梁,得到每跨每片梁的首尾夾角、梁長和懸臂寬度.通過梁片定位推導蓋梁定位點,配合GIS模塊數據確定下部結構尺寸、樁基定位.
系統(tǒng)采用JSON格式儲存所有的計算結果.JSON(JavaScript Object Notation)是一種被廣泛應用于數據交換和傳輸的輕量級文本語言,以鍵值對的方式儲存數據,易于讀寫和計算機解析與生成.JSON文件設計如圖7所示,具體由節(jié)點群和關系群兩大模塊組成.節(jié)點群包含橋梁所有構件的信息,關系群存儲了橋梁的結構關系.
圖7 JSON文件設計結構圖
BIM三維模型的創(chuàng)建是調用構件庫中的模板執(zhí)行批量實例化裝配成全橋總體模型的過程.解析上述模塊中生成的JSON文件,將相應信息作為模板創(chuàng)建的輸入條件,通過二次開發(fā)調用RevitAPI中的NewFamilyInstance方法生成全橋模型,并通過WPF的TreeView控件創(chuàng)建模型的樹形結構,與模型構件一一映射.設計人員可以通過預覽模型,檢查橋型布置、樁基定位和構件參數等信息,做到實時修改、實時查看,為方案優(yōu)化提供便利.
本研究依托G4216線寧南至攀枝花段高速公路項目,選取K411+090大龍村2#右線大橋作為案例進行系統(tǒng)可行性驗證.
根據操作向導將緯地數據、三維地形、鉆孔數據、橋梁信息(如起終點樁號、跨徑組合)等作為輸入項,通過系統(tǒng)邏輯智能計算出相應參數并快速創(chuàng)建三維模型,其模型圖如圖8所示.
圖8 具有樹狀結構的三維模型展示圖
將系統(tǒng)設計成果與原設計圖紙相比較,其上部結構梁片布置、計算梁長、首尾夾角和懸臂長度基本一致(誤差不超過1 mm);下部結構中,墩臺選型、系梁數量、構造尺寸一致,墩樁長度因地形差異有微小出入(原設計采用的是緯地繪制的橫斷面、系統(tǒng)采用點云數據),高低墩的設計也因設計人員的主觀判斷產生差異.結果表明,本系統(tǒng)具有較強的適用性和工程可行性.
本研究依據常規(guī)橋梁的設計流程,基于BIM技術,結合WPF框架和Revit二次開發(fā)技術,對常規(guī)橋梁的正向設計輔助系統(tǒng)進行研發(fā).通過對通用圖的知識提取、參數表達,形成了完整的企業(yè)級標準構件庫.通過對GIS數據和路線數據的解析與編譯,打通了不同專業(yè)間的數據壁壘,實現了數據的無損交互.通過對Revit的二次開發(fā)應用,實現了模型的快速創(chuàng)建與模型樹創(chuàng)建.
本研究系統(tǒng)開發(fā)了項目信息、通用圖、GIS數據、路線數據、橋梁信息以及BIM三維模型等6大模塊,以內置梁片布置、墩臺布置等橋梁正向設計原則和KD Tree等算法作為程序的內在邏輯層,輔助設計人員通過參數驅動完成橋梁設計,并提供三維模型與地形的實現展示,同時提供實時更新功能以便設計人員修改方案、完成優(yōu)化.
常規(guī)橋梁正向設計輔助系統(tǒng)的開發(fā)彌補了常規(guī)設計軟件和BIM軟件的不足,實現了不同專業(yè)數據的融合,有利于推動橋梁二維設計到三維設計的轉變,對其他橋梁設計軟件有一定的借鑒意義.