(浙江省交通規(guī)劃設(shè)計(jì)研究院有限公司,杭州 310012)
Generative Component軟件(以下簡稱GC)是Bentley平臺(tái)的一款可視化編程軟件,主要功能為以自定義程序創(chuàng)建并控制三維模型。GC程序以節(jié)點(diǎn)為基本單元,以節(jié)點(diǎn)間的聯(lián)結(jié)關(guān)系表示算法邏輯,降低了編寫難度。即使是不擅長代碼的用戶,也可以GC將處理問題的邏輯思路轉(zhuǎn)變?yōu)橐惶壮绦蚧鉀Q方案。
目前,Bentley平臺(tái)的常用橋梁建模軟件包括OpenRoads ConceptStation,OpenRoads,OpenBridge,MicroStation,PowerCivil以及 ProStructures等,這些軟件在異形建模以及批量建模時(shí)存在精度與效率不足的問題。人工繪制雖然可以一定程度上解決這些問題,但效率低下,且容易出錯(cuò)[1-2]。本文研究基于GC的橋梁建模方法,旨在借助可視化編程這一工具,獲取更快的建模效率與更高的建模質(zhì)量。
橋梁建模往往需要多軟件協(xié)同工作,例如國內(nèi)廣泛使用的“Dynamo+Revit”[3-4]模式。協(xié)同工作可以發(fā)揮各軟件的長處,對于軟件分工明確的Bentley平臺(tái)而言,這一點(diǎn)尤為重要。本文除了介紹GC的功能以及GC橋梁建?;痉椒?,還將進(jìn)一步探究該軟件與其他Bentley軟件的協(xié)同工作方式。
通過基于節(jié)點(diǎn)的可視化編程界面[5](圖1),GC可以讓用戶自由創(chuàng)建參數(shù)化設(shè)計(jì)模型或自動(dòng)化處理過程[6]。這種建模方式的主要特點(diǎn)如下:
(1)參數(shù)化:所建模型的所有尺寸和坐標(biāo)信息,都可以追溯到程序節(jié)點(diǎn)中的某一個(gè)參數(shù),修改參數(shù)即可修改模型,效率極高;
(2)可視化:GC程序與模型之間的關(guān)聯(lián)是同步的,可以即時(shí)看到程序改動(dòng)對模型的影響;
(3)廣泛適用性:GC自帶的節(jié)點(diǎn)庫提供種類豐富的三維建模工具,適用于常見結(jié)構(gòu)以及各種異形結(jié)構(gòu);
(4)可積累性:除了使用GC提供的節(jié)點(diǎn),也可以編寫C#腳本自行定制節(jié)點(diǎn),腳本可不斷積累,為后續(xù)設(shè)計(jì)提供更多可供選擇的工具。
圖1 GC可視化編程界面
為了與其他軟件實(shí)現(xiàn)協(xié)同作業(yè),GC提供了多種數(shù)據(jù)交互方法。
Bentley平臺(tái)最常見的數(shù)據(jù)交互是文件參照。該方法起源于Bentley平臺(tái)最早發(fā)布的產(chǎn)品MicroStation(1986年)[7],可以參照的文件格式包括Bentley平臺(tái)的通用格式dgn、cel,AutoDesk平臺(tái)的常用格式Dwg,以及幾乎成為通用圖形數(shù)據(jù)交換格式的DXF[8]等。GC可以通過 ReferenceAttachment節(jié)點(diǎn)(圖2a)使用這種文件參照功能。GC所創(chuàng)建的模型文件(格式通常為dgn),也可以被其他軟件所參照。
圖2 用于數(shù)據(jù)交互的節(jié)點(diǎn)2 GC橋梁建?;痉椒?/p>
除了Bentley平臺(tái)通用的文件參照,GC還提供三種特殊的數(shù)據(jù)交互方式:
(1)通過cell節(jié)點(diǎn)(圖2b),從其他dgn或cel文件中調(diào)用某一個(gè)model;
(2)通過ExcelRange節(jié)點(diǎn)(圖2c)的ReadValue或WriteValue區(qū)塊,對excel文件進(jìn)行讀取或?qū)懭?;?/p>
(3)通過DataImporter(圖2d)/DataExporter節(jié)點(diǎn),對Access/txt/SQL文件進(jìn)行讀取或?qū)懭搿?/p>
橋梁建模通常被分為三個(gè)步驟,分別為上部結(jié)構(gòu)建模、下部結(jié)構(gòu)建模以及附屬結(jié)構(gòu)建模[9]。這三部分從模板形式到模型創(chuàng)建方法均有所不同,下面將分別介紹。
(1)模板的制作
橫截面模板制作簡單,使用方便,適合帶狀實(shí)體建模,因此在被廣泛使用的BIM軟件(如InfraWorks、OpenBridge、PowerCivil、Dynamo+Revit等)中,上部結(jié)構(gòu)模板常常被制作成參數(shù)化橫截面的樣式。
圖3 模板腳本運(yùn)行生成的箱梁橫截面
GC的參數(shù)化橫截面模板以C#腳本的形式存在,稱之為模板腳本。模板腳本每次運(yùn)行都會(huì)根據(jù)輸入的參數(shù)值生成對應(yīng)尺寸的橫截面輪廓(圖3)。腳本可以在GC中直接編寫,或以txt文件格式導(dǎo)出或?qū)搿D0迥_本可以放置在Curve節(jié)點(diǎn)的Byfunction區(qū)塊內(nèi)直接運(yùn)行,也可以被其他Curve節(jié)點(diǎn)調(diào)用運(yùn)行。后者可以批量生成不同尺寸且相互獨(dú)立的橫截面輪廓。
(2)上部結(jié)構(gòu)創(chuàng)建
上部結(jié)構(gòu)以路線為依托[10]。通過文件參照方法獲取路線,然后從Excel表格(圖4)讀取參數(shù),根據(jù)樁號信息沿路線放置若干橫截面,通過融合放樣與布爾運(yùn)算生成上部結(jié)構(gòu)實(shí)體(圖5)。
圖4 用于輸入?yún)?shù)的execl表格
(1)模板的制作
由于難以通過橫截面融合放樣的方式生成,因此下部結(jié)構(gòu)建模時(shí),更適合使用三維模板??梢跃帉懩_本制作三維模板,但是代碼量(500至600行)相對于橫截面(100行)模板成倍增加,不僅耗時(shí)耗力,且極易出錯(cuò)。通過編寫腳本制作下部結(jié)構(gòu)模板,并非最優(yōu)選擇。
圖6 橋墩模板文件(cel格式)
圖5 通過放樣方法生成變截面箱梁結(jié)構(gòu)
GC可以調(diào)用其他dgn或cel文件中的model,其調(diào)用過程與從模板庫中調(diào)用某一個(gè)模板單元十分相似[11]。因此對于下部結(jié)構(gòu),可以在其他建模軟件,如MicroStation或PowerCivil中,利用其參數(shù)建模功能直接繪制單個(gè)三維橋墩模板(圖6),將不同類型的模板分別保存在不同model中并區(qū)別命名,隨后便可以在GC中,通過cell節(jié)點(diǎn)進(jìn)行調(diào)用。
(2)下部結(jié)構(gòu)創(chuàng)建
下部結(jié)構(gòu)同樣需要以路線為依托,路線獲取方式同上部結(jié)構(gòu)。由于模板的尺寸已經(jīng)在制作model時(shí)調(diào)整完畢,因此只需要沿路線確定橋墩的坐標(biāo)以及擺放方向,然后通過cell節(jié)點(diǎn)依次調(diào)用對應(yīng)的model即可(圖7)。
圖7 調(diào)用cel模板文件創(chuàng)建橋墩
根據(jù)分布特征,可以將附屬結(jié)構(gòu)分為兩類:第一類為連續(xù)分布的帶狀結(jié)構(gòu),如護(hù)欄; 第二類為離散分布的塊狀結(jié)構(gòu),如路燈。前者的建模方式類似于上部結(jié)構(gòu),可以通過橫截面放樣方式生成,后者建模方式類似于下部結(jié)構(gòu),適合通過調(diào)用三維模板文件的方式生成。
Bentley平臺(tái)的橋梁BIM建模,通常需要以下幾款軟件共同完成:用于處理地形、路線與橋梁鋪面的OpenRoads,用于橋梁主體建模的OpenBridge,用于繪制自定義構(gòu)件的MicroStation和PowerCivil[12-13]。GC與上述軟件的協(xié)同建模,可以有以下兩種形式。
對于形式較為簡單的橋梁,OpenBridge預(yù)制了高度參數(shù)化的建模路徑,可以實(shí)現(xiàn)橋梁主體的快速建模。但OpenBridge創(chuàng)建的模型細(xì)節(jié)有限,需要用GC進(jìn)一步加工。
例如,高速公路橋的建模工作中,可以根據(jù)輸入的參數(shù)和路線,由程序自動(dòng)生成上千塊不同尺寸的橫隔梁,并整合到OpenBridge模型中(圖8)
OpenBridge無法創(chuàng)建的橋梁模型有兩種:一種是樣式較為復(fù)雜,不在預(yù)制建模路徑涵蓋范圍內(nèi)的,如斜拉橋、懸索橋; 另一種是樣式簡單但參數(shù)變化較為復(fù)雜,使用預(yù)制建模路徑無法獲取較高精度的,如斜交變寬T梁橋。此時(shí)需要拋棄OpenBridge的建模路徑,轉(zhuǎn)入GC中自行編寫建模程序并完成建模。
基于GC建模與基于OpenBridge建模的最大區(qū)別在于,后者自帶模板庫并且可以獨(dú)立制作模板,而前者的部分模板(尤其是下部結(jié)構(gòu))往往需要在其他建模軟件中繪制,然后通過參照或調(diào)用的方式使用。
圖9展示了基于GC的建模案例。以參照方式從OpenRoads獲取路線,以調(diào)用方式從MicroStation獲取T梁單元并從PowerCivil獲取橋墩單元。編寫GC程序?qū)ι鲜鼋Y(jié)構(gòu)單元進(jìn)行組裝式的整合,以完成整座橋梁的建模。
圖8 將GC生成的橫隔梁合并到主模型
圖9 基于GC的橋梁建模
在Bentley平臺(tái)的多軟件協(xié)作工作模式下,GC可以憑借其直觀而靈活的編程功能以及數(shù)據(jù)交互能力,彌補(bǔ)其他專業(yè)軟件的缺陷,成為橋梁BIM建模的又一有力工具。
GC允許用戶跨軟件跨平臺(tái)獲取建模素材,并自行決定如何將它們整合為所需要的模型,這個(gè)整合過程是高度參數(shù)化與高度自動(dòng)化的。通過這種方式,提高建模效率、提高建模精度、降低建模成本與復(fù)用成本,這就是GC的價(jià)值所在。