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