(浙江省交通規劃設計研究院有限公司,杭州 310012)
Generative Component軟件(以下簡稱GC)是Bentley平臺的一款可視化編程軟件,主要功能為以自定義程序創建并控制三維模型。GC程序以節點為基本單元,以節點間的聯結關系表示算法邏輯,降低了編寫難度。即使是不擅長代碼的用戶,也可以GC將處理問題的邏輯思路轉變為一套程序化解決方案。
目前,Bentley平臺的常用橋梁建模軟件包括OpenRoads ConceptStation,OpenRoads,OpenBridge,MicroStation,PowerCivil以及 ProStructures等,這些軟件在異形建模以及批量建模時存在精度與效率不足的問題。人工繪制雖然可以一定程度上解決這些問題,但效率低下,且容易出錯[1-2]。本文研究基于GC的橋梁建模方法,旨在借助可視化編程這一工具,獲取更快的建模效率與更高的建模質量。
橋梁建模往往需要多軟件協同工作,例如國內廣泛使用的“Dynamo+Revit”[3-4]模式。協同工作可以發揮各軟件的長處,對于軟件分工明確的Bentley平臺而言,這一點尤為重要。本文除了介紹GC的功能以及GC橋梁建模基本方法,還將進一步探究該軟件與其他Bentley軟件的協同工作方式。
通過基于節點的可視化編程界面[5](圖1),GC可以讓用戶自由創建參數化設計模型或自動化處理過程[6]。這種建模方式的主要特點如下:
(1)參數化:所建模型的所有尺寸和坐標信息,都可以追溯到程序節點中的某一個參數,修改參數即可修改模型,效率極高;
(2)可視化:GC程序與模型之間的關聯是同步的,可以即時看到程序改動對模型的影響;
(3)廣泛適用性:GC自帶的節點庫提供種類豐富的三維建模工具,適用于常見結構以及各種異形結構;
(4)可積累性:除了使用GC提供的節點,也可以編寫C#腳本自行定制節點,腳本可不斷積累,為后續設計提供更多可供選擇的工具。

圖1 GC可視化編程界面
為了與其他軟件實現協同作業,GC提供了多種數據交互方法。
Bentley平臺最常見的數據交互是文件參照。該方法起源于Bentley平臺最早發布的產品MicroStation(1986年)[7],可以參照的文件格式包括Bentley平臺的通用格式dgn、cel,AutoDesk平臺的常用格式Dwg,以及幾乎成為通用圖形數據交換格式的DXF[8]等。GC可以通過 ReferenceAttachment節點(圖2a)使用這種文件參照功能。GC所創建的模型文件(格式通常為dgn),也可以被其他軟件所參照。

圖2 用于數據交互的節點2 GC橋梁建模基本方法
除了Bentley平臺通用的文件參照,GC還提供三種特殊的數據交互方式:
(1)通過cell節點(圖2b),從其他dgn或cel文件中調用某一個model;
(2)通過ExcelRange節點(圖2c)的ReadValue或WriteValue區塊,對excel文件進行讀取或寫入;;
(3)通過DataImporter(圖2d)/DataExporter節點,對Access/txt/SQL文件進行讀取或寫入。
橋梁建模通常被分為三個步驟,分別為上部結構建模、下部結構建模以及附屬結構建模[9]。這三部分從模板形式到模型創建方法均有所不同,下面將分別介紹。
(1)模板的制作
橫截面模板制作簡單,使用方便,適合帶狀實體建模,因此在被廣泛使用的BIM軟件(如InfraWorks、OpenBridge、PowerCivil、Dynamo+Revit等)中,上部結構模板常常被制作成參數化橫截面的樣式。

圖3 模板腳本運行生成的箱梁橫截面
GC的參數化橫截面模板以C#腳本的形式存在,稱之為模板腳本。模板腳本每次運行都會根據輸入的參數值生成對應尺寸的橫截面輪廓(圖3)。腳本可以在GC中直接編寫,或以txt文件格式導出或導入。模板腳本可以放置在Curve節點的Byfunction區塊內直接運行,也可以被其他Curve節點調用運行。后者可以批量生成不同尺寸且相互獨立的橫截面輪廓。
(2)上部結構創建
上部結構以路線為依托[10]。通過文件參照方法獲取路線,然后從Excel表格(圖4)讀取參數,根據樁號信息沿路線放置若干橫截面,通過融合放樣與布爾運算生成上部結構實體(圖5)。

圖4 用于輸入參數的execl表格
(1)模板的制作
由于難以通過橫截面融合放樣的方式生成,因此下部結構建模時,更適合使用三維模板。可以編寫腳本制作三維模板,但是代碼量(500至600行)相對于橫截面(100行)模板成倍增加,不僅耗時耗力,且極易出錯。通過編寫腳本制作下部結構模板,并非最優選擇。

圖6 橋墩模板文件(cel格式)

圖5 通過放樣方法生成變截面箱梁結構
GC可以調用其他dgn或cel文件中的model,其調用過程與從模板庫中調用某一個模板單元十分相似[11]。因此對于下部結構,可以在其他建模軟件,如MicroStation或PowerCivil中,利用其參數建模功能直接繪制單個三維橋墩模板(圖6),將不同類型的模板分別保存在不同model中并區別命名,隨后便可以在GC中,通過cell節點進行調用。
(2)下部結構創建
下部結構同樣需要以路線為依托,路線獲取方式同上部結構。由于模板的尺寸已經在制作model時調整完畢,因此只需要沿路線確定橋墩的坐標以及擺放方向,然后通過cell節點依次調用對應的model即可(圖7)。

圖7 調用cel模板文件創建橋墩
根據分布特征,可以將附屬結構分為兩類:第一類為連續分布的帶狀結構,如護欄; 第二類為離散分布的塊狀結構,如路燈。前者的建模方式類似于上部結構,可以通過橫截面放樣方式生成,后者建模方式類似于下部結構,適合通過調用三維模板文件的方式生成。
Bentley平臺的橋梁BIM建模,通常需要以下幾款軟件共同完成:用于處理地形、路線與橋梁鋪面的OpenRoads,用于橋梁主體建模的OpenBridge,用于繪制自定義構件的MicroStation和PowerCivil[12-13]。GC與上述軟件的協同建模,可以有以下兩種形式。
對于形式較為簡單的橋梁,OpenBridge預制了高度參數化的建模路徑,可以實現橋梁主體的快速建模。但OpenBridge創建的模型細節有限,需要用GC進一步加工。
例如,高速公路橋的建模工作中,可以根據輸入的參數和路線,由程序自動生成上千塊不同尺寸的橫隔梁,并整合到OpenBridge模型中(圖8)
OpenBridge無法創建的橋梁模型有兩種:一種是樣式較為復雜,不在預制建模路徑涵蓋范圍內的,如斜拉橋、懸索橋; 另一種是樣式簡單但參數變化較為復雜,使用預制建模路徑無法獲取較高精度的,如斜交變寬T梁橋。此時需要拋棄OpenBridge的建模路徑,轉入GC中自行編寫建模程序并完成建模。
基于GC建模與基于OpenBridge建模的最大區別在于,后者自帶模板庫并且可以獨立制作模板,而前者的部分模板(尤其是下部結構)往往需要在其他建模軟件中繪制,然后通過參照或調用的方式使用。
圖9展示了基于GC的建模案例。以參照方式從OpenRoads獲取路線,以調用方式從MicroStation獲取T梁單元并從PowerCivil獲取橋墩單元。編寫GC程序對上述結構單元進行組裝式的整合,以完成整座橋梁的建模。

圖8 將GC生成的橫隔梁合并到主模型

圖9 基于GC的橋梁建模
在Bentley平臺的多軟件協作工作模式下,GC可以憑借其直觀而靈活的編程功能以及數據交互能力,彌補其他專業軟件的缺陷,成為橋梁BIM建模的又一有力工具。
GC允許用戶跨軟件跨平臺獲取建模素材,并自行決定如何將它們整合為所需要的模型,這個整合過程是高度參數化與高度自動化的。通過這種方式,提高建模效率、提高建模精度、降低建模成本與復用成本,這就是GC的價值所在。