張紅勇
(中鐵七局集團第三工程有限公司,陜西 西安 710000)
提高橋梁的規劃、設計、施工、維護等相關專業的生產效率是目前行業急需解決的問題,BIM 技術的發展,為橋梁工程的精細化施工提供技術保障[1],目前基于BIM 技術的優秀三維軟件較多,其中Autodesk 公司旗下Civil 3D、Revit 等軟件以其較高的性價比而被廣泛應用于基礎設施三維模型設計與創建[2-5]。劉幫等[6]以工程實例為研究對象,對簡單橋梁的施工進行了模擬,謝利斌[7]將BIM 技術應用到立交橋的建模當中,通過Dynamo 軟件實現復雜空間曲面的建模。李澤宇等[8]基于Revit 并結合Civil3D 建立了橋軌一體化模型,吳平川等[9]對不同軟件模型轉換接口開發及驗證,實現復雜橋梁結構的建模。
在模型設計構建過程中,若能簡化流程、一模多用能極大提高建模效率。但由于軟件功能受限,不得不采用輔助方法以達到目的。Civil 3D 自帶的采樣線功能是用于定位線路橫斷面的生成線,其方向始終與線路法線方向平行,利用此特征,結合Revit 內置的Dynamo 程序,讀取其數據,可用于橋梁構件的精確定位與放樣,極大提高了線路模型的利用價值。圖1 給出了利用采樣線進行精確建模的主要流程。

圖1 精確模型主要流程
基于此流程提出了以下建模思路,在Civil 3D中利用平縱曲線要素生成線路,利用墩臺里程生成采樣線,經兩次分解導入Revit 作為線路參照,在Revit 中,導入橋梁各子模型構件,再采用Dynamo對參照線路提取其線路線型、采樣線交點坐標、方向,并讀入各子模型構件,生成實例,賦值參數,完成全橋的精確模型。
根據線路的平、縱曲線要素生成CSV 或TXT格式文件,使用Civil 3D 路線布局工具創建線路平面和使用縱斷面布局工具創建線路縱斷面。另外,根據墩臺里程輸出橋梁墩臺要素線、并生成線路墩臺坐標與高程表,以及路線空間三維設計線。
2.2.1 平曲線創建
線路平曲線建立步驟如圖2 所示。

圖2 平曲線建立步驟
1)導入交點坐標。使用多段線命令,直接用點生成多段線,輸入時,注意設計坐標系北方向為圖形平面坐標系的Y 方向,應將設計坐標系的N、E 互換,同時,可以用Excel 配合輸入坐標,用于提高效率,如圖3 所示。

圖3 用多段線生成圖
2)生成線路。使用線路中“從對象創建路線”命令,通過拾取多段線即可生成線路,如圖4 所示。由于在生成線路的時候,默認添加的曲線半徑是不滿足實際線路要求的,因此,需要在后期修改線路參數。

圖4 初步生成線路圖
3)修改線路參數。打開線路修改的“幾何圖形編輯器”,利用全景窗口,可以查看和更改線路的曲線要素,在此,將之前半徑改為設計圖紙半徑,即完成線路平曲線的建立,如圖5 所示。

圖5 平曲線修改圖
2.2.2 豎曲線生成
線路豎曲線建立步驟如圖6 所示。

圖6 豎曲線建立步驟圖
1)建立縱斷面圖。建立線路豎曲線之前,必須先創建線路縱斷面圖,創建時,使用縱斷面圖菜單下的“創建縱斷面圖”,即可生成。如圖7 所示。

圖7 建立縱斷面圖
2)建立縱斷面。線路縱斷面采用縱斷面文件建立,以提高效率,縱斷面文件為txt 文本文件,該文件每一行為一個豎曲線的轉點,最多包括三個信息元素,分別為樁號、高程和曲線長度,其中曲線長度為可選元素,不能用于起點與終點,所有的豎曲線都必須是拋物線,元素間以空格分隔。建立時,注意:第一行和最后一行不得包含曲線信息,第一行必須提供樁號和第一個樁號的高程,樁號必須按升序排列,無前導空白行或表頭,中間無空白行(空白行將被讀取為文件結束)任何行的開始處都無空格,最后一項必須是最后一個樁號的高程。如圖8所示。

圖8 通過縱斷面文件建立縱斷面
3)檢查縱斷面。打開縱斷面修改的“幾何圖形編輯器”,利用全景窗口,可以查看和更改線路的豎曲線要素,與設計文件對比無誤后即完成線路豎曲線的建立。如圖9 所示。

圖9 線路豎曲線建立
在建立線路的基礎上,對墩臺的中心里程進行定位,以確定上下部結構的幾何空間位置。定位采用Civil 3D 中的“采樣線命令”,采樣線是沿線路法線方向生成的平面線,即線路的橫斷面,如圖10所示。

圖10 墩臺中心采樣線
利用Civil 3D 中點-路線命令,選擇通過線路的樁號、偏移創建點,同時導出樁基、墩臺等橋梁結構物的點坐標。如圖11 所示。

圖11 結構物平面坐標生成
通過Revit 軟件,先用族或體量建立橋梁各個結構構件并實例化,再利用橋梁結構尺寸、標高數據對生成各個實例進行裝配。
在導入線路底圖時,由于線路對象在Revit 中無法顯示的,必須將線路和采樣線進行分解,形成塊對象。另外,在導入橋梁子構件時,不能采用輪廓族進行斷面建模,一般情況下,可以采用公制常規模型進行創建,否則不能被Dynamo 識別。
橋梁進入Revit 后采用Dynamo 進行數據處理。Dynamo 是內置于Revit2018 及以上版本的可視化編程軟件,可以通過Revit 菜單欄“管理-Dynamo”命令打開。
由于Revit 只能輸入小于9144000mm 以內的值,若坐標數值超出此數,其放置就會出錯,因此,在組裝前,先檢查模型坐標范圍,若線路模型長度大于該值,應提前做好模型分塊。為保證項目坐標顯示正確,在Revit 里設置以mm 為單位,同時,一般以0# 橋臺與線路中心交點作為模型的原點,建立局部坐標系,在拼裝完成后,將項目測量點移回原坐標原點即可。如圖12 所示。

圖12 坐標原點選擇
根據橋梁下部結構要求,對于采用圓形的構件,如圓樁基,只需定位坐標與高程,但對于其他跟方向有關的結構,如方形承臺、墩柱等結構,除了位置與高程外,尚需增加方位角,以確定結構方向。本文主要以矩(工)形承臺為例,結合采樣線展開應用。主要流程如圖13 所示。

圖13 主要流程圖
5.1.1 讀入承臺數據
根據前面生成的承臺平面坐標,輸出承臺編號、中心坐標(x、y、z、)、承臺型號(采用1、2……進行編號區分)數據,如圖14 所示。

圖14 承臺數據
根據以上數據,通過Dynamo 以下節點進行數據導入。如圖15 所示。

圖15 數據導入節點組
5.1.2 節點分組并生成實例
采用Python 腳本,根據輸入的數據,遍歷查找不同型號承臺數據,重新分組,分組完成后采用Family Types 和FamilyInstance.ByCoordinates 節點進行承臺實例化。如圖16 所示。

圖16 承臺分組
5.1.3 獲取采樣線及其方位角
利用Civil 3D 模型底圖,獲取模型中各承臺的方位角。為達到以上目的,采用Dynamo 編制兩個程序,第一個程序獲得底圖上采樣線,第二個程序獲得采樣線的方位角,如圖17,18 所示。

圖17 取得采樣線

圖18 獲得方位角
5.1.4 參數賦值
采用Familyinstance.SetRotation 設置相關參數,對承臺按方位角進行旋轉,以保證位置正確,如圖19 所示。

圖19 參數賦值與旋轉
最終結果如圖20 所示。

圖20 承臺構件
橋梁上部結構建模主要有兩種情況,一種是采用預制結構,另一種是采用現澆結構。在預制結構下,橋梁上部結構建模與下部結構建模類似,以相鄰兩墩中心點坐標作為定位點,若為曲線,采用直線梁或斜交直線梁,以直代曲,通過平分中矢或斜放,進行橋梁拼裝。當采用現澆梁時,梁部結構線形與線路曲線一致,本節以現澆結構為例進行梁部精確建模。建模主要有兩步:第一步是取得梁部截面參照點;第二步是放置截面并生成實體。
5.2.1 取得梁部截面參照點
梁部截面參照點采用過截面采樣線的豎直面與線路相交而得,即先獲得采樣線,由采樣線生成平行于Z 軸的平面,并根據導入的線路塊對象和平面求交集,取得交點處的坐標與高程,如圖21 所示。

圖21 交點坐標獲取
5.2.2 放置截面并生成實體
通過在上述采樣線生成的平面和交點,獲取其向量和交點坐標,對梁部截面實例進行坐標變換,最后通過截面和線路曲線生成實體,并將其封裝成一個自定義節點,以便于在生成實例時多次調用,如圖22 所示。

圖22 自定義節點
重復調用節點,進行梁體實體對象如圖23 所示。

圖23 實體生成
梁體上部結構生成最終效果如圖24 所示。

圖24 橋梁上部結構實體
通過上述方法,完成全橋建模,最終形成精確的實體模型如圖25 所示。

圖25 全橋模型
本文提出的建模方法,一是充分利用了Civil 3D 創建的線路模型,用于后期線路線形提取,達到“一模多用”;二是利用了采樣線功能,用于提取線路控制點和方位角,彌補了軟件現有命令功能的不足;三是采用線路線形與采樣線平面交點以及方向向量,生成現澆結構模型,大大提高了模型的精度;四是采用可視化編程,可以靈活地對原代碼進行修改和封裝,不僅提高了建模效率,還增加了對不同項目的適應性支持。綜上所述,該方法為以后類似案例提供了可借鑒的建模解決方案,具有廣泛的推廣價值。