<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    基于BIM的連續剛構橋施工監控及信息管理研 究

    發布時間:2023-07-08 10:06
    目 錄
    摘 要 I
    Abstract III
    1緒論 1
    1.1研究背景及意義 1
    1.2BIM 技術在國內外研究現狀 2
    1.2.1BIM 技術在國外研究現狀 2
    1.2.2BIM 技術在國內研究現狀 3
    1.3本文主要研究內容 5
    2BIM 技術在連續剛構橋施工監控中的應用 7
    2.1BIM 概述 7
    2.1.1BIM 的定義 7
    2.1.2BIM 特點 8
    2.1.3BIM 主流軟件 9
    2.2連續剛構橋施工控制的理念及方法 12
    2.2.1橋梁施工控制理念 12
    2.2.2橋梁施工控制方法 13
    2.3連續剛構橋施工監控主要內容 14
    2.3.1線形控制 14
    2.3.2應力控制 15
    2.3.3穩定性控制 16
    2.4連續剛構橋施工監控的主要過程 16
    2.5BIM 技術在剛構橋施工監控中的應用 19
    2.5.1施工模擬 20
    2.5.2數據可視化分析及反饋 20
    2.5.3信息協同管理 20
    2.6本章小結 21
    3Revit 二次開發 22
    3.1Revit 軟件介紹 22
    3.1.1項目樣板文件 22
    3.1.2族樣板文件 23
    3.2Revit 軟件的可擴展性 23
    3.3Revit軟件二次開發技術 24
    3.3.1Revit API 功能介紹 25
    3.3.2二次開發環境 25
    3.3.3開發方式 26
    3.3.4二次開發思路 29
    3.4本章小結 30
    4基于BIM的連續剛構橋有限元仿真計算 31
    4.1工程背景 31
    4.2石堡川河特大橋主橋BIM模型建立 32
    4.2.1主梁的參數化建模 32
    4.2.2下部結構參數化建模 42
    4.2.3橋梁預應力鋼筋設計研究 45
    4.3橋梁BIM模型與有限元模型交互 55
    4.3.1Revit模型與ANSYS模型轉換思路 57
    4.3.2石堡川河特大橋模型轉換 63
    4.4主梁有限元模型建立 65
    4.4.1有限元理論分析 66
    4.4.2有限元模型單元類型 66
    4.4.3單元的生死 68
    4.4.4模型參數選取 70
    4.4.5主梁有限元模型建立 71
    4.5主梁有限元仿真計算 73
    4.6本章小結 76
    5基于BIM連續剛構橋施工監控信息管理研究 77
    5.1信息管理概述 77
    5.1.1信息管理設計思路 78
    5.1.2數據管理功能模塊介紹 79
    5.2基于BIM施工監控數據管理模塊的開發 85
    5.2.1信息管理開發基礎 85
    5.2.2施工監控操作模塊設計 85
    5.2.3施工監控結果分析模塊設計 88
    5.3施工監控信息管理插件的應用 92
    5.3.1石堡川河特大橋主梁編碼 93
    5.3.2主梁線形監控數據管理模塊的應用 95
    5.3.3主梁應力監控數據管理模塊的應用 97
    5.4 本章小結 99
    6 結論與展望 100
    6.1結論 100
    6.2展望 101
    致 謝 102
    參 考 文 獻 103
    攻讀學位期間的研究成果 106
    1緒論
    1.1研究背景及意義
    改革開放 40 多年來,隨著我國經濟建設的不斷完善,交通設施建設水平也逐步得 到了提高。橋梁作為交通設施的主要部分,亦取得了較大的發展。從橋梁的設計水平到 施工技術都取得了突飛猛進的發展,橋梁的形式越來越趨于復雜化,跨度越來越大。目 前,大跨度預應力連續剛構橋在實際項目中應用得越來越廣泛,它不僅具有良好的抗震 性能,而且還具有高穩定性和較大的整體剛度等其他優點。對于大跨度預應力連續剛構 橋而言,通常采用掛籃懸臂施工法,施工過程中,橋梁結構將受到性能、理論強度、施 工精度等各方面不確定因素的影響,結構的內力和橋梁線形不斷發生復雜的變化。為了 保證施工過程中橋梁施工質量和結構完全,有必要對橋梁在施工過程中進行監控,從而 保證最終的橋梁線形及受力都達到理想設計狀態。
    現有連續剛構橋在掛籃懸臂施工監控中,將會面臨信息反映滯后、數據難以追溯、 信息無法共享以及監管困難等新的問題,為了更高效的使各專業人員可以在不同軟件之 間實現數據交換、數據共享和實現協調作業,減少由于操作軟件之間信息閉塞所造成的 錯誤,通過信息化技術手段,搭建施工信息管理平臺,以保證橋梁施工監控監測工作及 時性、真實性,確保橋梁施工質量是目前大跨徑連續剛構橋在懸臂施工過程中面臨的挑 戰。隨著全球計算機技術水平的不斷提升,BIM技術必將為橋梁施工監控提供新的研究 方向。
    BIM是一種現代的建筑信息化技術,它具有協調性、可視化、數據集成以及可出圖 性等顯著的特點。除此之外,BIM技術的信息集成可以將橋梁全壽命周期內的數據信息 反映在同一個模型中,可以有效避免信息在不同專業人員之間傳遞過程中數據丟失。 BIM技術憑借其強大數據共享、數據集成、多維展示等信息的能力,為橋梁掛籃懸臂施 工過程的監測開拓了新的思路。所以,BIM技術的出現為橋梁工程的創新發展提供一個 嶄新的平臺。
    在實際研究和工作中,橋梁工程中大多數有限元軟件建模過程復雜,建模效率低, 尤其在復雜結構方面,因為前期工作人員需要消耗大量時間進行建模,所以他們不得不 將實際的橋梁在有限元軟件中進行簡化而創建分析模型,從而導致分析的結果會出現一 定的偏差。
    鑒于 BIM 軟件擁有優秀的參數化建模功能,可以將實際工程以精確度極高的 BIM 模型進行表達。BIM軟件與有限元軟件緊密結合,將會充分發揮BIM軟件本身具有的 數據集成巨大優勢,從而在一定程度上彌補有限元軟件在建模方面的不足,真正實現數 據信息的聯通。
    綜上所述,BIM技術的出現,將為橋梁施工監控搭建良好的環境,減少了施工數據 信息處理結果的錯誤。同時,還可以依據 BIM 技術優秀的可視化功能搭建協同平臺, 提高項目各專業人員之間的信息交流與共享的效率。將 BIM 技術應用到橋梁施工監控 中,不僅實現橋梁施工監控系統的可視化表達,而且還有助于提高施工監控信息的可讀 性和直觀性。同時,還提高了橋梁施工過程中施工作業的信息化水平。所以,將橋梁施 工過程中結構計算和施工監控模擬有機地聯系起來,對橋梁在施工過程的結構安全具有 重大的意義。
    1.2BIM技術在國內外研究現狀
    1.2.1BIM 技術在國外研究現狀
    BIM (即 Building Information Modeling)概念起源于美國,最初由“BIM 之父"Chuck Eastman 教授提出的“a computer-based description of a-building”概念,以便實現建筑工程 的可視化,提高建筑行業的工作效率。隨后由G-A-Van Nederveen和F?P?Tolnan兩人完 善這一概念后將其命名為“Building Information Modeling",即為建筑信息模型。21世紀 之后,隨著計算機技術的發展,數字化時代已經到來,BIM技術在工程領域越來越備受 人們的重視。無論是設計單位、施工單位、軟件開發單位,還是政府單位和教育機構都 對 BIM 技術十分重視,并在大力在工程項目上進行推廣應用。相比國內而言,美國、 法國、韓國和加拿大等國家對BIM技術的理解與應用均領先于國內。2002年,BIM技 術最早是由 Autodesk 公司提出的,迄今為止,該項技術已在全球建筑行業中得到了廣 泛使用[1]。為了滿足不同用戶對BIM軟件的不同需求,2005年Autodesk公司開始向全 球不同國家和地區的開發人員提供了 Revit API接口。到目前為止,基于Revit的二次開 發在世界范圍內正在迅速發展。
    M.M.Marzouk[2]通過C++編程語言和SQL數據庫實現了橋梁管理系統的應用框架。 并通過需求的技術要求,開發出了 BIM技術在橋梁系統中的管理應用模塊,包括數據 庫模塊、評估模塊和檢查模塊。
    M.Robert.R. Lipman[3]開發出了 CIM Steel集成標準(CIS/2)和行業基礎分類(IFC) 產品的結構鋼數據模型之間的映射方法。通過手動檢查兩個模式,可以查看實體和屬性 相互對應關系,從而實現CIS/2與IFC實體和概念之間的直接一對一映射關系。
    Amir Nourbakhsh和Mojgan Kouhpayehzadeh[4]基于嚴謹的三維模型,提出了一種支 持不同項目合作之間的計算機輔助方法。通過行業基礎類(IFC)數據標準,從中提取了 幾何模型,并將其自動轉移到計算模型中作為各種模擬任務的基礎。重點介紹了全三維 結構分析的協同方法。
    McGuire[5]以科羅拉多州默縣的一座橋梁為研究案例,利用BIM技術的數據集成及 可視化的功能,將橋梁的受損信息以可視化形式進行了表達,從而實現了橋梁在管養過 程中對受損位置的自動檢測。
    Lachauer L[6]等利用BIM技術的參數化建模功能,用樣條曲線將纜索的結構進行繪 制。通過參數驅動NURBS曲線,使用模型中幾何曲線尺寸數據信息作為變量,并根據 圖形靜力學理論,應用纜索應力圖最小面積原理對纜索的線形進行優化。從而將應力圖 最小的面積作為目標函數進行了一次系統優化。
    Elbeltagi E[7]等人結合BIM技術和GIS技術對工程項目進行實時監控,并建立了以 時間為控制要素的工程數學模型。同時,還開發了能將項目進度與 BIM 技術動態結合 的自動化系統以及使用GIS技術進行分布式點開發的可視化工具。
    CS Shim[8]提出了橋梁的可拓展性模塊,從而實現了不同設計過程和施工過程之間 的互操作性。從橋梁的規劃階段到施工階段,提出了橋梁模型可以采用數字化進行表達。 采用參數化進行建模,以4D和5D的方式進行仿真,使BIM技術在橋梁施工過程中得 到有效應用。
    CarlosA.Le6n-Robles[9]等人利用BIM技術結合點云技術,通過激光掃描一座古老的 石橋,進行橋梁三維模型的建立和相關橋梁信息的添加及記錄,為橋梁提出一種新的方 法和模型。并以此改變了該橋后續管理和維護的模式,提高了橋梁的信息化管理。
    KettilP[10]等人將BIM參數化的方法應用于橋梁設計中進行研究,實現了橋梁工程 的參數化建模。通過研究其參數的獲取方法,提出了一種智能的橋梁結構變化算法,促 進了橋梁正向設計的發展。
    1.2.2 BIM技術在國內研究現狀
    隨著國外 BIM 技術的應用與推廣,近幾年,我國政府及建筑行業也在促進該項技 術的應用和發展[11]。
    2009 年,高佐人[12]等通過分析橋梁構件特征之間的映射關系,建立橋梁數據組織。 將橋梁的構件作為基本單位,利用橋梁數據組織的關系,建立了帶有幾何數據信息的橋 梁構件模型,在一定的基礎上使得工程信息和模型得到了有效結合。
    耿方方[13]等人在橋梁健康監測系統中引入BIM技術進行研究,針對現有系統存在 的數據讀取性差、安全評估困難等問題出發,提出采用“BIM+健康監測”的模式,擴展 了結構計算和 BIM 模型相結合的橋梁健康監測系統,實現橋梁健康監測系統中多方管 理的協同化,為BIM技術在橋梁健康監測中的深入應用提供了技術支持。
    曲強龍[14]通過Dynamo可視化編程插件,以構件的編碼信息作為人機交互的媒介, 實現了對橋梁 BIM 模型相關信息的快速添加。通過 Dynamo 中 Python Script 編寫了 Python腳本代碼,將BIM模型的材料、節點等數據信息生成Midas Civil中MCT命令 流,實現了 BIM模型與有限元模型之間的轉換。
    王偉濤[15]結合斜拉橋施工控制的信息管理要求,提出了構件信息分類和編碼的方 法。利用 Dynamo 快速直接讀取 Excel 表格數據,并將數據批量導入 Revit 模型中,從 而實現了施工過程中理論值、實測值以及誤差等數據的信息集成。通過開發該信息管理 平臺,為施工監控數據信息的集成管理提供了新思路。
    王亮[16]基于BIM技術對斜拉橋設計進行研究。通過分析橋梁BIM模型的信息集成 及管理模式,建立橋梁信息管理平臺。利用可擴展標記語言(XML)作為橋梁BIM數 據信息的載體,對橋梁結構化和非結構化信息進行儲存。為橋梁信息數字化儲存提出了 以一種新的思路。
    喬恩懋、丁琦[17]通過C#編程語言對Revit進行二次開發,將建立的網架結構元素進 行整合導入,形成自動化的快速建模。實現復雜空間網架模型的建立,大大提高設計人 員空間網架創建效率。
    楊黨輝、蘇原[18]基于IFC標準并結合Revit API二次開發接口,實現了結構設計分 析數據與BIM模型數據之間的轉換。利用BIM技術實現了物理模型和分析模型的同時 轉換,保證了結構分析的準確性。為結構三維物理模型向分析模型簡化問題提出了創新 性思路。
    王飛鵬[19]借助Revit軟件參數化和模塊化,利用C#語言和Revit二次開發技術,開 發出一款鋼筋參數輸入界面。采用人機交互的方式,實現了預制構件的參數化配筋。然 后采用Revit軟件自身的功能對構件進行參數化建模,完成了預制構件模塊庫的創建。 用戶只需要經過修改相應的參數便可以對每個構件進行操作。
    張為和[20]總結BIM技術在夜郎河雙線特大橋施工中的有效應用,運用BIM技術對 橋梁的施工過程進行虛擬仿真和3D可視化交底。在虛擬仿真過程中對沖突的施工工序 提前進行優化,提高了橋梁的施工效率和施工質量。
    由以上對國內外BIM技術在橋梁工程中的應用及研究現狀的綜述可知:BIM技術 在橋梁工程中的應用以橋梁管理系統、橋梁健康監測、構件參數化建模、施工方案模擬 等為主,應用 BIM 技術的橋梁結構主要集中在斜拉橋、懸索橋以及連續梁橋,在大跨 度預應力連續剛構橋施工監控以及信息管理的應用研究相對較少。大跨度連續剛構橋目 前在橋梁領域是較為常見橋梁結構形式,通常采用掛籃懸臂施工,在施工過程中將面對 梁段劃分較多,預應力鋼筋數量較多,施工監控信息反應滯后等問題,有必要將 BIM 技術引入到大跨度預應力連續剛構橋施工監控以及信息管理中,實現橋梁構件自動建模 以及施工過程中的動態可視化監控,進一步提高施工質量和施工信息管理水平。
    1.3本文主要研究內容
    隨著現代橋梁跨度不斷加大,橋梁施工過程中對施工質量和結構安全的要求越來越 高,所以有必要將施工監控引入到橋梁施工過程中,這種方法在一定程度上確保了橋梁 施工質量和結構的安全。采用傳統的方法進行橋梁施工監控,會產生大量數據信息,不 利于數據的保存。隨著我國信息化技術的步伐加快,有必要引入基于計算機方法的BIM 技術,將 BIM 技術與連續剛構橋施工監控結合,進而可以完成施工監控中數據信息的 管理,從而使橋梁施工監控過程實現信息化和可視化。本文主要研究 BIM 技術在大跨 徑預應力連續剛構橋施工監控中的應用,主要內容如下:
    第一章緒論。介紹了本文的研究背景及意義。通過大量的文獻閱讀,分別對 BIM 技術在國內外的研究現狀進行了闡述。
    第二章基于BIM技術在連續剛構橋施工監控的應用。首先介紹了 BIM定義、特點 以及 BIM 主流的軟件。然后介紹了施工監控主要內容,接著對連續剛構橋懸臂施工監 控的理念及方法進行敘述,并針對石堡川河特大橋施工方案進行了介紹。最后對 BIM 技術在連續剛構橋施工監控中的應用進行簡明闡述。通過以上的敘述及研究,選取Revit 軟件為本論文模型的建模工具。
    第三章Revit二次開發技術。介紹了 Revit軟件基本內容、可拓展性和Revit API應 用程序接口的相關內容。針對二次開發內容,研究了二次開發所具備的開發環境、開發 方式以及開發思路。
    第四章基于BIM的連續剛構橋施工監控有限元仿真計算。采用C#編程語言和Revit API應用程序接口,對Revit軟件進行一定的二次開發。針對石堡川河特大橋主梁開發 了一款快速建模插件,通過讀取Excel表格中的箱梁數據,自動創建其他梁段并最終生 成整個連續剛構橋的上部結構。介紹了可視化編程插件Dynamo,以Dynamo插件為載 體,利用 Python Script 腳本語言編輯代碼開發預應力鋼筋程序,讀取 Excel 表格關鍵點 的坐標快速批量創建預應力鋼筋族。最后探討了橋梁BIM模型與ANSYS有限元模型之 間數據信息交互的思路,并利用Revit二次開發技術實現了 BIM模型與ANSYS有限元 模型之間的轉換,并將轉換之后的模型在ANSYS中進行施工過程的有限元仿真分析, 實現了 BIM軟件與ANSYS軟件的一體化。
    第五章基于BIM連續剛構橋施工監控信息管理研究。采用C#編程語言并結合Revit 二次開發技術,基于Revit軟件平臺開發了一款橋梁施工監控信息管理插件,通過模擬 橋梁施工階段過程,在 BIM 模型中實現了數據輸入、修改和預警分析等功能,并將該 插件應用在石堡川河特大橋中驗證其可行性。
    第六章結論與展望。對本文研究的成果和結論進行總結,并對未來進行的研究做了 展望。
    2BIM 技術在連續剛構橋施工監控中的應用
    大跨度連續剛構橋通常采用掛籃懸臂分節段施工,橋梁結構從開始施工至成橋需要 經歷漫長的時間周期,合理地設計施工過程,將使橋梁結構處于理想的安全狀態。在橋 梁施工過程中,采用不同的施工方法將可能導致不同的內力的組合疊加,同時也可能產 生不同的變形累積。因此,有必要對橋梁的施工過程進行模擬,并對施工過程的線形和 內力進行一定預測和分析,將其計算分析結果作為施工監控的理論基礎。
    橋梁施工監控的目的是使橋梁線形和內力處于一定合理的狀態,因此,在橋梁梁段 施工過程中進行動態監控尤為重要。BIM技術的出現在一定程度可以促進橋梁在施工過 程中動態監控,通過監控數據與 BIM 模型結合進行一定的預警分析,達到對后續施工 梁段的控制,最終實現成橋狀態下的線形和內力符合設計規范。
    2.1BIM概述
    2.1.1BIM的定義
    《美國國家BIM標準》給出的定義:BIM(Building Information Model)指建筑信 息模型,是一種將物理特性和功能特性用數字化表達的技術。在建筑物的整個生命周期 中提供與項目工程有關的信息,為項目的決策提供可靠的基礎[28]。BIM也可以定義為建 筑信息建模(Building Information Modeling),即實現項目工程可視化分析、工程分析、 沖突分析和建設項目規范檢測的目的[29]。隨著BIM技術的不斷發展,BIM所定義的內 容也在不斷被豐富。為了準確表達 BIM 的含義,許多國內專家學者普遍建議不要翻譯 BIM。與CAD 一樣,它僅用作代稱。但有時也可以合理表達BIM的三種含義,例如建 筑信息模型、建筑信息建模以及建筑信息管理[49]。
    綜合以上對BIM定義的敘述,由此可知BIM不是一種工具,而是一種先進的技術 理念,是解決新項目工程問題的有效手段。通過模型特有的屬性功能將實際工程中項目 的幾何信息、物理信息和施工信息等其他信息進行集成。此外,BIM技術還擁有數據共 享平臺,在這個平臺中各參與方可以依據需求查看或提取不同階段所需要的工程信息, 真正地實現數據信息的共享。BIM的核心價值是工程信息化,工程模型是BIM的核心, 而數據信息是 BIM 的靈魂。通過模型將工程信息進行集成,借助數據信息管理平臺實 現項目信息的共享,在一定程度上將使實際的工程項目達到最大效益。
    2.1.2BIM 特點
    建筑信息模型是將項目工程中所需要的數據信息都存儲在信息模型中,以此為信息 基礎,創建載有項目工程屬性信息的三維可視化建筑模型。完善的數據信息模型,可以 滿足工程項目所需的數據源。此外,BIM技術在對異性構件方面也可以進行精確表達, 解決異構工程數據之間分布不同以及數據孤立等方面問題。建筑信息模型在項目工程中 主要表現八個特點[30]:
    (1)可視化(Visualization)
    可視化是利用計算機技術在軟件中真實模擬項目工程中所有的工程信息。隨著工程 設計水平不斷提升,各種各樣的異形構造物層出不窮,由此人們對建筑物風格也提出了 更高的要求。如果僅僅采用二維圖紙指導施工,施工人員難免出現對圖紙理解不夠深入, 從而造成工程建設會偏差等問題。除此之外二維圖紙對實際工程表達的也不夠形象,給 項目工程各參與方的信息交流造成一定的麻煩。然而 BIM 技術的出現,給項目的建設 帶來了福音,使用BIM技術可以幫助項目參與方對項目的解決方案進行討論、溝通與 決策。BIM模型可以將項目工程信息用物理及數字化形式更形象地去表達,其中的工程 項目信息包括的建設材料以及解決方案等。因此將 BIM 技術應用到項目工程中,可直 接從 BIM 模型獲取全部工程的尺寸、材料特征以及工程布置效果圖等信息,保證了設 計效果和最終實際工程的完美吻合。
    ( 2)協調性( Coordination)
    為了使項目按照制定的計劃完成目標,整個項目的建設過程中涉及到多個系統,需 要各個系統的相關工作人員相互配合,步調一致,互為信任,實現數據信息的共享。因 此,協調在整個項目工程建設周期內占據至關重要的地位。在工程設計階段包含有結構、 給排水以及電氣等多個系統,這也使得各個專業在合作過程中經常出現“錯”、 “漏”、 “碰” 以及“缺”等的事件發生。BIM技術可以幫助各種系統進行協調,提前發現存在的問題, 從而降低工程設計的失誤,避免發生返工或返修事故的可能,最大程度上減少人工費和 材料費的損耗與浪費。在項目的建設周期內,對于不合理的設計或施工方案的變更,項 目負責人可以使用 BIM 平臺對項目變更信息進行發布,方便各參與方工作人員及時了 解信息,降低了信息傳遞的成本,提高了數據信息分享的效率。
    ( 3)模擬性( Simulation)
    BIM技術不僅可以模擬項目的施工以及管道的布置等過程,還可以模擬與周圍環境 適應性,主要模擬內容涉及到地形模擬、施工進度的模擬及工程造價模擬等。在項目工 程從投入到運營階段過程中,BIM技術還可以對日常碰到的情況進行情景再現模擬,比 如地震時人員逃生模擬、人流導向模擬等。
    (4)優化性(Optimization)
    BIIM技術貫穿于整個項目全壽命周期中。目前,鑒于體量大的異形構件頻繁使用, 現代項目工程的結構復雜程度越來越高。如果僅憑圖紙審查的方式進行信息交流,不可 避免地會出現對項目工程信息的誤解。對于相對復雜的工程項目,BIM還可以對項目中 各類數據信息進行分類,進行整體布置,快速便捷地實現工程項目所要達到的目標。
    ( 5)可出圖性( Graphizability)
    隨著時代的不斷發展,人們審美觀點的也在不斷提升,從而對于建筑風格需求提出 了更嚴格的標準。建筑結構的復雜程度越高,所需圖紙的種類與數量越多。傳統出圖模 式已經不能滿足設計人員的需求。BIM技術的出現將會適應這一變化。BIM技術的可出 圖性不僅包括傳統的工程圖紙,還包括三維預警視圖、剖面圖以及鋼筋和門窗的明細表 等,將項目工程以多維度方式去展示,從而使項目工程實現了精細化管理。
    ( 6)一體化性( Integration)
    BIM的核心技術包括在計劃前、中期設計和施工以及后期運營管理中對項目整個生 命周期中的有效管理。BIM技術的使用等同于在整個項目中收集項目的數據和信息,并 針對項目中有效的信息進行收集和記錄,為后續權力和職責的分工及項目的質量和安全 性提供可靠的數據支撐。
    ( 7)參數化性( Parameterization)
    應用算法規則的理論技能進行參數化建模或設置的參數,都可以通過調整相應的參 數重新建立新的應用模型。重復使用該模型或方法可以顯著提高生產效率,避免了重復 的建模過程。除此以外,使用參數建立的模型都賦予了模塊化的功能,通過更改模型對 應參數,可以形成新的模型實例。通過修改參數而創建的模型可以存儲在族庫中,當模 型需要被應用于其他項目中時,設計人員可以直接調,大大降低了設計的成本。
    ( 8)信息完備性( Information completeness)
    應用BIM技術不僅可以描述完備的項目信息,而且還可以將工程信息以3D幾何與 拓撲的關系進行描述,提高工程信息的準確性與整體性。
    2.1.3 BIM主流軟件
    目前,BIM技術在國內外很多工程項目中已有廣泛的應用,在工程領域使用最廣泛 BIM 軟件主要包括 Autodesk、 Tekla、 Bentley 以及 Graphisoft 四家公司旗下的相關軟件。
    與國外相比,國內的 BIM 軟件也在迅速地應用到工程項目中,比如有魯班、斯維爾等 本土 BIM軟件。不論哪種BIM軟件的發展都是為了滿足設計人員的設計需求,這些軟 件的應用也在不斷推動BIM技術在中國加快發展。各種主流軟件之間的對比如表2.1。
    表 2.1 各種主要 BIM 軟件對比
     
     
     
    優秀,擁有強 主要應用于機 STEP、
    大的曲面設計 變量和參數化混合建 優秀,軟件系列 IFC、
    CATIA 械行業,非土木
    模塊,主要應 模,提供變量驅動及 產品較為完善, 專用軟件,用戶 DWG、
    用于航空航天 后參數化能力 可支持二次開發 界面復雜 DXF 等
    等高精端領域
    SAT、
    優秀,幾乎在 軟件本身沒有參數化 一般,本質為三 缺乏信息管理 DXF、
    Rhino 創建空間形體 功能,需要結合 維建模工具,可 模塊,需結合其 STL、OBJ
    方面沒有任何 Grasshopper 實現參 以與其他BIM軟 他 BIM 軟件一
    限制 數化 件交互 起使用
    ( 1 ) Autodesk Revit 軟件
    目前,Revit軟件在建筑領域應用占有率很大,已成為了核心建模軟件。Revit軟件 擁有建筑(Architecture)、結構(Structure)、機電(MEP)三個獨立模塊,用來滿足 不同專業的不同需求。由于 Autodesk 公司旗下的軟件具有良好應用程序基礎和美化的 設計UI操作界面。因此,Revit軟件在當前建模市場中占據最大份額,已成為主流的建 模軟件。值得一提的是Revit軟件還內置了 Dynamo可視化編程插件,可以采用參數化 進行異形曲面創建。同時此軟件還集成了 Advance Steel 鋼結構模塊,用戶可以方便使 用該模塊對涉及鋼結構的工程項目進行深化設計。此外,Autodesk公司為了滿足各行各 業的工程師使用該軟件,在Revit底部留有針對此軟件的開發的接口,方便設計師對Revit 進行二次開發以工程的應用。但該軟件也存在參數化定義不完善,對復雜的曲面結構建 模有一定的局限性。
    ( 2) Bentley 軟件
    Bentley 公司根據專業的需求不同,為項目的各參與者提供不同的解決方案。 Bentley MicroStation 是一款集成二維和三維建模的平臺,是所有三維建模軟件設計的基石,此 軟件也是一款集建筑、施工以及運營等設計模塊建模程序。Bentley Structural是一款專 業的結構建模軟件,對于各類混凝土以及鋼結構工程項目都可以采用相應的模塊去建 模,創建的結構模型可以直接導入到分析軟件 STAAD.Pro 進行分析計算。 STAAD.Pro 軟件是通用的結構軟件,可以應用到橋梁、建筑以及地下結構等領域進行結構分析。2012 年,Bentley公司推出了 AECO sim Building Designer軟件,該軟件為建筑、電氣、結構 以及設備四個專業模塊領域提出的一套解決方案。雖然Bentley旗下的軟件對創建復雜 曲面有一定的支持,但也存在一定的產品之間整合較弱,協同性不強的問題。
    ( 3) Archi ACD 軟件
    Archi ACD是Graphisoft公司專門為設計師開發的一款3D設計軟件,是被業界普 遍認為最早發展的BIM軟件之一,在BIM核心建模軟件中它也是最早占有市場影響力。 除此以外, ArchiCAD 軟件也為設計師提供了輕松簡約的設計環境,建模操作過程比較 靈活,但對于參數化設計方面仍然需要進一步改善。
    ( 4) Dassault CATIA 軟件
    CATIA是法國達索公司開發的一款集CAD/CAE/CAM系統的產品,該產品可以為 建模制造商提供解決方案,主要應用于航天以及汽車等高端精密結構的設計。對于建筑 工程領域,CATLA更喜歡復雜形狀和體積更大的結構設計。相對于其他BIM軟件而言, CATLA 在復雜結構設計方面更具有顯著的優勢。然而此款軟件的學習難度比較大,且 對于建筑行業設計的UI界面不具有友好性,需要進一步改善。
    ( 5) Tekla 軟件
    Tekla Structures 是第一個基于 BIM 技術理論開發的建模軟件,并且一直致力于鋼結 構設計研究。隨著BIM技術的發展,Tekla Structures后期還將創建的模型和結構分析等 功能進行了整合,具有龐大的鋼結構節點數據庫,可以滿足設計過程中需求的各類節點。 雖然Tekla軟件具有強大的參數化設計功能,但是該軟件對曲面結構模型的創建有待進 一步完善。
    ( 6) Mc Neel Rhino 軟件
    Rhino,中文譯為犀牛,是美國Robert McNeel & Assoc公司開發的三維設計軟件, 在創建高端精密的模型時具有顯著的優勢,并且該軟件在參數化設計方面也表現的比較 好,對于創建大體量、結構復雜的模型等方面還存在著較大的提升空間。
    由上述的介紹,現有的 BIM 核心建模軟件應用在橋梁上各有優缺點,在實際工程 中可根據需求選取恰當的軟件平臺。在本文的研究中,基于以下幾點的考慮,選取了 Revit 作為核心建模軟件:
    ①繼承了 Autodesk系列軟件的界面模式和功能模塊,使得Revit在使用操作方面 易于用戶上手。
    ②該軟件可支持的數據交互格式類型較多,便于信息的交互和共享,同時 Revit 軟件預留了大量的API應用接口,允許用戶通過二次開發來擴展和定義軟件功能。
    ③在參數化建模方面,Revit雖然缺少橋梁構件庫,但其多樣的族模板可方便用戶 進行構件的參數化建立。除此之外,官方的參數化插件Dynamo可以提高Revit的建模 能力和效率。
    2.2連續剛構橋施工控制的理念及方法
    2.2.1 橋梁施工控制理念
    由于橋梁結構的形式、施工特點以及監控內容的不同,在橋梁施工監控中,根據實 際施工階段,對橋梁結構的線形、應力以及應變進行監控,經過誤差分析修正后,使其 達到設計要求。對于大跨徑連續剛構橋施工的過程,其每個施工階段的施工步驟都是密 切相連的。橋梁在施工過程中,結構狀態應滿足規范設計要求的應力狀態,確保橋梁施 工質量和結構安全,需要密切關注橋梁在各施工階段的梁段結構的變形和受力狀態,有 必要對橋梁進行施工控制。
    對于采用掛籃懸臂施工的大跨度連續剛構橋而言,由于施工階段受材料特性、結構 自重、混凝土的收縮徐變、預加應力以及臨時施工荷載等因素的影響,橋梁主梁的撓度 和內力必然發生一定的變化。再加上施工過程中由于工作人員操作不當,對測量、觀測 以及懸拼過程不當都會使梁段結構受力造成一定的誤差。如果按理論計算值指導工作人 員進行施工作業,不進行一定的監控,那橋梁實際的結構變形值會與理論設計值存在一 定的偏差,這種偏差會隨施工階段不斷進行而逐漸累積。如果不對其加以有效的控制, 最后懸臂施工過程完成后其主梁標高值以及結構應力值等各項指標將可能達不到規范 設計要求甚至使橋梁合龍段難以合龍,最終導致成橋后橋梁結構的內力值達不到規范設 計的要求。所以,必須根據施工過程中測量的實際值和計算分析理論值進行對比,指導 下一施工階段,當橋梁線形和應力等出現偏差時進行方案的調整,實現對整座橋梁結構 安全的精確把控,保證橋梁線形和內力值在規范設計的范圍之內進行變化[56]。
    2.2.2 橋梁施工控制方法
    針對不同類型的橋梁結構,通常采用不同的施工控制的方法。一般來說,橋梁的施 工控制常用的方法主要包括預測控制法、最大寬容度法、事后控制法和自適應控制法[58]。
    ( 1 )預測控制法
    預測控制方法是綜合考慮影響橋梁結構的各種因素和施工要達到的目標后,對每個 梁段預先估計前后結構所處的狀態,使施工過程中梁段結構狀態沿著預定狀態發生變 化。不管用什么方式進行精確的預測,實際結構和預測結構狀態都避免不了有誤差的存 在,需要在調試過程中進行修正,以便精確給出下一步的參考數據,這樣便可以對結構 在每個施工階段的前后進行狀態預測,使施工方案沿著預先給定的理想狀態進行的控制 方法。預測控制是以現代控制理論為基礎進行應用的。預測控制法是橋梁施工監控主要 采用的方法。工程中常用的預測控制的方法有卡爾曼(Kalman)濾波法、灰色理論法等 [26,27]
    O
    ( 2)最大寬容度法
    最大寬容度指的是誤差所能達到允許值。在實際的橋梁工程中,工程師在進行橋梁 設計時需要為主梁標高的變化和內力的變化設置最大的允許范圍。采用該方法的有助于 是降低施工控制的難度。
    (3)事后控制法
    事后控制法是橋梁在施工過程中,如果施工完成后的橋梁結構狀態不符合設計要求 或者和理想狀態有一定的偏差,通過一定的施工方法對它進行相應調整后能達到設計要 求的方法。只是采用此方法有一定的前提,既在結構的內力及線性的變化可以進行調整 時才能使用此方法。目前這種方法在橋梁工程中的應用不再那么廣泛。
    (4)自適應控制法
    自適應控制法也被稱作參數識別控制法。此方法一般應用在工序復雜且約束較多的 多次超靜定的橋梁結構中。自適應控制法主要是比較和分析結構實測值與理論值,從而 找到影響橋梁結構變化的因素,并通過專業的分析找出引起這種變化的原因,針對此原 因進行參數修正,以便真正達到修正模型的方法。通過此方法修改后的模型進行重新分 析計算,將分析后的結果應用到指導下一梁段施工。經過大量實踐研究表明,橋梁施工 過程中出現這種偏差的主要原因包括材料彈模以及預應力松弛等。經過對已完成梁段的 進行監測,可得到此參數的解決方法,有效的提高模型的精度。將模型修正后的分析結 果應用到下一施工階段中,以使橋梁結構能較好的達到合理的規范要求。
    通過對以上幾種控制方法的敘述,對于采用掛籃施工的大跨度連續剛構橋而言,由 于已經張拉后的梁段其結構處于某種狀態,具有調整性很低。對于橋梁的結構形式和構 造特點而言,連續剛構橋在梁段完成張拉預應力鋼筋后,很難像斜拉橋那樣,可以通過 調整索力的大小來控制每個梁段的標高。而剛構橋只能通過對已經完成的梁段進行線形 和應力監控來預測下一梁段的標高值并加以調整。所以對于大跨徑連續剛構橋的施工監 控一般采用預測控制法[24,25]。
    2.3連續剛構橋施工監控主要內容
    2.3.1線形控制
    橋梁在進行施工過程中,其線形的變化是施工監控的主要內容之一[21]。對于采用懸 臂掛籃施工方法連續剛構橋而言,正在進行澆筑的梁段對完成張拉后的梁段的線形和內 力值會產生一定的影響,同時已完成的梁段將有一定的向下偏轉,并且主梁根部的角度 也將變大,這些都會導致新澆筑的梁段撓度值逐漸變大。由于大跨度橋梁施工梁段數量 較多,各個參數的影響因素比較復雜,在施工過程中不可避免會造成誤差以及變形。橋 梁線形控制的目的就是使橋梁所有合龍段完成后,橋梁的線形可以達到合理設計線形, 并滿足規范要求。
    線形控制一般包括橋梁軸線和標高控制。橋梁軸線控制誤差應符合規范誤差要求。 對于大跨度連續剛構橋而言,標高控制是橋梁施工監控的關鍵所在,主梁在掛籃施工過 程中一般被劃分為十幾個梁段進行澆筑或者拼裝。在懸臂施工過程中,新澆筑的梁段、 掛籃自重、臨時荷載以及預應力都會導致已完成施工過程的梁段發生下撓,從而導致各 梁段標高發生變化。在橋梁施工過程中,如果不能及時通過實測數據分析模型計算的結 果,將會導致梁段之間的標高誤差不斷累積,最終導致合龍段無法進行正常合龍,不能 滿足規范設計要求。綜上所述,大跨度連續剛構橋進行懸臂施工時,線形變化是施工監 控中的重中之重。
    對于采用掛籃懸臂施工的連續剛構橋梁來說,對于每個施工階段的梁段都必須進行 實時監控,掌握梁段在施工過程中線形的變形規律,可以有效對后續梁段懸臂施工過程 中產生的各種誤差進行調整。
    2.3.2應力控制
    橋梁掛籃懸臂施工過程中各個梁段的結構內部的應力應滿足規范設計要求,這在施 工監控中稱為應力控制[23]。
    (1) 應力產生
    大跨徑連續剛構橋懸臂施工過程中,各梁體產生的應力累積體現了橋梁在成橋狀態 下主梁的所承受的應力狀態。在橋梁施工過程實時掌握梁體應力狀態至關重要,可以通 過對主梁控制截面的應力監控來掌握主梁的實際應力的變化情況。監控過程中若實際的 應力值超過了其理論值,需立即停止進行其他梁段的施工,分析應力值異常的原因后再 繼續下一施工階段。針對此原因制定相應措施,防止后續梁段施工過程中造成應力超限。 掛籃施工過程中必須對橋梁結構應力狀態進行嚴格監控,掌握結構隨著施工階段的進行 應力所處的狀態。橋梁施工過程中梁段應力的來源主要包括結構自重、臨時荷載產生的 應力、混凝土收縮徐變產生的應力、預應力張拉等,需要對其涉及到此內容的施工階段 進行應力監控。
    (2) 應力控制原理 原理采用胡克定律,通過監測主梁截面應變,按照材料性質計算彈性理論狀態下的
    結構應力,計算公式為:
    CT = E • (2.1)
    式中:C——測試截面應力值;
    E ——材料彈性模量;
    & 測試截面應變值。
    在施工過程中進行應力監控時,儀器所測得的截面應變包含了荷載作用下應變,同 時也包括混凝土的收縮徐變等其它非應力變形所帶來的干擾。在進行應力監控時,需采 取相應措施規避其他因素的影響,進而提高所測截面位置點荷載應變的精確度,減少其 他因素對實際監測值與理論設計值之間的影響,進而更好控制橋梁施工質量。將現場實 測應力和應變作為指導下一梁段施工監控的依據,保證橋梁施工過程中結構處于安全狀 態,確保施工進度的順利進行。
    2.3.3穩定性控制
    在橋梁施工過程中除了需要對線形以及結構應力監控外,橋梁的結構安全還包括橋 梁的穩定性控制。在施工過程中隨著澆筑梁段數的增加穩定性問題應運而生,橋梁因失 去穩定而破壞的在國內外屢見不鮮,因此對施工過程中的穩定性監控對橋梁整個結構的 安全性具有重大意義。研究橋梁結構穩定性的關鍵是控制結構的穩定性,在特定狀態下 對結構進行穩定性分析可以確保結構不會因不穩定而失去承載力[51]。實踐經驗表明,大 跨度橋梁在施工過程中,因為上部結構主梁與橋墩固結,在最大懸臂狀態時,結構的穩 定性處于最差狀態,在此階段是施工中具有最不利的荷載工況,應采用有限元軟件進行 模擬分析,保證橋梁在最大懸臂狀態下有處于足夠的安全狀態下,同時做好抗風及掛籃 的強度、剛度及穩定性。保證橋梁施工的順利進行。
    2.4連續剛構橋施工監控的主要過程
    (1) 工況劃分
    對于大跨徑預應力連續剛構橋施工階段的劃分,每個梁段的施工都是一個施工階 段,每個施工階段一般都包括 3 個工況: 掛籃安裝、前移、定位和立模;澆筑該梁段 的混凝土;預應力鋼筋張拉[59]。
    (2) 測點布置
    ①主梁應力測點布置
    根據主梁的受力狀態不同,選定控制截面為測點的布置位置,石堡川河特大橋主橋 箱梁應力監測設置在根部截面、邊跨最大正彎矩截面 3L/8 和中跨跨中截面,主橋共設 置 16 個應力監測面,如圖 2.1 所示。
     
    — 1 = :P————一r
    s
    9 1 U I
    11 II II
    圖 2.1 主橋應力監測斷面布置
     
    每個斷面布置4 個測點,頂板和底板各布置兩個,每個測點安裝1 個傳感器。對于 傳感器的數據采集應盡量安排在早上和晚上,避免溫度對傳感器的影響。全橋共布置 64 個測點。各斷面測點布置的具體的位置如圖2.2所示。
     
    圖2.2箱梁斷面應力測點布置(單位:mm)
     
    鋼弦式應變計根據振弦理論制造。振弦式應變計是利用振動的頻率與弦的張拉力之 間的變化關系來測量應變計所在點的應變。工作原理是:在密封的鋼質圓筒內的將兩個 端塊間用一根細鋼拉緊絲,兩端鋼板都固定于混凝土中,當弦絲受到電脈沖刺激后,兩 端的端塊都可以進行微微的自由振動。混凝土的變形將會導致兩端的鋼板相對移動,兩 端的鋼板的位置變化才導致鋼弦絲拉力變化,這種拉力的變化可以通過鋼弦絲的自振頻 率來測量[51],傳感器的埋設如圖 2.3 所示。
     
     
    圖 2.3 傳感器的埋設
     
    ②主梁線形測點布置 結合石堡川河特大橋的結構特點及施工要求,其主梁每個懸臂澆筑梁段都采用對稱 布置高程測點。線形的監測是控制橋梁線形最主要的依據,根據現場施工經驗,在每個 梁段布置 3 個測點。各梁段測點的布置位置在各梁段距前端 20 厘米左右處。每個測點 都采用①16螺紋鋼筋進行埋設。埋設的方式為:一端埋入箱梁頂板內,另一端露出頂板 大約2cm。在懸臂施工過程中,為了控制梁段頂板的設計標高,每個梁段都應該布置高 程測點。同時也是為了觀察后續澆筑的梁段測點的變化做基準點。高程測點的布置如圖 2.4 所示。
     
     
    ③監控技術路線 根據施工單位制定的施工組織方案,然后結合本項目的施工特點,為了達到橋梁施
    工監控的目標,采取以下的施工監控流程。如圖 2.5 所示。
     
     
     
    圖 2.5 施工監控技術流程圖
    2.5BIM技術在剛構橋施工監控中的應用
    BIM技術最早應用在建筑工程領域,隨著土木工程行業與計算機技術的緊密結合, 橋梁工程研究逐漸向信息化方向發展。近幾年,BIM技術逐漸在市政、鐵路以及水利等 各個領域得到了廣泛的應用。相對于其他工程領域,BIM在橋梁工程中的應用起步較晚, 所以相關借鑒的資料也比較少。對于采用懸臂施工的大跨度連續剛構橋,施工過程中必 須對主梁線形及內力進行嚴格的控制。基于 BIM 技術的連續剛構橋施工控制,是一種 更智能化的監控技術,對建造的過程可以進行可視化模擬,使得現場施工過程給人以身 臨其境的感覺。采用 BIM 技術進行施工監控還可以及時發現工程中可能隱藏的問題, 增加對施工過程中可能存在風險的預知能力。BIM技術還可以進行動態的數據采集和分 析,并將分析的結果進行及時反饋,為決策者提供準確的數據支持。
    基于 BIM 技術的連讀剛構橋施工監控的思路是首先獲取數據信息,然后進行數據 分析并及時反饋信息,接著將監控的信息進行統一的管理從而實現施工監控的控制。信 息的獲取是施工監控的基礎和關鍵。通過施工控制獲取的實際數據與理論計算數據進行 對比分析,可以將分析的結果以可視化三維模型進行顯示,以此用來評價施工控制的效 果,并將結果反饋給決策者。
    2.5.1施工模擬
    施工模擬分為施工有限元模及施工可視化模擬。為了確保連續剛構橋更好的根據施 工計劃方案建成,通過施工狀態有限元模擬,可以獲得關鍵步驟中各階段的主梁線形和 主梁應力用于指導施工。通過BIM的信息化技術,可將橋梁BIM模型通過一定的方法 轉換為有限元模型,此模型在一定程度上可以通過添加約束或荷載直接用于施工分析, 有效省去了有限元軟件繁瑣的建模過程。施工可視化模擬可以通過施工仿真軟件實現施 工過程的動態視覺仿真,對施工仿真的過程中發現的問題應及時進行修正,并對施工方 案的優化進一步完善。
    2.5.2 數據可視化分析及反饋
    通過編程開發將BIM施工監控與ANSYS分析軟件進行連接,可以將現場監測數據 與有限元分析的理論數據融合在BIM模型中,并將應力和變形的結果顯示在BIM模型 中,實現施工監控可視化分析,進而可以對結構安全狀態進行客觀的評價。當理論值與 實測值經過對比分析后有一定的偏差時,考慮施工過程中多種因素都有可能影響誤差 后,可以采取偏差自動修正的方法進行調整,并將最終獲取數據的控制狀態量,發布給 下一施工階段實施的指令,從而實現連續剛構橋各個階段的施工控制。若應力和線形的 變化超出了允許的誤差范圍,系統會馬上發出異常預警,對于出現的預警信息應及時采 取相應的措施,從而實現橋梁的施工控制。
    2.5.3 信息協同管理
    連續剛構橋施工監控中各參與方都擁有大量的數據信息,除了監測數據外,還包括 監測報表以及報告等信息,基于 BIM 的施工監控信息管理平臺為項目的參與者提供了 一個信息協作管理平臺,各參與方可以將相關的資料文件輸送到在這個管理平臺中,使 得有關該項目的所有數據信息在平臺上進行永久保存。在施工監控過程中,如果項目信 息的發生了變化,應征求系統管理人員的同意,在給定的信息管理平臺權限的情況下, 允許項目參與方在管理平臺中進行信息變更的填寫,并將變更的信息及時通知項目的其 他各參與方。
    2.6本章小結
    本章通過介紹連續剛構橋的施工監控的內容、方法及 BIM 技術,基于橋梁施工監 控的發展現狀,完成了以下工作:
    (1)探討了橋梁施工監控的控制內容、控制方法、控制理念等主要內容。
    (2)介紹了 BIM技術及BIM技術應用橋梁施工監控的現狀,選取Revit軟件為本論 文的模型建模工具。
    (3)提出了橋梁施工監控的未來發展趨勢將是信息化與可視化結合的智能監控。
    3Revit 二次開發
    眾所周知,BIM技術的理念已在土木工程行業中深入人心,其發展勢頭非常迅猛。 BIM技術的到來,將加快建筑行業信息化的進程。Autodesk Revit軟件作為BIM技術軟 件的其中一種,它在建筑行業中應用非常廣泛,除了自身功能強大之外,它也提供豐富 的API接口,為改善工程設計工作的效率提供了技術支持,并進一步奠定了 Revit軟件 在工程行業中的地位。借助于Revit API接口,我們可以將Revit中創建的模型與其他軟 件之間進行數據交換,實現了建模由繁瑣到自動化的過程。除此之外,我們還可以通過 API進行二次開發將其他軟件的模塊集成到Revit中,由此可在一個平臺上就可以完成 工程所需的幾乎所有工作。本章著重介紹Revit API相關功能以及使用方法,并對Revit 的優勢及特點進行分析總結,為后續二次開發的工作做理論鋪墊。
    3.1Revit 軟件介紹
    Revit軟件是美國Autodesk公司開發的一款三維仿真建模軟件,它提供了建筑設計、 結構設計和MEP設計三個主要的功能模塊,為建筑、結構和設備等不同專業提供了 BIM 技術支持。該軟件可以將工程師的設計成果以 3D 模型的形式展現,提高了工程師的設 計效率,此外,所創建的模型精確度和質量更符合實體模型的要求。 Revit 軟件中所有 的模型都可以進行參數化設置,模型中所有元素的尺寸都可以進行一定參數關聯。 Revit 軟件還可以實現工程項目的協調和信息管理等功能,同時,項目工程師還可以從 Revit 平臺中獲取模型數據信息并結合項目工程所需進行相應的模型分析。根據該軟件自帶的 功能,生成不同視圖和明細表等信息來對模型進行的整體把控,該方法可以保證項目信 息的準確性。由于BIM技術在我國工程領域的廣泛應用,作為創建模型的基礎和標準, 項目樣板文件和族樣板文件在Revit中尤為重要。
    3.1.1項目樣板文件
    Revit 軟件在實際項目設計過程中,項目樣板占據有非常重要的地位。它為設計標 準提供便利的同時又大大提高了工程師的工作效率。此外,樣板文件也為工程師協同作 業提供了基礎,工程師在創建模型工作之前要提前選定好項目樣板,如圖3.1所示,使 得工程師可以直接在項目樣板上進行設計。項目樣板文件還為項目工程提供模板的最初 狀態,主要包括項目設置、載入的族、視圖樣板和屬性等功能。 Revit 軟件為了工程師 的設計方便,還提供幾個默認的樣板文件,樣板文件中包括輔助線的設置、參照平面以
    及圖紙選定等樣式。此外,用戶可以根據不同項目的需求來建立屬于自己樣板文件。
     
    圖 3.1 項目樣板的選擇
     
    3.1.2族樣板文件
    在 Revit 中,族是某一集合或某一類別中圖元的單個個體,在族中包含有該構件的 詳細尺寸以及材料屬性等參數。隨著工程項目的開展,按照族的特性以及分類等屬性, 選擇合適的族文件創建屬于自己的Revit構件族庫。在以后的實際項目設計中,如需使 用該族可直接在族庫中調用族的數據,并根據實際項目工程情況進行修改參數,避免了 繁瑣的建模過程,極大地節省了設計院的人力和財力,提高了工程師的工作效率。換而 言之, Revit 族庫可以看作是一種無形的數據信息生產力,當生產力越強,那么今后企 業或者組織在競爭中就擁有著獨特的天然優勢。
    3.2Revit軟件的可擴展性
    雖然Revit軟件在建模方面可以直觀、準確的反映模型的數據信息。但是BIM軟件 并不是單單特指Revit單一軟件,而是包括多種軟件協同合作,共同發揮多維角度應用。 由于不同的軟件讀取或者保存的數據格式有差異,當軟件之間模型交換時,會面臨模型 數據丟失等問題,給工作人員帶來很大的困難。針對軟件在數據格式傳輸等方面存在的 問題, Autodesk 公司為設計師來提供了 API 接口,以 API 接口為載體,我們可以通過 程序把復雜的建模過程實現自動化。對于二次開發的設計人員,需要具備一定的計算機 語言編程基礎。通過學習API的使用方法并結合計算機編程語言,根據設計師的設計構 思,可以對Revit軟件進行二次開發,拓展Revit的相關功能模塊。加速推進BIM在國 內的適應性發展。
    Revit API是Revit的應用程序編程接口,它為軟件的二次開發提供了豐富的接口。 同時,該接口是不同軟件之間信息傳輸的重要工具[52]。Revit API集成了對Revit軟件二 次開發用到的所有數據庫函數,并為軟件的各種應用都提供了相應的API接口,操作者 可以根據功能需求進行研發與拓展oRevit API允許操作者通過與.NET兼容的編程語言 進行一定的開發,例如 Visual Basic.Net、C#、C++/CLI、F#等。此外,Autodesk 公司 為了拓展此軟件的市場,也為開發者提供了另一種開發包Revit SDK,如圖3.2所示, 此軟件開發包中為用戶提供了程序加載工具、開發文檔以及Revit API使用說明。通過 閱讀Revit SDK文檔,開發者可以了解API的使用方法,并且通過該使用方法能夠對建 筑模型的相關信息進行一定的操作,更加高效快捷地完成建模工作。
    :)> Revit 2020SDKZ1 開查詢 > Revit SDK 2020 > Software Development Kit
    名稱 修改日期 大小
    Macro Samples 2020/10/9 21:50 文除
    Revit Server SDK 2020/10/9 21:50 文磁
    Revit Structure 2020/10/9 21:50 文除
    REX SDK 2020/10/9 21:50 文磁
    Samples 2020/10/9 21:50 文除
    Structural Analysis SDK 2020/10/9 21:50 文磁
    S Autodesk Icon Guidelines.pdf 2019/3/27 23:29 WPS PDF 4,960 KB
    叵 Getting Started with the Revit API.docx 2019/3/27 23:29 DOCX 32^ 176KB
    團 Read Me First.doc 2019/3/27 23:30 DOC如 37 KB
    IB Revit Platform API Changes and Additions.docx 2019/3/27 23:30 DOCX 32^ 3 0 KB
    會 RevitAPl.chm 2019/3/281:05 編譯的HTML幫... 48,224 KB
    □ RevitAPl.chw 2020/11/5 17:31 CHW文件 5,785 KB
    圖 3.2 Revit SDK 工具包
     
    3.3Revit 軟件二次開發技術
    Autodesk Revit 作為 BIM 技術應用最廣泛的軟件,它為工程設計行業的建模操作者 提供了極大的支持。 Revit 利用其自身的數據庫可以高效創建其所需的三維模型,并且 模型中儲存了其參數信息。此外,Revit軟件自身的功能還可以自動生成所需要的剖面、 立面以及平面等二維圖紙,從而滿足一定的工程建設需要。對于復雜的工程項目來說, Revit軟件不能滿足設計師所需要的功能。為此,Autodesk公司提供了對Revit進行二次 開發的API接口,使得設計師根據功能需要實現個性化的操作模塊。本節主要介紹API
    的使用方法,為后續章節的推進做鋪墊。
    3.3.1Revit API 功能介紹
    Revit是一款面向所有用戶開源的建模軟件。Autodesk公司在開發Revit系列軟件 之初,就為用戶提供了各種API接口,開發者能夠通過操作API應用接口對Revit軟 件進行二次開發,并將開發的工具加載到 Revit 軟件中使用。 Revit API 是對 Revit 二 次開發各項功能的密鑰,通過該開發鑰匙可以對模型實現可視化操作和參數化集成。使 用Revit API進行二次開發,在軟件應用方面可以實現諸多功能PH,如圖3.3所示。目 前, Revit API 逐漸形成一個完善的系統,通過二次開發能夠實現的功能非常多,可以 適用于各專業模型設計。因此基于 Revit 軟件進行橋梁方向的二次開發,實現橋梁工程 在Revit中應用提供了可能。
    RevitAPI主要功能
     
    圖 3.3 Revit API 主要功能
    3.3.2 二次開發環境
    VS(Microsoft Visual Studio)是美國微軟公司開發的系列工具包產品。它包含了軟 件在整個生命周期內所需的大部分工具。開發者在此編譯環境中所編寫的代碼支持所有 微軟的平臺,包括 Microsoft Windows、.NET Framework、及 Windows Phone 等。對于 開發 Windows 系統產品, Visual Studio 是當前應用最廣泛的集成開發環境。 Revit API 可以允許與.NET兼容的語言來進行編程,主要包括C#、VB以及F#等。
    C#英文名C SHARP,是微軟公司發布的一種面向對象的編程語言,運行在.NET Framework環境中。C#集成了 VB的可視化操作以及C++的高運行效率等巨大優點。C# 還以其強大的操作能力成為.NET環境中進行開發的首選語言。本文采用軟件是Revit 2020、Visual Studio 2019、Revit SDK 2020、開發環境為.NET Framework 4.7.0。
    Revit 以二次開發方式去更好的實現在橋梁工程中某項功能的應用時,必須借助一 定的軟件開發工具,目前,對于第三方開發者來說,對Revit進行二次開發時一般采用 VSTA (Visual Studio Tools for Application)開發工具[32]。VSTA 是內置在 Revit 軟件中 的應用開發工具,使用C#以及C++等編程語言便可以對Revit進行二次開發,以此達 到擴展的功能。VS是在Microsoft Visual Studio軟件中編寫出具有功能的代碼然后結合 Revit API,通過代碼驅動外部命令實現Revit對VS功能代碼的調用,此過程可以通過 支持.NET Framework的C#、C++以及VB等計算機編程語言來實現。
    除了上述開發工具的介紹外, Revit 軟件進行二次開發時, Autodesk 公司還為開發 者提供了 Add-In Manager 插件管理器。 Add-In Manager 插件管理器可以用來加載開發者 編寫的 Revit 插件,可以用來對編譯的代碼程序進行調試,是二次開發必備的工具,如 圖 3.4 Add-In Manager 界面。
     
    圖 3.4 Add-In Manager 界面
     
    3.3.3開發方式
    Revit API是一個數據庫函數集成類庫,需要在Revit運行時才能夠工作。開發者想 要通過 Revit API 來訪問和擴展 Revit 某項功能模塊,需要編譯自己的插件去實現此功 能。 對于 Revit 軟件二次開發需要 API 提供接口, 這些接口包括:外部命令
    ( IExternalCommand ) 、 外部應用( IExternalApplication ) 和 外部數據庫 應用 ( IExternalDBApplication) [53]。
    ( 1 )外部命令( IExternalCommand)
    Revit API設計者通過此命令來開發Revit時,必須采用此接口才能與Revit實現聯 通。在 IExternalCommand 命令中只有一個方法 Excute () ,該方法中包括輸入參數 (ExternalCommandData)、輸出參數(String)和輸出參數(ElementSet)。在命令中 通過重載這個方法作為主函數被調用去實現外部命令[33]。外部命令實現的主要代碼如 下:
    public class BuildBridgesExternalCmd :IExternalCommand
    {
    public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    { var selectView = (new
    BatchWriteParamsView(commandData.Application.ActiveUIDocument.Document, commandData.Application.ActiveUIDocument) );
    System.Windows.Interop.WindowInteropHelper mainUi = new System.Windows.Interop.WindowInteropHelper(selectView);
    mainUi.Owner =
    System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; selectView.ShowDialog();〃 顯示窗口
    return Result.Succeeded;
    }
    }
    (2)外部應用(IExternalApplication)
    在 Revit 軟件二次開發插件時,還可以通過外部應用去實現開發者的需求。 Revit 通過.addin文件來識別和加載外部應用開發的外部插件。外部應用的接口主要有兩種方 法:OnStartup ()和 OnShutdown()。開發者可以在 IExternalApplication 的中重載兩 種方法,在Revit通過Loaded Application功能將插件內置在軟件的選項卡中,實現設計
    開發者所需要的功能。外部應用實現的主要代碼如下:
    public class Startup : IExternalApplication
    { //Revit 啟動時進行插件的加載
    public Autodesk.Revit.UI.Result
    OnStartup(Autodesk.Revit.UI.UIControlledApplication application)
    {
    InitRibbonTab(application);
    InitCommands(application);
    return Autodesk.Revit.UI.Result.Succeeded;
    }
    //Revit 關閉時
    public Autodesk.Revit.UI.Result
    OnShutdown(Autodesk.Revit.UI.UIControlledApplication application)
    {
    return Autodesk.Revit.UI.Result.Succeeded;
    }
    }
    (3)數據庫的外部應用(IExternalDBApplication)
    數據庫(DB)的外部應用與一般外部應用不同,它沒有提供任何訪問Revit UI的 接口。事件處理通常采用數據庫外部應用,設計者通過 IExternalDBApplication 來實現 所需要的基本功能。 IExternalDBApplication 也同樣包含了兩個抽象函數 OnStartup() 和OnShutdown()。數據庫的外部應用實現主要代碼如下:
    public ExternalDBApplicationResult OnShutdown(ControlledApplication
    application)
    {
    throw new NotImplementedException();
    }
    public ExternalDBApplicationResult OnStartup(ControlledApplication
    application)
    {
    throw new NotImplementedException();
    }
    本文分別采用外部命令(IExternalCommand)和外部應用(IExternalApplication) 兩個接口來實現 Revit 軟件插件的二次開發。利用 IExternalCommand 接口實現代碼的編 譯和代碼的調試,利用 IExternalApplication 接口進行 Revit 中 UI 界面的驅動,并將 IExternalCommand中編寫的代碼實現功能整合到Revit UI界面中。
    3.3.4 二次開發思路
    在Visual Studio編譯平臺中在以.NET Framework為框架的開發環境下,利用C#進 行Revit的二次開發時,需遵照Revit API開發流程。Revit API除了為用戶提供了二次 開發的資料外,還為Revit實現接口提供了兩大程序集:Revit API.dll和Revit APIUI.dllo Revit API.dll 程序集包含了訪問 Revit 的 Application、Document 以及 Element 的方法。 Revit APIUI.dll程序集包含了與Revit UI界面相關的外部接口,如IExternalCommand () 和IExternalApplication ()接口、以及TaskDialogs ()對話框等操作的所有接口[60]。圖 3.5所示為Revit二次開發的技術路線。
     
    圖 3.5 Revit 二次開發技術路線
    3.4本章小結
    隨著全球信息化技術的快速發展,各行各業都正在面臨著一場信息化變革。與此同 時,工程行業也逐步將重心向信息化技術方向發展,通過共享構筑物的數據信息,真正 實現全生命周期管理模式。Revit作為優秀的三維仿真BIM軟件平臺,它通過三維仿真 模型的集成功能,豐富了工程設計行業。本文主要介紹了 Revit軟件的基本內容、可擴 展性和Revit API應用程序接口的相關內容。針對二次開發技術,介紹了二次開發所需 要具備的開發環境、開發方式以及開發流程。隨著信息化步伐的加快,BIM軟件將不斷 發展壯大,相信未來BIM技術將在中國普及,從而帶動工程設計行業的技術進步。
    4基于 BIM 的連續剛構橋有限元仿真計算
    4.1工程背景
    石堡川河特大橋主橋跨越石堡川河,此橋起始點里程為K19+716.00,終點里程為 K21+254.00。橋梁全長1538.00 m,主橋跨徑布置為65+4x120+65 m預應力混凝土連續 剛構橋。下部結構為空心墩及柱式墩、樁基礎及柱式臺,主橋橋型布置圖如圖 4.1 所示。
     
    圖4.1橋梁立面布置圖(單位:cm)
     
    主梁為單箱單室的箱梁組成。0號塊箱梁高度7.2 m,跨中梁高2.8 m,其間主梁箱 梁高度按1.8次拋物線變化。箱梁頂板寬12.65 m,底板寬6.50 m,頂板厚0.3 m,底板 厚由跨中梁段的0.32 m按1.8次拋物線變化為0號塊的0.90 m,跨中梁段腹板厚為0.50 m, 0號塊為0.60 m,漸變段3.5 m厚。各單“T”構均采用掛籃澆筑施工。圖4.2所示為 箱梁橫截面尺寸圖。
     
    圖 4.2 箱梁橫截面尺寸圖(單位: cm)
     
    主橋12?16號橋墩采用單薄壁空心橋墩,橋墩的橫橋向寬6.50 m,順橋向的尺寸 為7.50 m,壁厚順橋向0.9 m,橫橋向0.7 m。分隔墩也采用了單薄壁空心墩,橫橋向尺 寸5.50 m,順橋向尺寸為4.0 m,兩側方向的壁厚尺寸都為0.5 m。空心墩的樁基采用直 徑為1.8 m的鉆孔灌注樁,柱式橋墩采用直徑1.8 m、2.2 m或者2.4 m的鉆(挖)孔灌 注樁,橋墩一般構造圖如圖4.3所示。
     
    4.2石堡川河特大橋主橋 BIM 模型建立
    4.2.1 主梁的參數化建模
    橋梁主梁主要承受梁上二期恒載、車輛荷載以及人群荷載,并將這些荷載傳遞給下
    部結構,在橋梁工程中具有重要地位。本論文中采用結構框架族樣板創建主梁模型,族
    樣板的選擇如圖 4.4所示。
     
    圖 4.4 選擇族樣板
     
    主梁采用參數化建模,并在參數驅動下自動建立主梁的其他各個箱梁模型。創建模 型流程為:先創建放樣路徑,并與參照平面鎖定,然后創建箱梁族左右截面的內外輪廓, 并將內外輪廓線與所對應的參照平面對齊鎖定,對于箱梁族中變化處進行設置參數,然 后修改各項參數形成不同的箱梁構件。最終將通過修改參數完成整個上部結構主梁的創 建。由于大跨度預應力混凝土特大橋劃分梁段較多,手動操作生成每個梁段族建模步驟 復雜且繁瑣,并且各梁段拼裝需要消耗大量的時間進行拼裝。為此本論文采用Revit插 件通過自動修改參數進行箱梁階段創建以及拼裝。
    (1)箱梁截面內外輪廓的繪制 箱梁梁段繪制需要用到放樣融合命令,將箱梁截面分為外輪廓和內輪廓分別進行繪 制。在族樣板中運用參照平面工具,將標準箱梁截面內外輪廓線鎖定在相應的平面上, 內外輪廓線創建完成之后需要為其添加參數尺寸標注進行約束,改變任何一個參數箱梁 截面都會發生相應的改變,然后利用放樣融合命令創建帶有參數的箱梁梁段實體模型, 如圖 4.5 所示。創建箱梁需要添加的參數主要有箱梁高、底板厚、頂板厚、腹板厚等, 通過添加參數實現對箱梁截面輪廓的參數化設置,參數化箱梁族如圖4.6所示。
     
     
    圖 4.6 參數化創建箱梁族
    (2) Revit軟件二次開發環境搭建
    根據Revit二次開發的流程,在Visual Studio 2019創建新項目,采用本人自己創建 的 RevitWpfTemplate 項目樣板類庫進行代碼編寫,并將類庫重新命名為 AutoTypeParam, 如圖4.7所示。在新建的類庫中,引用Revit API.dll和Revit APIUI.dll,并將這兩個程序 集的引用屬性欄中的復制本地設置為False。為了對Revit軟件更好的開發,還必須為該 庫引用IExternalCommand接口,然后點擊該接口 VS開發工具會自動創建Execte ()函 數,在該函數內編寫代碼。整個完整的代碼必須包括引用空間(using)、讀寫設置 ([Transaction (TransactionModel.Maual)])、外部命令(IExternalCommand)和主要 代碼。代碼編寫構造框架如圖4.8所示。
     
     
    圖 4.8 代碼編寫框架
    (3)基于Revit軟件二次開發箱梁族的載入
    將上述創建帶有參數的箱梁族放到Revit默認安裝路徑中 C:\ProgramData\Autodesk\RVT 2020\Family Templates 文件夾中,并將其命名為箱型梁, 程序將根據箱梁族的名稱查找該族并載入到項目中。 Revit API 提供了載入族的接口類 IFamilyLoadOptions,它包含兩個 OnFamilyFound()和 OnSharedFamilyFound ()接口 函數,在LoadFamily()中可以實現這兩個接口函數。載入箱形梁族的主要代碼如下:
    class familyLoadOptions : IFamilyLoadOptions
    {//當族實例在目標文檔中被找到時,將被觸發執行回調函數
    public bool OnFamilyFound(bool familyInUse, out bool
    overwriteParameterValues)
    {
    overwriteP arameterValues = true;//重新載入族覆蓋舊的參數和值 return true;
    }//當共享族實例在目標文檔中被找到時,將被觸發執行回調函數
    public bool OnSharedFamilyFound(Family sharedFamily, bool
    familyInUse, out FamilySource source, out bool overwriteParameterValues)
    {
    source = FamilySource.Project;
    overwriteParameterValues = true;
    return true;
    }
    //加載箱型梁族
    public static Family LoadXiangliang(Document revitDoc)
    {
    if (revitDoc.LoadFamily(Path.Combine(familyPath,"箱型梁.rfa"),
    new familyLoadOptions(), out Family f))〃根據目標族實例的名字載入族
    return f;
    else
    return null;
    }
    (4)基于 Revit 二次開發插件的功能模塊實現
    ① Excel 表格數據轉為模型數據 預應力連續剛構橋施工過程中,其主梁一般被劃分為多個梁段進行懸臂對稱施工, 因而產生若干截面參數。把這些參數放在 Excel 表格中,然后將這些表征各梁段截面的 參數數據轉化為 Revit 中模型數據,從而創建橋梁上部結構全部箱梁模型。為了快速創 建全部的箱梁模型,程序需要將Excel表格中所有截面的參數數據封裝在List列表中。
    定義模型數據列表代碼如下:
    List<ModelData> models = new List<ModelData>();
    將 Excel 表格數據添加到模型數據列表中,主要代碼如下:
    foreach (DataRow row in tables.Value.Rows)
    {
    count++;
    try
    {
    var model = new ModelData ();
    model. 梁段 = double.Parse(row[" 梁段 "].ToString());
    model.Bottomdjleft = double.Parse(row["Bottomdjleft"].ToString());
    model.dbhright = double.Parse(row["dbhright"].ToString());
    model.tright = double.Parse(row["tright"].ToString());
    models.Add(model);
    }
    }
    ② 箱梁參數驅動過程設計 當運行此程序時,后臺代碼會判斷項目樣板中是否存在帶有參數化的箱梁族,如果
    不存在,程序會根據箱梁族的名稱將其自動加載到項目中,代碼如下:
    //獲取箱型族類型,如沒有,就自動加載
    public static FamilySymbol GetXiangliangOrDefault(Document revitDoc)
    {
    FamilySymbol symbol = null;
    var family = FilterUtil.FilterType(revitDoc,
    typeof(Family)).FirstOrDefault(x => x.Name.Contains("箱型梁"))as Family;
    if (family == null)
    family = FamilyLoader.LoadXiangliang(revitDoc);
    if (family != null)
    {
    symbol =
    revitDoc.GetElement(family.GetFamilySymbolIds().FirstOrDefault()) as
    FamilySymbol;
    if (!symbol.IsActive)
    symbol.Activate();
    }
    return symbol;
    }
    將參數化的箱梁族成功載入到項目樣板后,此時項目中包含有創建其他梁段所需要 的元素參數。當Excel表格中參數信息載入到程序中,后臺代碼會根據參數的屬性判斷 該參數是否發生了變化。判斷屬性發生是否發生變化的代碼如下:
    bool paramCanModify; Document document;
    public ParameterUtil(Document revitDocument, bool paramCanModify =
    false, BuiltInParameterGroup ParamGroup = BuiltInParameterGroup.INVALID)
    {
    this.paramCanModify = paramCanModify; this.document = revitDocument;
    this.ParamGroup = ParamGroup; }
    當載入的參數信息發生變化時,后臺程序會通過LookupParameter ()方法找到箱 梁中對應的參數名稱,并通過 LookupParameter(paramName).Set() 方法對箱梁中某一 參數數值進行更改。設置參數值得代碼如下:
    private void SetXiangliangParam(Element Xiangliang, string paramName, double paramValue_mm)
    {
    if (Xiangliang.LookupParameter(paramName) != null) {
    Xiangliang.LookupParameter(paramName).Set(RevitUnitsConvertor.CovertMMToF eet(paramValue_mm));
    }
    }
    將Excel表格數據轉化為模型數據后,程序將獲取List列表中所有的參數屬性,并 通過參數的名稱和參數值在族文檔中批量、統一的創建其他梁段族。程序會將創建好的 箱梁族自動載入到當前項目中,并按照一定的方向自動拼裝成整座橋梁的上部結構。橋 梁建模過程的主要代碼如下:
    var modelDatas = ConvertToExcelModels(tables, out errorRowNumbers, out allHeaderCorrect);//讀取Excel表格內容轉為模型數據
    var paramHepler = new ParameterUtil(this.revitDoc); using (Transaction transaction = new Transaction(this.revitDoc)) {
    transaction.Start("BridgeModel");// 事務名稱
    int count = 0; FamilySymbol XiangliangType =
    FamilyLoader.GetXiangliangOrDefault(this.revitDoc);
    double L = 0;
    foreach (var modelDatas in modelDatas) {
    count++; try
    { var 箱梁 =
    this.revitDoc.Create.NewFamilyInstance(new XYZ(L, 0, 0), XiangliangType, this.revitDoc.ActiveView.GenLevel, StructuralType.Beam);
    if (箱梁 != null)
    {
    SetXiangliangParam (箱梁,"L", excelData.L); SetXiangliangParam (箱梁,"Bottomdjleft", excelData.Bottomdjleft);
    SetXiangliangParam (箱梁,"tright",
    excelData.tright); paramHepler.SetElementParamterStr (箱梁,"梁段
    ", excelData.梁段.ToString());
    } L +=
    RevitUnitsConvertor.CovertMMToFeet(excelData.L);
    } }
    (3)Revit 軟件二次開發橋梁建模模塊
    在 Revit 軟件打開后,新建項目文件并進行保存,在 VS 中運行代碼,通過 Add-In
    Manager插件找到生成的.dll文件加載到Revit中并運行該插件。Revit軟件UI界面顯示 主要代碼如下:
    public Startup()
    {
    System.AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += ResolveAssembly;
    System.AppDomain.CurrentDomain.AssemblyResolve +=
    ResolveAssembly;
    }//Revit 加載插件時進行相關配置,如添加菜單按鈕
    public Autodesk.Revit.UI.Result OnStartup
    (Autodesk.Revit.UI.UIControlledApplication application)
    {
    InitRibbonTab( application);
    InitCommands(application);
    return Autodesk.Revit.UI.Result.Succeeded;
    }
    //Revit 關閉時
    public Autodesk.Revit.UI.Result OnShutdown
    (Autodesk.Revit.UI.UIControlledApplication application)
    {
    運行之后箱梁建模UI界面如圖4.9所示。
     
    圖 4.9 箱梁建模插件
     
    設計根據設計圖紙,在 Excel 表格中進行各個構件參數數據的匯總,如圖4.10所示。 在上述的插件中點擊選擇文件按鈕,找到箱梁數據 Excel 表格地址,程序會根據 Excel 表格的數據,自動將數據載入到該 UI 界面上,并進行石堡川河特大橋主橋上部結構的 箱梁模型的創建。如圖 4.11、4.12、4.13 所示。
     
    圖 4.10 各箱梁段參數統計(單位: mm)
     
     
     
    圖 4.11 部分主梁模型
     
    圖 4.12 整體主梁平面圖
     
     
     
    4.2.2 下部結構參數化建模
    橋梁下部結構構件主要有橋墩、承臺和樁基,雖然這些結構體積較大,但結構數量 較少,構造較為簡單,因此對于下這些構件模型的建模可按照Revit創建標準梁段基本 參數化流程進行橋墩、承臺和樁基參數化建模。下面以石堡川河特大橋 12 號橋墩為例 采用公制結構基礎樣板文件進行參數化建模,如圖 4.14所示。
     
    圖 4.14 族樣板的選擇
     
    根據設計圖紙分析各個構件特點,下部結構在立面由上到下可分別為橋墩、承臺和
    樁基礎三部分,并且橋墩在項目中主要依靠標高放置,三部分構件平面都在族樣板參照
     
    平面中心,立面都以族樣板參照標高為基準面進行繪制。具體建模步驟如下: 橋墩建模主要采用拉伸和空心融合命令進行創建。設置合理的參照平面,按照從上 向下依次創建,并將創建的模型邊界與參照平面鎖定,并添加尺寸標注,進行約束設置, 并為主要的尺寸設置合理的參數名稱,可以通過改變參數值驅動模型變化,橋墩模型如 圖 4.15~4.16 所示。
     
    33
    I I I II
    圖 4.15 橋墩平、立面圖
     
     
    承臺和樁基礎的創建同樣采用公制結構基礎族樣板,創建的方式與橋墩族的創建大 致相同,將兩構件的平面放置在族樣板中參照平面的中心交點,承臺立面頂部與參照標 高平齊,并進行鎖定,其他部位的位置都與參照平面對其并進行鎖定,然后添加帶有參 數的主要尺寸進行約束設置,承臺樁基如圖 4.17~4.18所示。
     
    圖 4.17 承臺、樁基立面圖
     
     
     
    圖 4.18 承臺、樁基三維視圖
     
    將橋墩族、承臺和樁基族載入到項目中,按照標高進行放置,全橋模型如圖 4.19 所示。
     
     
     
     
    圖 4.19 石堡川河特大橋全橋模型
     
    4.2.3 橋梁預應力鋼筋設計研究
    預應力鋼筋是大跨度預應力連續剛構橋的重要的組成部分,對于提高橋梁構件的抗 裂性、剛度及滲透性等起到至關重要的作用。針對大跨度預應力連續剛構橋而言,異性 鋼筋的創建一直是Revit的技術難點,特別是具有空間曲線預應力鋼筋。此時可以借助 Dynamo 可視化編程進行異性構件的處理。
    (1)Dynamo 可視化編程[54]
    Dynamo 是 Autodesk 公司開發一款的開源視覺腳本程序,用來輔助 Autodesk Revit 平臺自身無法達到的建筑設計風格,可以使復雜構件的創建變得靈活、便捷。Dynamo 是以腳本的形式給用戶提供了一個可視化的設計界面,并且 Dynamo 還提供了豐富的節 點庫來進行數據的處理,用戶根據設計要求將需要的節點進行連接,形成一個可執行的 程序。 Dynamo 界面如圖 4.20 所示。
     
     
    Dynamo核心編程語言是設計腳本(Design Script),主要通過代碼塊(Code Block) 實現開發者的需求。Code Block如圖4.21所示。除此以外,Dynamo也提供了另一種非 常高效的編程語言是Python Script,使用此編程語言可以彌補可視化節點冗余、界面整 潔等功能受限等缺點。Python Script中可以載入外部Python庫,Python庫擁有資源豐 富的高級函數功能,某些功能可以比Design Script更加強大。此外Python Script還提供 了一種可以使用解釋方式運行API的框架,在這個框架下,用戶可以直接調用Revit的 API,不需要編譯代碼就能直接運行。Python Script編程界面如圖4.22所示。本文預應 力鋼筋主要基于此環境進行編寫代碼。
     
     
    圖 4.21 Code Block 操作界面
    K Python Script □ X
    7:clr.AddReference("RevitAPIUI")
    8: import Autodesk
    9 汁rom Autodesk.Revit.DB import * I©:from Autodesk.Revit.UI import * 叫轄入dynamo中的幾何圖元”這里就將上個內容中提到的Geometry節點引入了進來 12 clr.AddReference("ProtoGeometry")
    ~om Autodesk.DesignScript.Geometry import * ⑷嗎入回辻節點,如轄使用revit節點中的施 15^clr.AddReference("RevitNodes") 16^from Revit.Elements import * 口讎及到revit和dynamo幾癇元素轉換,采用下列代碼 i
    18; import Revit
    ⑼密入幾何體舷方法(將dyn嚴。中輸出的幾何體轉申revit中的幾何體)
    20: clr-Import Extens ions(Revit.GeometryConversion)
    21]#導入元素(revit轉dynamo) |
    22 clr.ImportExtensions(Revit.Elements)
    這樣TTtSWfccelWI?融
    24; clr.AddReference("RevitServices")
    25 i import RevitServices
    *om RevitServices.Persistence import DocumentManager
    *om RevitServices.Transactions import TransactionManager
    28doc=DocumentManager.Instance.CurrentDBDocument
    29j 于的 C urves |
    30curves=IN[9]
    31[#標高 i
    S2 level=UnwrapEle*nent(IN[l])
    遲嗨J腿型
    S4 structuraltype=[UnwrapElenient(typ) for typ in IN[2]] 35: beams=[]
    36 TransactionManager.Instance.EnsurelnTransaction(doc)
    37^for i in range(0,len(curves)):
    if structuraltype[i]:
    beams.append(doc.Create.NewFamilyInstance(curves[i]structuraltype I
    [i]^level^StructuralType.Beam))
    40TransactionManager.Instance.TransactionTaskDone()
    41OUT = beams
    42出將輸出內容指定給OUT變量„
    43 OUT = 0
    圖 4.22 Python Script 編程界面
    (2) Excel表格空間曲線預應力鋼筋坐標分析
    通常對于空間曲線而言,它們都具有平彎和豎彎的特性[55]。用精確的函數來表達空 間曲線的線形是不可能或者是難以實現的。橋梁中的預應力鋼筋可能是平面曲線或者空 間曲線。對于描述平面曲線時一般采用導線法,根據導線關鍵點的坐標及曲線半徑R等 信息確定曲線線形。然而在描述空間曲線時,隨著曲線線形復雜程度的增加,并且在缺 乏成熟的空間曲線函數式情況下,對于空間曲線建立存在一定的難度。工程做法[34]將空 間曲線投影到彼此垂直的兩個平面中,以便獲得到相對應的兩個平面曲線。在每個平面 中,使用插值函數來計算曲線上點的坐標,將獲取得每個平面上的點進行合成空間點的 坐標。本文以平彎曲線幾何參數計算點的坐標進行敘述,平面曲線幾何特性計算如圖
    4.23 所示。豎面彎曲的幾何線形參數的算法與平面曲線的計算過程相同。
    ①已知平彎曲線各導線點的坐標(和,兒J、(兀,必)、(碼+1,兒1)和豎彎半徑R
     
    圖 4.23 平面曲線幾何特性計算
     
    厶=J(兀-X - X-i)2 ( 4.1)
    Li,i+i=^1( xi+1- xi r+( yi+1- yi r (4.2)
    久” =arctan y;~生 (4.3)
    ' l厶小丿
    B\\+、= arctan 兒1 —北 (4.4)
    ' l厶,i+1丿
    ai = IA,i+1 — 0i-i,i I ( 4.5 )
    厶=| R tan(乞/2)| (4.6)
    通過公式,可以獲得與每個中間線點相對應的弧形段上兩個定位點的坐標,經過計 算以后,描述平面曲線的方式從導線點的方式轉換為圓弧段定位點方式,依照此方法還 可以獲得相應的曲線長度、圓心角以及切點的坐標。下式是其中一個®圓弧端點坐標的 公式,Z坐標點計算同理可以得到。
    xmi = [LiXi-1 + (厶-1,i —厶)xi]/厶-1,i (4.7)
    如=[厶玖1 +(厶-1,i —厶)yj/厶-1,i (4.8)
    ② 投影曲線上插入中間點的方法 為了更精確的計算曲線在空間的具體位置,中間點的坐標需插入到投影曲線上,如 果插入點位于曲線的直線段上,則根據兩側的定位點坐標對插入點的坐標進行插值。當 插入的點位于平彎曲線上時,獲取其相對應的坐標點的信息是難點,這里主要有兩種方 法,一種按照曲線長度插入,另外一種是按照水平坐標差插入,本文主要采用第二種方 法獲取曲線上任一點的坐標,圓弧段插入點幾何特性如圖4.24所示。
     
     
    按水平坐標插入時,已知插入點的水平坐標xc,圓弧的半徑為R,可以得到下面的
    式子:
     
     
     
    y = y + R(cos0 -cos0) (4.10)
    按照上述的計算公式,將其編入到Excel表格中,求出一條曲線上的定位點在另一 條曲線上對應點的坐標,將兩個坐標點進行組合,可以得到空間曲線上主要控制點的坐 標。 Revit 軟件 Dynamo 插件豐富的節點庫可以直接讀取 Excel 表格中的數據,進行相應 的預應力鋼筋的參數化建模。
    ( 3)預應力鋼筋參數建模
    預應力鋼筋建模主要通過Dynamo插件中Python Script編程語言讀取Excel表格中 主要控制點的坐標進行創建模型曲線,在當前族文檔中通過放樣命令進行模型創建。本 文主要以橋梁中頂板和腹板預應力鋼筋為例。具體流程如下:
    啟動 Revit 軟件,直接在 Revit 軟件在左上角選擇合適的族樣板進行創建預應力鋼 筋,選擇公制常規模型,如圖 4.25 所示。接下來打開 Dynamo 的操作界面,為了避免 Dynamo可視化編程的節點冗余,本文采用Python Script語言編程,Dynamo界面上只 需要輸入File Path和Python Script兩種節點進行預應力鋼筋模型線的創建。如圖4.26 所示。
     
     
     
    圖 4.26 Dynamo 編程界面
     
    其中 Dynamo 編程界面上所需求節點的主要作用如下:
    File Path (文件路徑):用戶選擇Excel表格文件并獲得其文件名。
    Python Script :編寫創建預應力鋼筋所需要的全部代碼,并進行調試。
    將Excel表格中點坐標按照命名的名稱讀取到Dynamo中,代碼如下:
    clr.AddReference("DSOffice")
    from DSOffice import Excel #導入 DynamoExcel 讀取功能 Rebar=FileInfo(IN[0])
    RebarInformation=Excel.ReadFromFile(TBRebar,"TT",False,True)
    預應力鋼筋曲線點的坐標信息存儲在Rebarinformation自定義的列表中,需要將列 表中的數據進行處理,通過Point.ByCoordinates()節點創建曲線關鍵點。主要代碼如 下:
    for i in range(0,len(Rebarinformation)):
    if(Rebarinformation[i][1]>=0):
    TBLists.Add(Rebarinformation[i])
    TBLists= TBLists[6:len(TBLists)+1]
    TBLists=List.Transpose(TBLists)
    for m in range(0,len(TBLists)):
    if(TBLists[m][0]!=1 and TBLists[m][O]!="空”):
    TBListinfo.Add(TBLists[m])
    TBListinfo=TBListinfo[1:4]
    XLists.Add(TBListinfo[0])
    YLists.Add(TBListinfo[1])
    ZLists.Add(TBListinfo[2])
    #通過 Point.ByCoordinates()創建關鍵點 for j in range(0,len(XLists[0])):
    point=Point.ByCoordinates(XLists[0][j],YLists[0][j],ZLists[0][j])
    #判斷曲線點是否在直線段和圓弧段,并將點分別添加到相應的列表中
    if (1<j<len(XLists[0])/2+1):
    pointList1.Add(point);
    elif (len(XLists[0])/2+1<=j<len(XLists[0])-1):
    pointList2.Add(point)
    else:
    pointList3.Add(point)
    將圓弧段劃分足夠充分的點,通過PolyCurve.ByPoint()節點進行創建曲線更加精 確表達預應力曲線在空間中的位置。將圓弧段根據輸入的參數進行劃分主要代碼如下:
    arcCurve1=Arc.ByThreePoints(pointList1[0],pointList1[1],pointList1[2])# 將圓弧段 根據輸入的參數進行劃分
    n=0
    while n<=1:
    solidlist1=Curve.PointAtParameter(arcCurve1,n)
    solidList1.Add(solidlist1)
    n+=0.1
    通過以上的代碼過程,將所有的曲線的坐標點按照X坐標進行排序創建PolyCurve ()曲線。主要代碼如下:
    for I in range(0,len(pointList3)):
    if (I<len(pointList3)-1):
    solidList1.insert(I,pointList3[I])
    else: solidList1.insert(len(solidList1),pointList3[I]) poly=PolyCurve.ByPoints(solidList1,False)
    通過以上代碼片段創建的PolyCurve ()曲線,通過ModelCurve.ByCurve ()轉換 成族文檔中的預應力空間模型線。如圖 4.27所示。
     
     
    i : loo旦ig>嶽崗® 9竹妄<
    圖 4.27 預應力空間模型線
    在預應力模型線族文檔中,載入公制輪廓族繪制預應力鋼束橫截面輪廓,如圖 4.28 所示,選擇橫截面輪廓,通過放樣命令生成預應力鋼筋族實例,并進行命名保存。如圖 4.29 所示。
     
     
    4.28 預應力鋼束橫截面
     
     
     
     
    采用同樣的方式創建其他預應力鋼筋族,這里不在贅述。將創建的預應力鋼筋族載
    入到橋梁項目中,按照施工圖紙進行放置。頂板和腹板預應力鋼筋模型如圖 4.30~4.33 所示。
     
     
     
     
    圖 4.31 預應力鋼筋立面圖
     
     
     
     
     
     
    圖 4.33 預應力鋼筋布置圖
     
    4.3橋梁BIM模型與有限元模型交互
    有限元仿真分析是橋梁設計階段的重要環節。通過對橋梁結構有限元分析計算得到 橋梁施工過程中結構應力、應變以及變形等理論值,便于更精準地指導施工,從而保證 橋梁施工質量和結構的安全。近幾年工程行業來看,BIM的正向設計得到住建部高度重 視,發展趨勢巨大。然而基于 BIM 的正向設計的關鍵點是實現建模軟件與結構有限元 計算軟件之間信息互通,避免重復建模。對于目前正向設計來說, BIM 軟件普遍不具有 限元分析計算的功能模塊。然而現的有限元分析計算軟件在模型質量可視化和信息管理 等方面又受到諸多限制,由于 BIM 建模軟件和有限元分析軟件的數據結合受限,往往 BIM 模型和有限元模型需要分開建立,這樣的設計過程不符合正向設計模式下設計理 念。因此軟件之間數據的交互是實現正向設計的關鍵。
    針對BIM模型與有限元模型數據信息轉換等問題,陳志為,吳焜等[36]通過基于C# 語言對 Revit 進行二次開發,并通過該技術提取 BIM 模型的幾何和物理信息,生成 ANSYS中可以運行的APDL命令流格式,實現了 BIM模型自動轉換生成ANSYS模型。 王熊鈺[37]通過API編程,將Rhino軟件中模型的幾何數據進行提取并生成Midas Civil中 MCT 命令流格式,實現了 BIM 模型與有限元分析模型的轉換。陳浩[38]通過 Revit API 接口將Revit模型的關鍵截面導出DXF文件,將該文件導入有限元分析軟件Midas Civil 中進行截面特性計算器轉為.sec格式文件,從而實現了斜拉橋BIM模型與有限元模型的 交互。
    ANSYS作為大型通用有限元分析(FEA)軟件,其強大的分析計算能力在航空航 天、國防軍工以及土木工程等各個領域被廣泛應用。 ANSYS 計算過程分為三部分[39]: 前處理模塊、計算分析模塊以及后處理模塊。對于前處理模塊而言,用戶可根據項目概 況建立有限元分析模型,隨后根據需求進行不同程度網格劃分以及模擬自定義各種模擬 環境進行計算。同時ANSYS軟件提供了豐富的材質信息和多種類單元類型,用戶選擇 合適材質和單元進行結構分析計算。后處理模塊主要是提供用戶根據不同需求進行數據 的查看,主要包括用圖形、曲線等形式展示計算結果。
    此外,ANSYS公司為了用戶建模以及分析方便,還提供一種參數化設計語言APDL (ANSYS Parametric Design Language)。運用這種語言可以直接開展結構的智能化分析, 并且可以自動完成復雜分析過程。同時, ANSYS 公司還為用戶提供了二次開發接口, 用戶根據項目的需求開發各類功能模塊。參數化設計語言APDL是ANSYS軟件公司為 用戶提供其中一種開發工具,該設計語言將為 BIM 模型與有限元模型轉換提供了一種 便捷開發工具。
    通過以上參考分析,結合軟件各自的特點,本論文的研究是采用Revit軟件平臺創 建BIM模型,利用APDL命令流將BIM模型與有限元模型數據信息之間的交互進行二 次開發,并在大型結構有限元軟件ANSYS種進行結構分析。
     
    4.3.1 Revit模型與ANSYS模型轉換思路
    在Revit軟件中建立的橋梁BIM模型,包含幾何模型的空間位置、尺寸和材質信息 等,這些信息也是結構有限元分析軟件建模需要為模型提供的數據信息。將兩種軟件數 據信息實現交互將是本章節的重點。
    本節采用前面的章節介紹的Revit二次開發技術,利用C#編程語言進行兩種軟件的 數據交互。該方法前期開發調試過程繁瑣,既要熟練運用編程語言,又要對ANSYS命 令流有一定的了解,但經過開發以后轉換效率高、針對性強且較大地避免了數據的丟失, 可以實現BIM模型信息無損轉換成ANSYS模型。通過對Revit二次開發將模型結構的 數據信息進行提取,然后利用編程語言轉換成APDL命名流格式,ANSYS軟件將通過 Read Input From命令直接讀取該文件即可生成ANSYS模型。該思路的流程圖如圖4.34 所示。
     
     
     
    按照上述的數據轉換思路和二次開發的流程,Revit模型與ANSYS模型數據交互開 發的主要步驟如下:
    (1 )在Visual Studio 2019創建新項目,新建一個類庫并命名為BoxGriderToANSYS, 如圖 4.35 所示。
    配置新項目
     
    (2)在新建的類庫中,引用Revit API.dll和Revit APIUI.dll。搭建Revit二次開發 環境過程已在4.2章節進行講述,這里不在贅述。本節主要講述將Revit模型的數據信 息轉換成APDL命令流格式。主要構造框架代碼介紹如下:
    namespace BoxGriderToANSYS
    {
    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
    public Result Execute(ExternalCommandData commandData, ref string
    message, ElementSet elements)
    {
    UIDocument uidoc = commandData.Application.ActiveUIDocument;
    Document doc = uidoc.Document;
    Application application = commandData.Application.Application; FilteredElementCollector filterElements = new
    FilteredElementCollector(revitDoc); filterElements.OfCategory(builtInCategory);
    …………//主要代碼編輯區
    string info = "finish" + "\t" + "/clear" +"," +"nostart"+"\t\n" + "/prep7"
    + "\t\n";
    return Result.Succeeded;
    }
    }
    }
    (3)主要代碼模塊的實現功能
    ①訪問 Revit 中項目文檔需要采用 IExternalCommand 接口,實現 Execute 函數的調 用。IExternalCommand接口可以實現用戶對Revit中UI界面以及模型中數據的操作:
    UIDocument uidoc=commanData.Application
    Document doc=uidoc.Document
    Application app=commandData.Application.Application
    ②通過過濾Revit中模型文檔獲取箱梁梁段的位置,以便獲取梁段上點的坐標,主 要代碼如下:
    var xiangLiangs = 獲取箱梁();
    FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create);
    StreamWriter sw = new StreamWriter(fs);
    int no = 1;
    foreach (var xiangLiang in xiangLiangs)
    {
    var xlDir = Math.Abs((xiangLiang.Location as LocationPoint).Rotation);//
    箱梁位置
    var solids = this.GetSolids(xiangLiang);
    var solid = solids.FirstOrDefault(l => l.Volume > 0);
    PlanarFace targetFace = null;
    foreach (PlanarFace face in solid.Faces) {
    var angleToX = face.FaceNormal.AngleTo(XYZ.BasisX);
    if (Math.Abs(angleToX) == xlDir)//找到與箱梁朝向相同的面
    {
    targetFace = face;
    break;
    }
    }
    }
    ③獲取Revit模型幾何截面點的信息后,按照APDL格式轉換成APDL命名流, 創建ANSYS中關鍵點以及通過點創建面。之后再由所有面生成體主要代碼如下:
    List<XYZ> xyzBeenWriten = new List<XYZ>();
    foreach (var curveLoop in targetFace.GetEdgesAsCurveLoops())〃 面上所有線
    {
    foreach (var line in curveLoop)
    {
    var p0 = line.GetEndPoint(O);// 線上端點
    var lineInfo = new LineInfo() { LineNo = no }; LineInfos.Add(lineInfo);
    if ( !xyzBeenWriten.Any(x => x.IsAlmostEqualTo(pO)))〃 關鍵點 {
    xyzBeenWriten.Add(p0);
    }
    else
    lineInfo.Index1 = FindIndex(xyzBeenWriten, p0);
    }
    }
    public string CommonInfo(List<XYZ> points)
    {
    string stInfo = "";
    string swInfo = "";
    int no = 1;
    foreach (XYZ xyz in points)
    {
    swInfo += "k," + no + "," + Math.Round(xyz.X, 2) + "," + Math.Round(xyz.Y, 2) + "," +
    Math.Round(xyz.Z, 2) + "\n";
    stInfo += "A," + "," + no;
    no++;
    }
    swInfo += stInfo; return swInfo;
    }
    ④根據預應力鋼筋模型的創建過程,可以通過獲取預應力鋼筋模型中的模型線集 合,主要代碼如下:
    /// <summary>
    /// 獲取鋼筋所有的線
    /// </summary>
    /// <param name="element"></param>
    /// <returns></returns>
    private List<Line> GetLines(Element element)
    {
    List<Line> res = new List<Line>();
    Options option = new Options();
    option.ComputeReferences = true;
    GeometryElement tempGeometryElement =
    element.get_Geometry(option);
    foreach (var ge in tempGeometryElement)
    {
    if (ge is GeometryInstance gi)
    {
    var ig = gi.GetInstanceGeometry();
    foreach (var s in ig)
    {
    if (s is Line line)
    {
    res.Add(line);
    }
    }
    }
    }
    res = res.Where(e => e.Length > 0).ToList();
    return res;
    }
    ⑤通過獲取模型線點的集合,將點的坐標按照ANSYS中以樣條曲線(BSPLIN) 進行模擬預應力鋼筋線的命令流格式進行創建。主要代碼如下:
    List<LineInfo> LineInfos = new List<LineInfo>();
    List<XYZ> pointInfo = new List<XYZ>();
    int rebarCount = 0;
    foreach (var rebar in rebars)
    { rebarCount++;
    int no = 1;
    int i = 1;
    var lines = this.GetLines(rebar);// 獲取鋼筋所有線
    foreach (var line in lines)
    { var p0 = line.GetEndPoint(0);
    var p1 = line.GetEndPoint(1);
    var lineInfo = new LineInfo() { LineNo = no };
    LineInfos.Add(lineInfo);
    if (!pointInfo .Any (x => x.IsAlmostEqualTo(p0)))〃獲取
    模型線上的點
    { pointInfo .Add(p0);
    var content += "k," + "kk" + rebarCount + "+" + no + "," +
    Math.Round(p0.X, 2) + "," + Math.Round(p0.Y, 2)+ "," + Math.Round(p0.Z, 2);
    + "," + Math.Round(p0.Z, 2);
    lineInfo.Index1 = pointInfo .IndexOf(p0);
    no++;
    i++;
    return (Result)i;
    }
    else
    lineInfo.Index1 = FindIndex(pointInfo , p0);
    }
    //命令流輸出格式
    string sw = "*get," + "kk" + rebarCount + "," + "kp," + "," +
    "num," + "max" + "\n" + content + "\n" + "ksel,"+ "s," + "kp," + "," + "kk" +
    rebarCount + "+" + no + "," + "kk" + rebarCount + "+" + i + "\n" + "bsplin" + "," +
    ⑥將橋梁BIM模型中獲取到的幾何信息,按照ANSYS可以讀取的命令流的導出, 并以.txt格式進行保存,主要代碼如下:
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    saveFileDialogl.Filter ="文本文件 |(*.txt)";
    saveFileDialog1.FileName = Path.GetFileNameWithoutExtension(doc.PathName) + "數據信息.txt";//輸岀的文件名
    if (saveFileDialog1.ShowDialog() != DialogResult.OK) return Result.Failed;
    4.3.2 石堡川河特大橋模型轉換
    根據以上介紹的轉換思路,在Visual Studio 2019編譯器中,運行編寫完整的代碼, 將運行之后的.dll文件的地址復制到Revit外部插件Add-in Manager中,進行手動運行 此程序實現轉換的功能。
    本文只針對預應力變截面連續剛構橋上部結構來驗證轉換接口的可操作性,從而實 現幾何信息的轉換,部分命令流如下:
    finish
    /clear, nostart
    /prep7
    etjrsolid95
    mp,exf1r3.55e11
    mp,prxyJ,0.2
    mp,de nsj『2.65e3
    mp,alpx,1f1.2e-5
    rj
    mp,ex,2J.95e11
    mp,prxy,乙 0.3
    mp,de nsZ7.85e3 mp,alpxM2f1.2e-5 et,2,link180 r,2f2.38e3f1395/1.95e11 *1.0 k.299,1500.00,2738.89廠 2187.12
    k,300,1500.00,2438.89,-2487.12
    k.301,1500.00廠 2438.89廠2487.12
    kf302,1500.00,-2738.89,-2187.12
    k303x1500.00,-2738.89,-700.00
    kf304,1500.00廠 1063.89廠305.56
    K305J 500.00J 063.89廠305.56
    kf306,1500.00,2738.89,-700.00
    (1)將程序運行之后的命令流保存合適的路徑,打開ANSYS軟件,進行前處理操 作,點擊File菜單中的Read input from命令,讀取該APDL命令流,進行BIM模型與 有限元之間的轉換,如圖4.36 所示。
     
     
    圖 4.36 箱梁模型轉換展示
    (2)將Revit模型中預應力鋼筋模型的數據信息同樣以命令流的格式導出,部分預
    應力鋼筋命令流如下:
    *get,kk15,kp„num,max
    k,kk15+1,406.46,-11.98,-1.12
    k,kk15+2,403.05,-11.98,-1.12
    k,kk15+3,402.68,-11.98,-1.12
    k,kk15+4,402.31,-11.99,-1.12
    k,kk15+5,401.95,-12,-1-11
    k,kk15+6,401.58,-12.02,-1.09
    k,kk15+7,401.21,-12.04,-1.07
    k,kk15+8,400.85,-12.07,-1.04
    k,kk15+9,400.48,-12.1,-1
    k,kk15+10,400.12,-12.14,-0.96
    k,kk15+11,399.76,-12.18,-0.91
    k,kk15+12,399.4,-12.23,-0.86
    k,kk15+13,398.37,-12.37,-0.72
    k,kk15+14,398.1,-12.41 ,-0.68
    k,kk15+1 5,397.83,-12.45,-0.65 ksel,s,kpz/kk15 + 1,kk15+30 bsplin,all
     
    通過讀預應力鋼筋取命令流,創建有限元分析模型,如圖4.37 所示。
     
     
    圖 4.37 預應力鋼筋模型轉換
    4.4主梁有限元模型建立
    大跨度連續剛構橋目前主要采用掛籃懸臂澆筑施工,施工工期長,不確定影響因素 多,為了不影響施工進度,在進行現場施工前,必須對橋梁進行精確的有限元仿真分析 計算,將分析結果用來指導現場施工作業,確保了橋梁施工質量和結構安全,保證橋梁 施工按照計劃順利作業并直至整座橋梁完工。在上一節中實現了橋梁 BIM 模型與有限 元分析模型的轉換,避免了有限元軟件復雜的二次建模過程,提高了建模效率。
    4.4.1 有限元理論分析
    有限元分析的概念是將簡單的問題代替復雜的問題進行求解。它的求解域過程可以 看作由有限個相互子域組成,為每個單元都假設一個近似解,然后推導并求解滿足該近 似解的條件,從而找到問題的解。這個解不是精確解,而是數值解。由于很難獲得大多 數實際工程問題的精確解,因此使用有限元理論不僅具有較高的計算精度,而且還可以 應用于各種不規則的形狀和復雜的邊界條件。因此在工程分析中是比較行之有效的方 法。為了解決不同物理性質和數學模型的問題,有限元法的基本原理都是相同的,一般 包括下面幾個步驟:
    (1) 結構連續體離散化;
    (2) 選擇位移插值函數;
    (3) 單元的力學特性;
    (4) 集合所有單元的平衡方程,從而得到整個結構體的平衡方程;
    (5) 未知節點位移和單元應力通過平衡方程求解。
    4.4.2 有限元模型單元類型
    鋼筋混凝土為一種復合材料,混凝土具有良好的抗壓性能,鋼筋具有良好的抗拉性 能,而結合兩者的優點則可以大大提升材料的強度。為了更加形象地模擬施工過程,使 結果更具有準確性, ANSYS 模型中單元類型與材質的選取要具有合理性。
    有限元軟件中混凝土常用的單元劃分有梁單元和實體單元。梁單元模型中重點分析 單元的力和位移之間的關系。實體單元中重點分析應力-應變所存在的關系[57]。因此, 單元類型的選擇應考慮計算過程、計算精度和材料模型的精度等多種因素。
    通常有三種方式將鋼筋與混凝土結合起來:整體式模型、具有位移協調分離式模型 以及具有界面元素的分離式模型。基于本文研究的方向,兩者結合的方式采用位移協調 的分離式模型,這種組合方式建模比較方便,鋼筋的位置可以根據工程項目的需要任意 布置,同時也可以更直觀的得到鋼筋所受的內力。
    (1)混凝土單元[41]
    本文基于BIM模型快速轉換成ANSYS模型,在ANSYS軟件中選用SOLID95實 體單元來模擬的混凝土。不論是否包含鋼筋,都可以用 SOLID95 單元去模擬三維實體 模型,該單元模擬的模型有很好的拉裂與壓碎的性能。SOLID95單元是3維具有20節 點的實體單元,如圖 4.38 所示。
     
     
    SOLID95 單元可以模擬不規則形狀,不會降低模型的任何計算精度。此單元非常適 合模擬彎曲的模型。該單元一共有20個節點,并且每個節點都具有x,y和z三個方向 的自由度,可以用來模擬空間的任何方向。另外該單元還具有塑性、應力強化、大變形、 徐變、膨脹等能力。
    SOLID95 單元的總應力-應變剛度矩陣的表達式:
    [D] = ;1-£f;|dc ] + £廳[D [ (4.11)
    [i=1 J i=1 i
    其中, Nr ——表示加固材料的數目
    VR——表示加固物的體積比,可以理解為鋼筋的配筋率
    [D ]—表示鋼筋應力應變矩陣
    ]——表示混凝土的剛度矩陣,通過各向同性材料插入各向異性的應力應變關 系得到,表達式為:
     
     
    其中, E ——表示混凝土的彈性模量, N / mm2
    v —— 表示混凝土泊松比
    (2)預應力鋼筋單元[42]
    LINK180單元也被稱為3D有限應變桿單元,被廣泛應用于在工程設計領域,此單 元可以用來模擬鏈桿、索以及桁架等結構。但該單元有一個特點是它可以承受軸向拉壓 應力,但是不能承受彎矩。 LINK180 單元的每個節點有都具有 3 個自由度,包括 x, y 和z方向的平動位移。如圖4.39所示。LINK180還支持彈性、蠕變、Chaboche非線性 強化塑性以及各向同性強化塑性等功能。
     
    4.4.3單元的生死
    模型在分析過程中需要在結構中移除或者加入某些部件,即希望結構模型中的某些 單元“存在”或“不存在”。針對這種情況,用戶可以在加載過程中指定有限的荷載步,利 用單元的生死功能將殺死或者重新激活該單元。當采用單元“死”的功能時,該程序不是 從模型中刪除,而是將單元的剛度矩陣乘以足夠小的系數,一般程序中系數的默認值為 1.0E-6。單元在模型中被“殺死”后,它的單元荷載將變為0,所以單元將不承受任何荷 載的作用,但它仍然存在單元列表中。同樣,被“殺死”的單元的質量、比熱、阻尼以及 其他類似效果的值變為0,單元的應變在被“殺死”的同時也變為0[43]。
    如果想使用該單元,并不是簡單地將該單元直接加到模型中,而是將之前“殺死”的 單元在荷載步中重新激活。當用戶需要某個單元時必須在 PREP7 中生成所要激活的單 元,求解器中不能產生新的單元。一旦單元重新被激活時,它的剛度、質量以及荷載等 參數都會返回到最初的狀態。為了觀察單元形狀的變化情況,應將大變形效應打開 (NLGEOM,ON),單元被激活后,當前的節點相對應的位置,其形狀會發生變化。當 不打開大應變效應時,單元將在最初的位置被重新激活,其單元沒有任何應變變化。
    在前處理階段,創建所有的單元,包括那些即使到荷載結束也不會被激活的單元。 并非所有的單元都有生死功能,具有的哪些單元具有生死單元的功能,可以在 ANSYS 幫助文件中進行查看。
    在 ANSYS 中一般過程包括建模、加載并求解和查看結果三個步驟。加載并求解的 過程需要以下操作:
    (1)第一步加載,在該步中需要選擇分析類型和分析選項
    ①指定分析類型
    ②結構分析中,打開大變形分析開關
    ③打開牛頓 - 拉夫森選項
    ④殺死所有加入到后續荷載步中的單元
    ⑤設置縮減因子數值
    ⑥自由度控制
    ( 2)定義后續荷載步 在后續荷載施工的過程中,用戶可以通過“殺死”或者激活單元來滿足工程的需要。
    在此的過程中,針對實際的工程項目要正確施加和刪除約束以及節點荷載。
    ( 3 )查看結果 在大多數情況下,用戶對于包含不激活或者激活的單元進行操作時,應按照程序標 準過程實施。被殺死的單元的單元剛度矩陣的貢獻可以忽略。但它們沒有被刪除,還是 仍在程序模型中。如果不刪除這些殺死的單元,它們仍然會出現在列表中,對結果有一 定的影響。為了避免對結果的影響建議用 ESEL 命令將不激活的單元剔除選擇集,這樣 就可以忽略被殺死的單元產生的影響。
    4.4.4 模型參數選取
    ( 1 )技術指標
    ①道路等級:高速公路;
    ②設計車速: 80 km/h;
    ③車輛荷載等級:公路-I級;
    ④基本風速: 10 年一遇 19 m/s , 100 年一遇 26.8 m/s;
    ⑤橋面寬度:石堡川河特大橋0.5 m (防撞護欄)+11.25 m (行車道)+2.0 m (中 央分隔帶)+11.25 m (行車道)+0.5 m (防撞護欄)=25.50 m;
    ⑥設計洪水頻率: 1/300;
    ⑦地震荷載:地震動峰值加速度為0.10 g。
    ( 2)結構材料特性
    ①主橋箱梁采用C55混凝土,其力學性能指標見表4.1。
    表 4.1 混凝土力學性能指標
    力學性能指標 C55 混凝土
    彈性模型E (MPa) 3.55X104
    泊松比u 0.2
    容重 ( KN/m3) 26.0
    抗壓強度設計值( MPa) fcd 24.4
    抗拉強度設計值( MPa) ftd 1.89
    抗壓強度標準值( MPa) fck 35.5
    抗拉強度標準值(MPa) fk 2.74
     
    ② 預應力鋼筋
    縱、橫向預應力鋼絞線符合《預應力混凝土用鋼絞線》(GB/T5224-2003)標準的 有關規定,其鋼絞線標準強度fk=1860 MPa,公稱直徑為15.20 mm,公稱截面積為140 mm2,彈性模量為£p=1.95x105 MPa。主橋頂板的縱向預應力鋼束采用OVM15-17錨固 體系,其他部位的縱向預應力鋼束也采用 OVM15-17 錨固體系。橫向預應力鋼束采用 OVM15-3或OVM15-4\OVM15-5錨固體系,負彎矩區域的預應力鋼束采用BM15-4錨 固體系。管道每束局部偏差對摩擦系數的影響系數K=0.0015,松弛系數Z=0.30,管道壁 的摩擦系數卩=0.20。
    4.4.5 主梁有限元模型建立 在主梁分段施工過程中,結構的內力、撓度都在不斷的變化之中,對主梁施工過程 中主要工況進行模擬分析是確保施工順利進行的關鍵。本橋12#?16#墩為主墩,其中 0#號塊長度12 m,每墩兩側各有14個懸臂節段。具有梁段劃分如圖4.40所示。
     
    圖4.40主橋梁段劃分(單位:cm)
     
    本節主要研究連續剛構橋12#墩主橋一個“T”構懸臂施工過程在縱向預應力鋼筋作 用下,橋梁所受的內力及撓度變化。本章選用SOLID95單元模擬混凝土,LINK180線 單元模擬預應力鋼筋。由上節介紹的BIM模型與ANSYS模型轉換的接口,生成懸臂施 工節段1-14#梁段的實體模型如圖 4.41,預應力鋼筋布置如圖 4.42所示。
     
    圖 4.41 懸臂施工節段實體模型
     
     
     
    圖 4.42 懸臂施工節段預應力鋼筋布置
     
    預應力混凝土剛構橋中預應力效應的模擬在ANSYS中是重點和難點,根據ANSYS 幫助文檔模擬預應力效應的方法,本節采用節點耦合法進行模擬預應力鋼筋和混凝土結 合。初應變法進行模擬鋼筋的預應力效應,這種方法的理論是給鋼筋單元設定一個初始 的拉應力,當拉應力被釋放后,單元會將收縮并發生變形,因此初始應變將有助于鋼筋 產生預張拉的效果。如圖4.43為施工節段混凝土和預應力鋼筋節點耦合圖。
     
    圖 4.43 混凝土與預應力鋼筋耦合圖
    該橋施工模擬計算方法按照施工和設計的施工情況,對零號塊底部進行 X、 Y、 Z 三個方向的約束。將施加的預應力荷載應用于施工階段進行計算,從而得到主梁在每個 施工階段中結構的內力和變形等。
    4.5主梁有限元仿真計算
    (1)施工工況建立 根據橋梁的施工工藝,石堡川河特大橋主橋懸臂施工過程共劃分 45 個施工工況, 各個施工工況內容如表 4.2。
    表 4.2 石堡川特大橋懸臂施工工況及施工內容
    施工階段 施工內容及施工工藝
    CS1 墩身施工
    CS2 安裝 0#塊托架
    CS3 澆筑 0#塊
    CS4 安裝 1#掛籃
    CS5 各墩同步對稱澆筑 1#塊
    CS6 張拉 1#塊
    CS7?CS45 從 2?14#梁段均按照 CS4~CS6 操作
    過程循環依次完成
     
    (2)主梁有限元分析結果
    ① 應力計算結果
    主梁分段施工過程中,結構安全是重中之重,對關鍵截面的應力監控是非常必要的。 在施工過程中和橋梁完工的狀態下,橋梁結構的應力狀態是否與設計的一致是施工監控 的關鍵。一般采用對結構應力實時監控的方式去及時了解應力所處的狀態,如果發現實 際的應力值與理論應力值的差值超限,應該立即停止下一施工階段的實施。針對異常的 情況,應組織各參與方會審并進行原因的查找,通過相應的措施使誤差值在允許的理論 值范圍內變化。結構應力的變化不易于被發現,如果應力監控不及時,將會給結構帶來 嚴重破壞,更有甚的橋梁將發生坍塌。所以,在橋梁施工的過程中,必須嚴格監測結構 應力。
     
    石堡川河特大橋 12#墩主梁分為 14個施工階段,由于篇幅所限,本章節選取第 3、 7、10、14 個施工工況,在自重和預應力的作用下,分析懸臂根部的箱梁頂板正應力沿 橫向分布情況。
    圖4.44?4.45為T構在懸臂施工第3、7、10、14個施工工況下懸臂根部截面頂板 橫向正應力分布情況。橫坐標為選取的測點到頂板中心的距離,縱坐標為表示應力值的 大小。
    -3.0 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I
    -8 -6 -4 -2 0 2 4 6 8
    頂板截面橫向位置/m
    圖 4.44 3#、 7# 塊結束懸臂根部截面頂板正應力橫向分布情況
    圖 4.45 10#、14#塊結束懸臂根部截面頂板正應力橫向分布情況
    分析上述圖可知:不同施工階段,箱梁截面頂板正應力在橫向的分布趨勢有很大的 相似性;從橫向看,懸臂根部截面的正應力變化規律大致表現出一致性,即橫截面正應 力從翼緣板邊緣到腹板和頂板交界處先增大,到腹板處正應力達到最大,這是因為在腹 板與頂板交界處預應力束到應力集中的原因,隨后腹板到頂板中心處正應力在逐漸減 小。縱向看,壓應力的數值基本上隨著梁塊的延續不斷增大,最大壓應力-13.055MPa, 仍處于合理范圍內。總體而言,在邊腹板與頂板交界處應力最大。
    ② 線形計算結果
    主梁懸臂施工過程中,各個已完成施工過程的梁段,其累計撓度值是立模標高的重 要依據,而立模標高的合理設置直接決定了橋梁最終成橋后主梁線形的理想狀態。所以, 對懸臂施工過程中各主要施工工況下主梁的變化值必須進行精確計算,以確保主梁線形 符合設計要求。
    在施工過程中,為更好地觀察主梁各梁段標高的變化情況,對已施工完成的梁段, 其測點標高應該進行一次全面測量。標高測量的時間最好在選擇在日出之前,根據現場 實際情況選擇相對穩定的溫度狀態下進行測點標高的測量。
    在主梁各梁段施工完成后,對主梁實際線形狀況都進行了分析,限于篇幅,本章就 12#墩最大懸臂狀態下,主梁線形進行分析。有限元分析模型如圖4.46所示。最大懸臂 狀態下邊跨和中跨主梁累計撓度曲線圖如圖 4.47所示。
     
    圖 4.46 最大懸臂狀態下主梁線形云圖
     
     
    圖 4.47 最大懸臂狀態下邊中跨主梁累計撓度曲線圖
    4.6本章小結
    (1)鑒于BIM在橋梁工程中應用,運用BIM二次開發技術,借助Visual Studio2019 集成開發環境,利用C#語言和Revit API程序接口對Revit軟件進行二次開發。基于石 堡川河特大橋開發出一款主梁快速建模插件,擴展了 Revit軟件中Ribbon界面,增加了 橋梁快速建模模塊,極大提高了橋梁建模效率,進一步探究了 Revit軟件在橋梁工程中 得適用性。
    (2)依據 Revit 軟件中 Dynamo 可視化編程插件,利用 Python Script 編程語言,批 量快速創建預應力鋼筋族,更加完善了 Revit軟件在橋梁工程中的應用。
    (3)闡述了 BIM模型與有限元模型交互的存在的現狀,探討了橋梁BIM模型與有 限元模型之間數據信息交互的轉換思路,采用二次開發的方式進行Revit軟件和ANSYS 軟件之間模型轉換的研究,實現了石堡川河特大橋主橋BIM模型成功轉換為ANSYS有 限元分析模型,并進行了施工過程有限元分析計算。驗證了利用二次開發將BIM模型 轉成 ANSYS 模型的實用性和高效性。
    5基于 BIM 連續剛構橋施工監控信息管理研究
    隨著我國 BIM 技術的發展和信息化速度的加快, BIM 技術在橋梁施工監控管理中 的研究也在不斷深入。結合BIM信息化技術的特點,可建立3D可視化和面向施工階段 的監控預警。將監控數據集中到信息管理平臺,可以還原最真實的橋梁工程中各構件結 構狀態,通過模型的整合和信息的匯總,對橋梁施工過程進行監控管理。將傳統人工監 控技術與基于 BIM 的監控技術相結合,將海量的數據信息進行存儲和傳遞,能夠幫助 各參與方及時發現異常情況。針對異常情況對施工過程進行及時調整,提高施工質量, 形成完整的以及高時效的信息管理機制。
    近幾年,針對 BIM 技術信息管理的研究成為專家及學者專注的熱點。 2017 年,唐 清東[44]結合BIM技術,利用MFC和ACI/HOOPS的幾何模型,基于大跨度懸索橋開發 一款可視化監控管理平臺,并通過將 BIM 模型和施工監控相結合,實現了監控信息的 可視化和動態變化的集成,為BIM技術在大跨度橋梁監控中的應用提供了顯著的參考。 2018年,何欣[45]將BIM技術應用于鋼桁拱橋施工監控中,從而實現了對怒江四線特大 橋施工過程的可視化展示。利用可視化編程插件Dynamo,編寫了一套可視化施工監控 預警程序,并討論了該程序的多功能性。利用C#編程語言開發了基于Web的數據管理 平臺,為鋼拱橋的施工監控信息管理提供了很好的參考。2019年,曲強龍[14]通過Revit 二次開發技術,結合計算機編程語言C#,開發了基于BIM小清河特大橋主橋施工監控 數據管理平臺,該平臺實現了三維可視化的動態監控,更加方便直觀地查看橋梁各個施 工階段的狀態。
    本章主要研究利用Revit二次開發技術,對預應力連續剛構橋施工監控信息管理的 研究,將監測數據進行存儲、修改和預警分析,通過監控數據分析的結果,指導橋梁施 工順利進行。
    5.1信息管理概述
    本文依托石堡川河特大橋,由于工程量較大、施工過程以及工程管理難度較大,在 施工監控過程中產生海量的監測數據比較碎片化,不能高效、快速的對數據信息進行統 一管理。因此引入 BIM 技術輔助石堡川河特大橋的主橋施工監控,可實現施工監控的 信息化。以 BIM 模型為載體,結合實際施工過程和工藝,進行工程項目的施工監控管 理,從而實現動態可視化的模型及施工過程表達。
    5.1.1 信息管理設計思路
    目前,建筑工程信息化的發展已成為國家有關部門高度關注的方向。施工過程是整 個生命周期內最為重要的一環。由于 BIM 技術貫穿于橋梁整個生命周期,因此它可以 在橋梁設計、施工以及運營和維護的各個階段實現信息的傳輸和共享。BIM技術的應用 將豐富橋梁施工監控的過程,對于每個施工階段,監控數據分別進行分析處理,并以更 加直觀、高效的管理方法對監控數據進行分類,使得施工參與者之間的信息傳遞更加便 捷,也為橋梁運營和維修階段提供數據支持。
    (1) 開發需求
    主梁線形以及應力監控結果隨著不同的施工工況會發生相應的變化,將不同施工工 況的監測結果融合到 BIM 模型中,進行模擬橋梁懸臂施工過程中測點值得變化,從而 更好的指導下一施工階段過程實施。綜合分析,所開發的插件應具有模擬施工階段工況, 頂板線形監控數據,主梁應力監控數據以及預警提示功能。為了直觀觀察測點監測數據 信息的變化結果,可以以曲線圖的形式表示,當實測值與理論值的差值超過某一界限值, 將在三維視圖中以不同的顏色可視化現實,從而高效直觀的觀察到某一施工階段測點的 異常,方便施工單位以及設計單位等參與方針對此異常做出相應的調整。
    (2) 信息管理插件的開發框架 根據開發需求以及本章節需要達到的研究目的,本文開發的橋梁施工監控信息管理插件 主要開發框架如圖 5.1 所示。
     
    圖 5.1 主要開發框架
    5.1.2 數據管理功能模塊介紹
    在施工監控管理模塊應用之前,為了更好模擬橋梁工程實際的施工過程,首先將梁 段以及測點添加編碼,將施工監控過程和量測位置等信息賦予 BIM 模型中,使施工監 控信息更加可視化、智能化。通過建立應力測點族和高程測點族與橋梁BIM模型融合, 根據選擇的施工工序,在施工信息監控系統中可以進行施工過程的可視化展示。將測點 模型和施工階段監測信息進行整合,并且通過不同顏色來判斷測點數據是否出現預警超 限,以此更加方便橋梁施工監控中梁體測點異常位置查找。這些功能是利用Revit二次 開發技術將各測點數據信息與 BIM 模型更好的結合在一起實現的。梁段應力測點和高 程測點如圖5.2所示。注:▽表示高程測點,UD表示應力測點。
     
    圖 5.2 梁段應力和高程測點
     
    橋梁施工監控信息管理系統模塊介紹如下:
    ( 1 )項目概況模塊
    為了綜合性介紹某個工程項目的基本情況,方便建設單位、設計單位以及施工單位 等項目參與方可以及時了解工程概況。針對該項目開發了項目概況模塊如圖5.3所示。
    石堡JII河大橋跨越石堡JII河,起點樁號K49+716.00,終點樁號為K21 +254.00,本橋橋位在K20+364.531之前位于R=5000的曲線上,中間位 于:直線上,K20+844.531 -K21 +004.531之間位于緩和曲線上,K21+004.531之后位于R=1250的曲線上,上部結構為(65+4x120+65) m,橋梁全長1538-00米,最大橋高136.9米,主橋最大墩高129.0^°主橋上幅構為(65+4x120+65) m預應力混凝土連續剛構,由單箱 單室箱形斷面組成.箱頂板競12.65m,底板克6.5m,翼緣板懸青長度3.075m。箱梁跨中及邊跨現澆段梁高2.8m,箱梁根部高度為7.2m,其 間梁高按1.8次拋物線變化。箱梁頂板厚0.3m,底板厚康由跨中0.32m按1.8〉煩物舷化至根部0.9 m,產板厚跨中段為0.5m,根腿化為 0.6m, 驅段長為3.5m。橋題部范圍內箱題板厚0.5m,底板厚1.1m,腹板厚0.9m。各單"T"箱梁除0號塊外分為14對梁段,沿箱梁縱向長度 為6x3.5m+8x4.0m.晦塊總長12.0m,中跨和邊跨合龍段長度為2.0m,邊跨現澆段長度為3.89m.橋墩頂部范圍內箱梁頂板厚0.5碌,底 板厚1.10米,腹板厚0.70米。橋墩頂部箱梁內設3道橫隔板,橋面橫坡采用不同腹板高度予以調整。主橋箱梁除墩頂快件外,各單"T"箱梁均采 用掛籃懸青澆筑法施匸分14對梁段”即6x3.5m+8x4.0m.橋墩墩頂塊件總托12.0m,中跨和邊跨合龍段長度為2.0m,邊跨現澆段長度為 3.89m。主梁采用縱,橫,豎向三向預應力體粟。
     
    圖 5.3 項目概況模塊
    ( 2)監控流程 在橋梁施工監控信息管理模塊中,為了更形象的模擬連續剛構橋的施工過程,需要 將施工工序內置到插件中。在插件中的監控流程操作界面中包括了選擇橋墩編號、懸臂 施工的工況以及相對應工序的描述等模塊,并在相應的施工工序操作界面中可以進行數 據填寫等操作。監控流程操作界面如圖 5.4 所示。
    橋魅 X
    雌擁 橋墩褊號 12#
    issm標 UWS述 狀態 操作
    監測
    結構舷 1 L12#CS_1 陽換工 二衲始
    | 2 L12#CS_2 |安裝1#掛籃 二新始 1
    | 3 L12#CS_3 澆筑 二初始
    4 L12#CS_4 I張拉1#^鋼束 二新始
    5 L12#CS_5 健籃前移 二初始
    6 L12#CS_6 澆筑2#ft豳 二林始 1
    | 7 L12#CS_7 |張拉2#塊鋼束 二新始
    8 L12#CS_8 |掛籃前移3#^梁段 二初始
    | 9 L12#CS_9 |澆筑
    10 L12#CS_10 I張拉3#塊鋼束 二新始
    11 L12#CS_11 |掛籃前段 林始
    12 L12#CS_12 二新始
    13 L12#CS_13 |張拉4#塊鋼束 二新始
    14 L12#CS_14 |掛籃前移5#W段 二新始
    15 L12#CS_15 陰筑5楓豳 二初始
    16 L12#CS」6 |張拉5#塊鋼束 二新始
     
     
    圖 5.4 監測流程操作界面
     
    隨著施工階段的推進,監測人員可以將測點數據及時進行整理,便于實時把握橋梁 在施工過程中橋梁結構狀態的變化。在點擊數據填寫操作后,數據填寫界面中會顯示當 前橋墩編號、施工工序編號以及工序描述等信息,便于監測人員確認是否操作當前的施 工過程。監測人員根據選擇的測點編號,手動輸入或者直接載入Excel表格中測點數據 進行高程測點及應力測點數據的填寫。此時界面中會顯示已經完成的梁段編號以及測點 理論值、實測值等信息。數據填寫界面如圖5.5所示。
    R斕磅 - □ x
    橋墩編號:12#施工工篩號:L12#CS_4工序:張拉鋼束 |加飜鵬
    車,測點鋁號測點0
    +添加| | -刪除|
    單元編號 理論高程 實測高程
    1 ALSTOO 1009.14 1009.141 0.001
    2 ARSTOO 1009.142 1009.140 -0.002
    3 ALST01 1009.125 1009.122 -0.003
    4 ARST01 1009.208 1009.212 0.004
     
     
    圖 5.5 數據填寫界面
    (3)監控指標
    大跨徑連續剛構橋懸臂施工過程中,線形監控對于保證橋梁施工過程安全并最終達 到理想成橋線形起重要作用。應力監控是確保橋梁施工過程中結構受力狀態在合理的范 圍之內,對橋梁能否正常投入運營起關鍵性作用。由于現場實際監控線形數據和應力數 據存在監管不到位、弄虛作假以及信息不能及時接受等諸多問題。基于 BIM 信息化技 術的監控信息管理將有效解決存在的問題。對于現場測量數據是否超出一定的閾值,根 據規范可以根據主梁部位的不同設置不同的預警值,并關聯的 BIM 模型高程測點以及 應力測點模型中。監控指標設置如圖5.6所示。
     
     
     
     
     
    圖 5.6 監控指標設置界面
     
    (4)監測數據 懸臂施工階段測點數據的輸入,將根據施工階段進行監測信息的集成,用來描述當 前所處于的施工狀態,包括工況的描述、單元編號、理論值和實測值的數據信息。監測 數據的界面如圖 5.7 所示。
     
    圖 5.7 監測數據界面
     
    (5)結構狀態
    施工過程中結構安全是橋梁施工監控的主要內容。在施工控制中,有必要根據實際 情況對橋梁結構安全進行嚴格控制。選擇需要查看的施工階段,三維視圖中會顯示當前 已經施工完成的梁段,進行模擬橋梁的施工過程,如圖 5.8 所示。根據測點編號查看圖 表,可以直觀觀察到理論值、實測值和誤差值的變化趨勢,分析的結果以圖表的形式表 現,便于各參與方的查看。數據圖表顯示如圖 5.9~5.10 所示。
     
     
     
    圖 5.8 結構狀態操作界面
     
     
     
    圖 5.9 理論值和實測值對比圖表
     
     
     
     
    圖 5.10 誤差值曲線圖
    當結構的線形變化值或者應力變化值超過了監控指標設置的閾值,根據該施工階段 測點的理論值與實測值的差值分析,如果誤差值在范圍之外,則該測點為異常狀態,結 構狀態界面中三維視圖中會使用API()方法將該測點變紅并進行定位。異常測點預警 狀態的顯示如圖 5.11 所示。
     
    5.2基于BIM施工監控數據管理模塊的開發
    本章主要研究施工過程中監控數據的管理。施工監控數據主要以表和曲線圖的形式 顯示。對于客戶端Revit插件的操作,需要調用Visual Studio中WPF應用程序開發工具。 施工監控數據信息管理主要包括兩方面內容:一方面是載入或者輸入測點的監控數據, 并將數據與Revit中測點模型進行融合,另一方面是利用施工監控數據進行結果分析。
    5.2.1信息管理開發基礎
    隨著工程設計行業信息化步驟的加快,不同工程領域設計師需求的功能不同。為了 擴大Revit軟件在工程領域的應用范圍,Autodesk公司推出Revit應用程序編程接口即 Revit API。設計師可以通過開發Revit插件實現一定的功能,對模型的數據信息進行存 儲、查看、修改以及預警分析等操作。此外,也可以通過API和.NET編程技術來創建 人機交互的界面,方便用戶更好地使用該管理系統。通過擴展Revit模塊功能區,使得 用戶可以直接在Revit UI界面上實現數據驗證及其他操作自動化,提高數據處理便捷性 以及模型設計的高效性。本章基于.NET Framework 4.7架構環境,采用WPF (Windows Presentation Foundation)客戶端應用程度,在Visual Studio 2019中運用C#編程語言來 對Revit進行二次開發。關于Revit二次開發的技術已在第三章中介
    (1)WPF 系統
    WPF是Microsoft新一代圖形系統,運行在NET Framework 3.0及以上版本,為用 戶界面、 2D/3D 圖形、文檔和媒體提供了統一的描述和操作方法。 WPF 不僅帶來了前 所未有的3D界面,而且其圖形向量渲染也大大改進了傳統的2D界面。WPF相對于開 發Windows客戶端的來說,它提供了超豐富的NET UI框架,集成了矢量圖形,豐富 了流動文字支持,3D視覺效果和強大無比的控件模型框架。
    使用 WPF 技術創建更友好的客戶端界面時,最重要的是熟練使用 XAML 語言, XAML 語言是專門用于 WPF 技術中設計 UI 的語言。 XAML(Extensible Application Markup的簡寫)是一種用于實例化.NET對象的標記語言。XAML文檔主要用于構建 WPF用戶界面,換句話說,它定義了組成WPF應用程序窗口的面板、按鈕以及各種控 件的布局。
    5.2.2施工監控操作模塊設計
    隨著科學技術的發展,BIM技術應用在橋梁工程的建設項目越來越多。為了更好模 擬連續剛構橋施工過程,有必要將當前施工梁段中產生的數據更好與 BIM 模型結合。
    首先將 BIM 模型進行編碼,在插件中進行模擬橋梁施工過程,程序主要通過代碼獲取 BIM 模型編碼進行執行此操作。以下主要介紹該插件的核心代碼:
    ( 1)施工階段模擬代碼實現
    在 Revit 軟件中需要過濾出需要操作的 BIM 模型文檔,代碼如下:
    public class FilterUtil
    { public static IEnumerable<Element> FilterType(Document revitDoc,
    Type filterType)
    { FilteredElementCollector filterElements = new
    FilteredElementCollector(revitDoc);
    filterElements.OfClass(filterType);
    return filterElements.ToElements();
    }
    } 為了達到三維模型中顯示的梁段和測點與實際施工過程相同,通過選擇施工節段不 同,后臺程序將獲取模型所有梁段和測點,如果梁段編號大于施工階段號,則使用 Revit 的接口函數HideElements ()隱藏該梁段。最后把所有大于該編號的梁段和測點都隱藏 掉,留下小于該編號的梁段和測點,形成靜態的施工模擬。顯示所有梁段和測點的主要 代碼如下:
    var allBeams = FilterUtil.FilterType(this.revitDoc, typeof(FamilyInstance)) .Cast<FamilyInstance>()
    .Where(e => e.LookupParameter(” 編號")!= null
    &&
    e.Symbol.get_Parameter(BuiltInParameter.OMNICLASS_CODE).AsString().Contai ns("23.25"));
    var allBeams = FilterUtil.FilterType(this.revitDoc, typeof(FamilyInstance))
    .Cast<FamilyInstance>()
    .Where(e => e.Name.Contains("測點"));
    if (show && allBeams.Count() > 0 && allBeams.Count() > 0) {
    doc.ActiveView.UnhideElements(allBeams.Select(s =>
    s.Id).ToList()); doc.ActiveView.UnhideElements(allBeams.Select(s =>
    s.Id).ToList());
    }
    當梁段編號大于施工階段號,則使用Revit的接口函數HideElements ()隱藏該梁 段,主要代碼如下:
    {
    var qiaodunToHide = allBeams.Where(e => int.TryParse(e.LookupParameter("編號 ”).AsString().Split(' #')[0], out int no) && no > qiaoNoToHide);
    var qiaodunToShow = allBeams.Where(e => int.TryParse(e.LookupParameter("編號 ”).AsString().Split(' #')[0], out int no) && no
    <= qiaoNoToHide);
    List<FamilyInstance> cedianToHide = new List<FamilyInstance>();
    foreach (var mPoint in allBeams) {
    if (qiaodunToShow.Any(q => PointUtil.IsPointInArea((mPoint.Location as LocationPoint).Point, q.get_BoundingBox(doc.ActiveView).Min, q.get_BoundingBox(doc.ActiveView).Max))
    && mPoint.LookupParameter(”測號")!= null
    && 測點.LookupParameter(” 測號 ”).AsString() != null && mPoint.LookupParameter(” 測號").AsString().Contains(cedianNoToHide.ToString())
    )
    { continue;
    }
    else {
    cedianToHide.Add(mPoint);
    } }
    if (qiaodunToHide.Count() > 0)
    doc.ActiveView.HideElements(qiaodunToHide.Select(s => s.Id).ToList());
    if (cedianToHide.Count() > 0) doc.ActiveView.HideElements(cedianToHide.Select(s
    => s.Id).ToList());
    }
    ( 2)監控指標代碼實現
    橋梁施工監控過程中主要有高程以及應力的預警。通過設置異常閾值,將預警與高 程測點和應力測點進行綁定,實現預警報告與 BIM 模型融合。根據監測數據,程度將 判斷主梁的結構狀態是否超限。監控指標與主梁結構進行關聯的代碼如下:
    monitorlists= new ObservableCollection<MonitorTarget>();
    monitorlists.Add(new MonitorTarget() { 結構部位 = "主梁", 關聯數據
    = " 高程 " });
    monitorlists.Add(new MonitorTarget() { 結構部位 = " 主梁", 關聯數據
    = " 應力 " }); 在監控指標表格中點擊編輯,彈出指標編輯窗口,主要代碼如下: private void SetJianKongData_Click(object sender,RoutedEventArgs e)
    {
    this.Hide();
    var view = new ZhiBiaoEditView((sender as Button).DataContext as
    MonitorTarget);
    view.ShowDialog(); this.ShowDialog();
    } 在彈出的監控指標的編輯框里,進行預警范圍的輸入,代碼如下:
    private void Save_Click(object sender, RoutedEventArgs e) {
    if (!double.TryParse(tb_1_1_min.Text, out double min1)
    && !double.TryParse(tb_1_1_max.Text, out double max1))
    {
    MessageBox.Show(”范圍值不對,請檢查”); return;
    }
    var m = MonitorTarget;
    if (MonitorTarget.warnScope == null)
    MonitorTarget.warnScope = new MonitorRange();
    MonitorTarget.warnScope.rangeOnemin = min1;
    MonitorTarget.warnScope.rangeOnemax =
    double.Parse(tb_1_1_max.Text);
    MonitorTarget.range1Str =
    MonitorTarget.rangeStr(MonitorTarget.warnScope);
    MonitorTarget.range1Str =
    MonitorTarget.rangeStr(MonitorTarget.warnScope);
    this.Close();
    }
    5.2.3施工監控結果分析模塊設計
    ( 1)預警分析代碼實現
    根據施工階段,選擇測點,點擊預警分析,程序使用LookupParameter (-單元編號 ").AsString()自動讀取測點的參數,如單元編號、測號,把測點篩選形成目標集合, 其他測點使用函數HideElements()進行隱藏。對目標測點的理論值、實測值以及誤差 值進行分析,如在閾值之外將使用封裝好的方法進行預警變色,并自動定位。 預警變紅函數的代碼如下:
    public static void FillColor(Autodesk.Revit.DB.View view, FillPatternElement
    fillPatternElement, ElementId elementid, Color color)
    {
    OverrideGraphicSettings overrideGraphicSettings = new
    OverrideGraphicSettings();
    overrideGraphicSettings = view.GetElementOverrides(elementid); overrideGraphicSettings.SetProjectionFillPatternId(fillPatternElement.Id); overrideGraphicSettings.SetProjectionFillColor(color); view.SetElementOverrides(elementid, overrideGraphicSettings);
    }
    根據//紅施色工顯工示序監以測點及測點和單元編號顯示紅色測點,主要代碼如下:
    private void SensorsOverRun(Document doc, Autodesk.Revit.DB.View
    view, string gongxuNo)
    {
    //var intersectElements =
    RevitHelper.FindIntersectElements(selectedElement, doc);
    var sensorsOverRun = ElementJudge.GetModelElement(doc)
    .Where(s => s is FamilyInstance)
    .Where(s => s.Name.Contains("測點"))
    .Where(s => s.LookupParameter("單元編號")?.AsString()==
    gongxuNo);
    foreach (var sensor in sensorsOverRun)
    {
    try
    {
    var pattern = RevitHelper.GetFillPatternElement(doc);
    RevitHelper.FillColor(view, pattern, sensor.Id, new
    Autodesk.Revit.DB.Color(255, 0, 0));
    }
    catch (Exception ex)
    {
    System.Diagnostics.Debug.Write(ex.Message);
    continue;
    }
    }
    RevitHelper.ShowElements(this.revitUIDoc,
    sensorsOverRun.Select(s => s.Id).ToList());
    }
    選擇高程或者應力,選擇編號,點擊預警分析,程序將該工序編號的監測數據的誤 差值與監控指標的范圍做分析,如果誤差值在范圍之外,則該測點為異常狀態,使用 API()方法將該測點變紅和定位。獲取監測指標的最小值和最大值主要代碼如下:
    var view3d = FilterUtil.FilterType(this.revitDoc, typeof(View3D)).FirstOrDefault(v
    => !(v as View3D).IsTemplate) as View3D;
    var jiankongDatas = monitorFlow.FirstOrDefault(s => S.施工工序編
    號 == 工序編號 );
    if (jiankongDatas != null)
    {
    var min = rb_gaocheng_4.IsChecked.Value ? this.
    monitorlists.FirstOrDefault().warnScope. 預警小
    : this. monitorlists.LastOrDefault().warnScope. 預警小;
    var max = rb_gaocheng_4.IsChecked.Value ? this.
    monitorlists.FirstOrDefault().warnScope. 預警大
    : this. monitorFlow.LastOrDefault().warnScope. 預警大;
    }
    篩選高程和應力測點誤差值在范圍外的測點,對這些測點進行變色和定位,以高程 測點誤差值進行敘述,主要代碼如下:
    using (Transaction colorTran = new Transaction(this.revitDoc, "異常監測"))
    {
    colorTran.Start();
    ShowQiaoduns(this.revitDoc, true, 0, 0);
    ShowQiaoduns(this.revitDoc, false, int.Parse(工序編
    號 Split('_')[1]), int.Parse (測點.Split('點')[1]));
    if (rb_gaocheng_4.IsChecked.Value)〃 高程預警
    {
    var mmonitorType = monitorType .高程;
    var datasOver = jiankongDatas .測點數據
    表.Where(s => s.數據類型 ==mmonitorType)
    .Where(s => double.TryParse(s .實測值,out
    double d))
    .Where(s => double.Parse(s .誤差值)> max ||
    double.Parse(s .誤差值)< min)
    .Select(s => s.單元編號)
    .Distinct();
    foreach (var item in datasOver)
    SensorsOverRun(this.revitDoc, view3d,
    item);
    }
    }
    ( 2 )繪制曲線圖
    在結構狀態界面中,通過選擇橋墩編號,以及施工工序,進行高程或者應力的折線 圖繪制。點擊圖表,程序按照梁段上選擇的測點號,兩邊擴展編號的規則,將目標測點 的理論值、實測點以及誤差值數據導入到LiveCharts庫,利用其繪制函數,繪制曲線圖。
    首先定義X軸,將獲取的X坐標封裝成List ()列表,代碼如下:
    XLabels = new List<string> { };
    對于理論值、實測值和誤差值X軸的增加的數據代碼類似,這里以X軸增加理論 值的數據代碼進行示例,主要代碼如下:
    var lilunCV = new ChartValues<ObservableValue>();
    foreach (var item in this. 測點數據 )
    {
    if (double.TryParse(ite m.理論值.ToString(), out double d))
    {
    lilunCV.Add(new ObservableValue(Math.Round(d, 3))); XLabels.Add(item.單元編號);
    }
    }
    為了使X軸看起來美觀,這里對X軸顯示進行了設置,代碼如下:
    chart0.AxisX.Add(new Axis
    {
    Labels = XLabels,
    Separator = new LiveCharts.Wpf.Separator
    {
    Step = 1,//X軸每個間距為1
    IsEnabled = false
    },
    LabelsRotation = 15//X軸文字顯示方向為15度,也即斜下方
    });
    圖表中Y軸顯示設置,選用了 LegendLocation枚舉類,通過此類將鼠標放置在折線 圖的任何位置,窗口會顯示此點的理論值、實測值以及誤差值的數值,上方顯示標識代 碼如下:
    chartO.LegendLocation = LegendLocation.Top;//上 方顯示標識
    繪制曲線圖,以理論值的曲線圖實現過程進行示例。完整代碼如下:
    private void draw2()
    {
    XLabels = new List<string> { };
    var lilunCV = new ChartValues<ObservableValue>(); foreach (var item in this. 監測顯示數據 )
    {
    if (double.TryParse(ite m.理論值.ToString(), out double d)) {
    lilunCV.Add(new ObservableValue(d)); XLabels.Add(item.單元編號);
    }
    }
    chart0.Series.Add(new LineSeries
    {
    Values = lilunCV, DataLabels = true, LabelPoint = point => point.Y + " ",
    Title = "理論值", FontSize = 15
    });
    chart0.AxisX.Add(new Axis {
    Labels = XLabels, Separator = new LiveCharts.Wpf.Separator
    {
    Step = 1,
    IsEnabled = false
    },
    LabelsRotation = 15
    });
    chart0.LegendLocation = LegendLocation.Top;
    }
    5.3施工監控信息管理插件的應用
    預應力連續剛構橋主梁的每個施工階段都需要監測和測量箱梁頂板和底板的撓度 和應力變化,從而為控制分析提供數據支持,及時糾正橋梁當前所處的狀態,確保橋梁 結構安全。本文以石堡川河特大橋主橋為工程背景,主要研究施工過程中主橋線形和主 梁應力兩部分的信息管理。本節以石堡川河特大橋12#墩懸臂施工監控為研究對象,對 施工監控數據管理插件的應用做出說明。
    5.3.1 石堡川河特大橋主梁編碼 橋梁構件的分類編碼是橋梁工程信息分類編碼的重要組成部分。對信息模型進行分 類和編碼時,將有助于快速建立橋梁模型并集成其它信息。因此,在使用BIM技術時, 有必要對橋梁工程中的所有構件進行分類和編碼。構件分類和編碼是根據某些原理和方 法進行區分和分類,例如構件的屬性或者特性等,然后為它們賦予易于計算機和人識別 和處理的代碼。構件分類應遵循科學性、系統性以及兼容性等原則。構件編碼的作用是 標識和分類,其應遵循規范性、合理性、唯一性以及實用性等原則[46]。
    ( 1)梁段編碼 以石堡川河特大橋12#橋墩懸臂施工過程中上部結構編碼為例,梁段的編碼如表5.1 所示。
    表 5.1 石堡川河特大橋 12#橋墩上部結構編碼
    編碼 12#橋墩小里程側 編碼 12#橋墩大里程側
    ALST00 0#梁段 ARST00 0#梁段
    ALST01 1#梁段 ARST01 1#梁段
    ALST02 2#梁段 ARST02 2#梁段
    ALST03 3#梁段 ARST03 3#梁段
    ALST04 4#梁段 ARST04 4#梁段
    ALST05 5#梁段 ARST05 5#梁段
    ALST06 6#梁段 ARST06 6#梁段
    ALST07 7#梁段 ARST07 7#梁段
    ALST08 8#梁段 ARST08 8#梁段
    ALST09 9#梁段 ARST09 9#梁段
    ALST10 10#梁段 ARST10 10#梁段
    ALST11 11#梁段 ARST11 11#梁段
    ALST12 12#梁段 ARST12 12#梁段
    ALST13 13#梁段 ARST13 13#梁段
    ALST14 14#梁段 ARST14 14#梁段
     
     
    為石堡川河特大橋主橋構件進行分類和編碼后,編碼成為橋梁 BIM 模型構件的唯 一標識,以此作為對構件信息進行管理,提高信息管理的效率。
    (2)測點編碼 針對石堡川河特特大橋測點的布置情況已在第二章進行詳細的敘述,本節不在贅 述。編碼是測點的唯一識別碼,在施工過程中方便對測點數據進行管理。根據測點的屬 性、測點所在的梁段號以及橋跨布置等進行測點的編碼。本章高程測點的編碼用所在的 梁段和測點號進行編碼。如單元編號ASLT06,測號1表示高程測點在邊跨6#梁段上的 測點 1。對于應力測點的編碼和高程測點編碼相似,這里不在贅述。
    (3)構件模型項目參數的添加
    在 Revit 軟件中項目參數可以用來管理相同類型族文件的屬性信息,可以根據實際 項目的需求對族文件屬性信息進行添加或者刪除。對于石堡川河特大橋族文件的項目參 數的添加過程如下:
    在 Revit 中點擊需要進行編碼的梁段,在工具欄中管理選項卡中,點擊項目參數進 行編輯操作,為項目參數重新命名,并進行參數分組,最后為族文件選擇選擇類別。梁 段項目參數添加如圖 5.12 所示。梁段編碼如圖 5.13 所示。這里以高程測點編碼為例, 應力測點編碼與之相似,測點編碼如圖 5.14 所示。
     
     
     
    圖 5.12 梁段項目參數添加
     
     
    圖 5.13 梁段編碼
     
     
    圖 5.14 高程測點編碼
    5.3.2主梁線形監控數據管理模塊的應用
    對于橋梁懸臂施工過程中,某一梁段澆筑完成后,用戶可以通過選擇橋墩編號和施 工階段,查看每一個己經施工的梁段頂板高程實測值與理論值對比情況。本節主要以12# 橋墩縱向中心線處頂板高程測點進行分析。如圖5.15所示為12#墩位置9#梁段頂板高程 測量完成后,對測點監控數據的整理,圖 5.16所示當 9#梁段張拉完成后,已經完成梁 段在三維視圖中顯示,其他的梁進行隱藏。圖5.17所示9#梁段張拉完成后理論值和實
    測值的對比分析。圖 5.18 所示誤差值是指實測值與理論值的差值的曲線圖。根據規范取
    L/5000 (L>100m),確定預警值范圍為(-0.024m,0.024m)。
    R數據昨 - □ X
    橋墩編號:12#施工3籬:L12#CS 28 Ur:張拉9#塊鋼束 |加腳揭
    測點編號I測點0
     
    單族號 理詒高程 實測高程 謀差值
    6 ARST02 1009.225 1009.227 0.002
    7 ALST03 1009.097 1009.102 0.005
    8 ARST03 1009.241 1009.247 0.006
    9 ALST04 1009.083 1009.080 -0.003
    10 ARST04 1009.258 1009.261 0.003
    11 ALST05 1009.069 1009.073 0.004
    12 ARST05 1009.275 1009.272 -0.003
    13 ALST06 1009.056 1009.061 0.005
    1斗 ARST06 1009.292 1009.295 0.003
    15 ALST07 1009.041 1009.046 0.005
    16 ARST07 1009.312 1009.316 0.004
    17 ALST08 1009.027 1009.031 0.004
    18 ARST08 1009.333 1009.336 0.003
    19 ALST09 1009.013 1009.016 0.003
    20 ARST09 1009.354 1009.350 -0.004
     
     
     
    圖 5.15 12#墩 9#梁段張拉完成后監控數據
     
     
     
    圖 5.16 12#墩 9# 梁段張拉完成后三維視圖顯示
     
     
     
     
    <1圖表 - □ x
     
    4⑸"Qg伽jg他飭或沁血咖心殆ALSt»1心00伽力伽©軸取4*tS7®3 ^^04伽嗨伽"06人軌7伽殆^STg
     
     
    圖 5.18 誤差值分析
     
    經分析理論值和實測值對比圖、預警分析視圖以及誤差曲線圖可知,各梁段頂板標
    高誤差的絕對值最大為9 mm。通過分析可知,主梁橋面存在一定的波動,應根據實際 情況進行調整。由于誤差值在規定的允許范圍內,所以可以繼續下一階段的施工。
    5.3.3主梁應力監控數據管理模塊的應用
    主梁應力監控是橋梁施工監控內容的另一個重要內容,主要是指梁體的應力監測。 一方面,橋梁主梁的應力監控用于評估施工,另一方面,也可以確保橋梁施工期間和完 成后結構處于安全狀態。此外,應力監控還可以直接反映各種施工工序狀態下結構的應
    力水平,是保證結構安全的重要措施。
    應力監控主要是用來監控主梁控制截面在每一個施工階段中應力變化的情況。通過 設置應力預警值,在施工階段進行自動判斷控制截面主梁應力測點是否在允許范圍內, 并及時預警,如圖5 . 19所示為1 2#墩9#梁段張拉完成后應力監控,主梁根部控制截面應 力測點 1 變化情況如圖 5.20~521 所示。由分析預警分析視圖可知,在 9#梁段張拉完成 后主梁根部應力值得變化均在允許范圍內,可以進行下一階段的施工。
     
     
    圖 5.21 12#墩 9#梁段張拉完成根部右測點變化曲線
     
    5.4 本章小結
    本章對基于 BIM 的施工監控信息管理進行了初步探索。首先確定了施工監控信息 管理插件的設計思路,接著對介紹了該插件中各個模塊的應用。從而得知此信息管理工 具具有對測點數據的存儲、更改以及結果預警分析的功能。借助 Revit 二次開發技術, 通過C#編程,對施工監控信息管理模塊以及三維視圖預警模型進行開發。最后將施工 監控信息管理應用于石堡川河特大橋主橋施工監控中,實現了石堡川河特大橋主橋施工 監控中測點數據信息的高效管理。基于 BIM 的連續剛構橋施工監控的信息管理是一種 3D 可視化的動態預警監控,有效地彌補傳統施工監控手段的不足。在一定程度上,該 施工監控管理插件可以幫助各參與方更加直觀、快捷地掌握結構在每個施工階段所處的 狀態。
    6結論與展望
    6.1結論
    隨著我國科學技術現代化進程不斷加快,橋梁逐漸向大跨徑和結構更復雜的方向發 展,同時對于橋梁施工監控提出的要求也越來越高, BIM 技術的出現將更好地適應這一 發展狀態。本文以石堡川河特大橋施工監控為工程實例,將 BIM 技術融合到橋梁施工 監控中為研究對象,主要研究結果和結論如下:
    (1) 通過利用Revit軟件自帶的功能,利用放樣融合等命令將主橋箱梁進行參數化 建模,將各梁段對應參數的尺寸在Excel表格編輯并進行保存。以Revit二次開發技術 為基礎,利用C#編程語言和Revit API應用程序接口針對Revit軟件開發了一款橋梁上 部結構快速建模插件。以人機交互為媒介,通過該插件讀取Excel表格中的數據,程序 將根據參數數據驅動標準箱梁,實現了連續剛構橋上部結構自動化建模的過程,極大提 高了橋梁建模效率。
    (2) 基于Revit軟件中的Dynamo可視化編程插件及其強大的參數化設計功能,結 合Python Script編程語言,解決Revit軟件中空間曲線建模困難的問題。連續剛構橋中 預應力鋼筋大多數為空間曲線, Revit 軟件自帶的功能不能處理這樣的曲線,本文通過 利用坐標點法,在Excel表格編輯公式計算預應力鋼筋坐標點,通過Python Script編程 語言編譯預應力鋼筋程序,該程序自動讀取Excel表格中點的坐標,實現了在Revit中 建立空間曲線形式的預應力鋼筋。
    (3) 研究BIM模型與ANSYS有限元模型的數據轉換方式,結合Revit和ANSYS 軟件建模特點,實現了 BIM 模型數據信息可以通過編程的方式轉換成 APDL 命令流格 式。ANSYS通過讀取該命令流實現了 BIM模型與有限元模型的無損化轉換,并將轉換 后的模型進行施工過程的有限元仿真分析,為施工監控信息管理研究提供了理論數據支 持,從而使BIM軟件與有限元軟件之間實現了一體化。
    (4) 運用C#編程語言并結合Revit二次開發,開發了一款橋梁施工監控信息管理 插件。利用該插件可以在Revit中模擬橋梁懸臂施工過程,并將施工過程中監測數據進 行存儲、查看、修改和預警分析,并對監控中存疑的數據在Revit模型中進行三維視圖 預警提示,實現了對主梁線形和應力監測數據的高效管理。該施工監控信息管理插件是 是對未來完全實現橋梁信息化的初步探索。
    6.2展望
    BIM 技術最初起應用于建筑工程領域,它在橋梁工程領域的應用仍然處于初步探索 階段。由于BIM技術應用在橋梁中的項目較少,所以關于借鑒橋梁BIM的資料十分有 限。對于 Revit 在橋梁工程的二次開發資料更是有限,以至于對于撰寫本論文造成一定 的困難。由于時間以及本人能力有限,本文的研究成果還待進一步改進和完善,可以從 以下幾個方面進行完善:
    (1)由于橋梁類型以及結構形式多種多樣,所以對于不同橋型不同的構件參數化 建模工具還需要不斷完善。由于本人有一定的 Revit 二次開發基礎,下一步研究方向是 開發出一款適應于各類橋型全部構件的參數化建模插件。
    ( 2)本文采用 Dynamo 可視化插件進行空間曲線預應力鋼筋創建,下一步深入研 究如何通過二次開發技術,開發一款適應于不同橋型不同空間曲線的預應力鋼筋插件, 進一步拓展Revit軟件在橋梁工程中的應用。
    (3)本文研究并實現了 Revit模型向ANSYS模型轉換,下一步可考慮如何將BIM 其他軟件與 ABAQUS、Midas Civil 等有限元軟件之間實現信息模型轉換,從而真正實 現 BIM 軟件與有限元分析軟件數據信息的互通。
    (4)本文基于Revit二次開發,對連續剛構橋施工監控信息管理進行了研究,實現 了對BIM模型數據的存儲,修改和預警分析,但依據Revit軟件開發的信息管理在數據 處理方面還有待進一步加強。接下來將進一步研究應用現代5G網絡技術,對基于Web 的施工監控信息管理系統進行研究,以實現在云平臺上進行施工監控信息的智能管理。
    致 謝
    快樂充實的時光總是那么的短暫,轉眼間我就要和我三年碩士生涯說再見了,這也 許就是我最后的學生時光,新的人生階段即將開始。回首在這里的三年生活雖然不長, 但這里的一切給我留下了深刻的印象,在論文完成之際,謹向我在攻讀研究生期間所有 給予我指導與幫助的老師、同學衷心的說一句謝謝。
    首先,我非常感謝我最尊敬的導師張麗萍老師,一位地地道道的山西人,溫柔而豪 爽。張老師學識淵博,治學嚴謹,正因如此,我才能順利完成畢業論文的撰寫,在她的 嚴格而又鼓勵的要求下,讓我從論文的開題、中期、撰寫以及定稿都一步一步的順利完 成。期間遇到問題張老師會耐心的給予我有建設性的意見與指導,整個過程都以身作則。 張老師不僅僅在學術上給予很大地幫助在生活上也是倍加關懷。從她的身上我學到了無 論干什么都要認真負責,爭取做到最好,讓我受益終生。
    其次,也非常感謝我的同門和師弟師妹們,當我感到迷茫時,他們及時的開導我, 遇到一些事情他們熱心幫助。尤其是同門趙奇、張哲遠以及師弟翁浩然、馬寧和侯兵港, 在我論文撰寫過程中,提供了幫助和寶貴的意見。感謝我的室友霍永飛、劉唱和呂世成 給我生活增添很多樂趣,在寫作困擾之時幾個人一起聊聊天、打打球或者一起參加其他 活動,往往不經意間一句話就打開了困我已久的問題,讓我感到非常快樂。特別要感謝 我的家人,是他們這么多年不辭辛勞的供我讀書,給予我物質和精神的極大鼓勵,才讓 我順利完成學業。將來我一定加倍努力回報他們為我付出的一切。道一聲“家人們,謝 謝你們,辛苦了 ”!
    參 考 文 獻
    [1]ChenK, LuW, PengY, etal. Aninvestigation of the latent barriers to BIM adoption and develop ment.[J]. 2017.
    [2]Marzouk M, Hisham M. Bridge Information Modeling in Sustainable Bridge Management. Inter national Conference on Sustainable Design & Construction, 2011: 457-466.
    [3]Lipman R. R. Details of the mapping between the CIS/2 and IFC product data models for str uctural steel. Electronic Journal of Information Technology in Construction, 2009, 14:1-50.
    [4]Nourbakhsh A, Kouhpayehzadeh M. Structural analysis based on the product model standard I FC[J]. Oecologia, 2004, 114(1): 653-657.
    [5]Mcguire B M, Inspection B, Modeling B I, et al. Using Building Information Modeling to Tra ck and Assess the Structural Condition of Bridges[J]. Dissertations & Theses-Gradworks, 2016.
    [6]Lachauer. L. Curved Bridge Design[J]Computational Design Modelling. Pages 145-452.
    [7]Elbeltagi E, Dawood M. Integrated visualized time control system for repetitive construction pr ojects[J]. Automation in Construction, 2011, 20(7): 940-953.
    [8]SHIM C S, YUN N R, SONG H H. Application of 3D Bridge Information Modeling to Desi gn and Construction of Bridges[J]. Procedia Engineering, 2011, 14(3): 95-99.
    [9]Carlos A. LeonRobles, Juan F. ReinosoGordo,JuanJ.GonzalezQuinones.Heritage Building Informa tion Modeling(H-BIM) Applied to A Stone Bridge[J]. ISPRSInternationalJournalofGeo-Informati on, 2019, 8(3).
    [10]P. Kettil, N.-E. Wiberg. Application of 3D solid modeling and simulation programs to a brid ge structure[J]. Engineering with Compute B, 2002, 18: 160-169.
    [11]曹穎.BIM技術應用——綠色建筑、智慧城市、建筑工業化[A].中國圖學學會建筑信息模型(B IM)專業委員會.第六屆全國BIM學術會議論文集[C].中國圖學學會建筑信息模型(BIM)專 業委員會: 中國建筑工業出版社數字出版中心, 2020: 3.
    [12]高佐人,彭衛兵,呂建鳴.可設計重構的橋梁信息模型研究[J].公路交通科技(應用技術版),20 09, 5(04):154-158.
    [13]耿方方,尹方舟,丁幼亮等.基于BIM的橋梁健康監測系統研究[J].現代交通技術,2018, 15(0 1): 35-38.
    [14]曲強龍.基于BIM的預應力混凝土連續梁橋施工控制研究[D].北京交通大學,2019.
    [15]王偉濤.基于BIM技術的斜拉橋施工控制及信息管理研究[D].西南交通大學,2018.
    [16]王亮.基于BIM的斜拉橋設計應用與信息管理研究[D].西南交通大學,2016.
    [17]喬恩懋,丁琦.基于Revit二次開發的空間網架結構BIM建模技術J].結構工程師,2019, 35(0 1): 230-236.
    [18]楊黨輝,蘇原,孫明.基于Revit的BIM技術結構設計中的數據交換問題分析J]. 土木建筑工程 信息技術, 2014, 6(03): 13-18.
    [19]王飛鵬.基于BIM技術的裝配式混凝土構件模塊化設計研究[D].長安大學,2019.
    [20]張為和.基于BIM的夜郎河雙線特大橋施工應用方案研究J].鐵道標準設計,2015, 59(03): 82 -86.
    [21]郭金林.預應力混凝土剛構一連續梁組合橋施工監控研究[D].鄭州大學,2013.
    [22]中華人民共和國行業標準.公路橋涵施工技術規范(JTG/T50-2018)[S].北京:人民交通出版社, 2018.
    [23]竇新航.懸臂澆筑法的預應力混凝土連續剛構橋施工監控[D].長安大學,2016.
    [24]趙偉封,馬保林,陳偕民,姚敏紅.薄壁特高墩預應力混凝土連續剛構橋的空間穩定性J].長安 大學學報(自然科學版),2004(4): 51-54.
    [25]M. K. Tadros, A. Ghali&W. H. Dilegex. Analysis of long-term Stress and Deformation in Se gmental Construction. Journal of Prestressed ConcreteInstitute, 1979, 24(4).
    [26]J. Muller. Ten Years of Experience in Precast Segmental Construction. Journal of the Prestres sed Concrete Institute, 1975, 20(1).
    [27]HeXiongjun, ShenChenwu. Adjustment of Buckle-cable Forces Under Cable hoisting Construct ion of Concrete-filled Steel Tubular Arch Bridges Journal of Wuhan Transportation University,
    1999, 23(5): 575-578.
    [28]鄭華海,劉勻,李元齊.BIM技術研究與應用現狀J].結構工程師,2015, 31(04): 233-241.
    [29]徐勇戈,孔凡樓,高志堅.BIM概論[M].西安:西安交通大學出版社.2016.
    [30]王蓉.BIM技術在五通岷江特大橋連續鋼桁梁施工中的應用研究[D].重慶交通大學,2017.
    [31]龍文志.建筑業應盡快推行建筑信息模型(BIM)技術J].建筑技術,2011, 42(01): 9-14.
    [32]邢振業.基于混凝土結構耐久性影響因素的BIM研究[D].西安建筑科技大學,2016.
    [33]陳培旺.面向BIM-LCC框架的Revit二次開發與框架在暖通中的應用研究[D].廣州大學,2018.
    [34]肖汝誠.橋梁結構分析及程序系統[M].北京:人民交通出版社,2002.
    [35]羅赤宇,焦柯,吳文勇.BIM正向設計方法與實踐[M].北京:中國建筑工業出版社.2019.
    [36]陳志為,吳焜,黃穎等.基于BIM的復雜結構有限元精細模型生J]. 土木工程與管理學報,201
    8, 35(05): 60-64.
    [37]王熊玨.基于BIM的橋梁結構加固與改造技術及有限元分析[D].湖北工業大學,2016.
    [38]陳浩.基于BIM的斜拉橋施工控制與仿真分析[D].北京交通大學,2017.
    [39]周寧.ANSYS-APDL高級工程應用實例分析與二次開發[M].中國水利水電出版社,2007.
    [40]吳鴻慶,任俠編.結構有限元分析[M].北京:中國鐵道出版社.2000.
    [41]ANSYS Element Reference, Electronic Release, SASIP, Inc, 1998.
    [42]王新敏,李義強.ANSYS結構分析單元與應用[M].北京:人民交通出版社.2011.
    [43]李立峰,王連華.ANSYS 土木工程實例詳解[M].北京:人民郵電出版社.2015.
    [44]唐清東.基于BIM的大跨度懸索橋施工監控研究[D].西南交通大學,2017.
    [45]何欣.基于BIM技術的鋼桁拱施工監控可視化研究[D].西南交通大學,2018.
    [46]吳雙月.基于BIM的建筑部品信息分類及編碼體系研究[D].北京交通大學,2015.
    [47]中國鐵路BIM聯盟.鐵路工程信息模型分類和編碼標準[J].鐵路技術創新,2015, (01): 8-111.
    [48]肖珍.基于BIM的合安高鐵方興大道連續梁橋的懸臂施工監控[D].合肥工業大學,2019.
    [49]種法雯.大型公共建筑室內火災應急疏散路徑仿真及優化研究[D].安徽工業大學,2018.
    [50]陳健.公路橋梁高墩施工階段穩定性分析與施工控制技術[D].武漢理工大學,2012.
    [51]徐培培.預應力混凝土連續箱梁懸臂施工過程中的剪力滯效應研究[D].北京交通大學,2014.
    [52]莊典.面向數字化節能設計的動態建筑信息建模技術研究[D].哈爾濱工業大學,2019.
    [53]王曉宇.基于RevitAPI的樁基礎參數化設計[D].大連理工大學,2020.
    [54]黃贏海.基于建筑信息模型(BIM)的可視化編程與二次開發在橋梁工程上的應用[D].華南理工 大學, 2020.
    [55]詹航.橋梁結構分析集成平臺中的荷載處理研究[D].重慶交通大學,2015.
    [56]肖光清.大跨度連續剛構橋施工監控線形分析[J].公路與汽運,2019(06): 103-106.
    [57]黃才華.碳纖維布加固后鋼筋混凝土框架梁柱邊節點的抗震性能研究[D].西安建筑科技大學, 2009.
    [58]陳曉梅.宜昌長江鐵路大橋施工控制[D].華中科技大學,2007.
    [59]邢德兆.大跨度PC橋梁的收縮徐變效應分析與研究[D].長安大學,2005.
    [60]劉寬.BIM在連續剛構橋施工階段的應用研究[D].重慶交通大學,2018.
    【本文地址:http://www.bzhlmm.com//guanlilei/gongshangguanli/xixinguanli/8798.html

    上一篇:A市突發公共衛生事件政府信息管理問題探析 —以新冠肺炎疫情防控為例

    下一篇:沒有了

    相關標簽: