齊成龍
?
基于達索平臺CAA架構(gòu)的混凝土連續(xù)梁橋主體結(jié)構(gòu)BIM建模工具開發(fā)
齊成龍
(中國鐵路設(shè)計集團有限公司橋梁院,天津 300142)
針對傳統(tǒng)的預(yù)應(yīng)力混凝土連續(xù)梁橋主體結(jié)構(gòu)BIM建模方法效率低下、數(shù)據(jù)穩(wěn)定性無法保證的問題,使用達索/CAA二次開發(fā)語言,遵循“骨架-模板”建模思想,開發(fā)出一種預(yù)應(yīng)力混凝土連續(xù)梁橋主體結(jié)構(gòu)建模工具。以用戶輸入窗口和Excel表格作為數(shù)據(jù)傳遞媒介,充分利用CAA的幾何建模工具、特征建模工具、物理建模工具,通過界面模塊、特征模塊、節(jié)段拓?fù)淠K對程序內(nèi)部結(jié)構(gòu)的合理組織,最終實現(xiàn)節(jié)段自定義特征的實例化和連續(xù)梁節(jié)段零件組裝。結(jié)果表明,該建模工具能夠大幅度提高建模效率并保證數(shù)據(jù)穩(wěn)定性,且為基于達索/CAA二次開發(fā)的其他BIM研究提供了基本思路和方法。
建筑信息模型;達索系統(tǒng);CAA;特征;連續(xù)梁;二次開發(fā)
三維設(shè)計技術(shù)是當(dāng)前計算機輔助設(shè)計的發(fā)展趨勢,在機械、建筑、化工、石油等設(shè)計行業(yè)已得到較為成功的應(yīng)用,并成為市場競爭的重要工具[1-2]。中國鐵路總公司提出,要建立以BIM為主要技術(shù)框架,以鐵路工程全生命周期管理為目標(biāo)的工程信息化平臺和應(yīng)用模式,確立了BIM技術(shù)在鐵路設(shè)計中的地位。
模型是信息的載體,而三維建模又是BIM技術(shù)的基礎(chǔ)和難點。橋梁工程中常用的三維BIM軟件包括泰克拉、達索、奔特力,3種軟件系統(tǒng)各有所長。泰克拉軟件擅長處理鋼結(jié)構(gòu)的復(fù)雜節(jié)點構(gòu)造,在鋼筋混凝土結(jié)構(gòu)的二維出圖和鋼筋數(shù)量統(tǒng)計方面也很有優(yōu)勢,但是這種優(yōu)勢僅局限于小規(guī)模的橋梁工程,對于有復(fù)雜造型的橋梁或長大橋梁適應(yīng)性差;達索軟件源于機械航空領(lǐng)域,因此對于有復(fù)雜造型要求的工程結(jié)構(gòu)非常適用,并且其服務(wù)器工作模式能夠適應(yīng)橋梁工程的龐大數(shù)據(jù)量,但是該軟件在鋼筋設(shè)計方面尚有待加強;奔特力除了是一個軟件平臺以外,還包含了很多橋梁工程專業(yè)設(shè)計工具,其雖然為橋梁工程BIM應(yīng)用提供了便利,但是由于無法全面考慮國內(nèi)規(guī)范標(biāo)準(zhǔn)和設(shè)計習(xí)慣,也無法覆蓋某些關(guān)鍵設(shè)計過程。
目前基于達索軟件的BIM設(shè)計大多采用“骨架-模板”的建模思想[3]。“骨架”為與連續(xù)梁端部相對應(yīng)的坐標(biāo)系群,連續(xù)梁節(jié)段為工程模板(Engineering Template),實例化過程采用達索action功能。此方法雖然能夠?qū)崿F(xiàn)批量建模,但是由于工程模板的復(fù)雜內(nèi)部邏輯結(jié)構(gòu),導(dǎo)致實例化效率低下;同時由于復(fù)雜內(nèi)部邏輯對各個環(huán)節(jié)的使用者均開放,也不利于傳遞過程中的數(shù)據(jù)穩(wěn)定。
本文介紹一種全新的預(yù)應(yīng)力混凝土連續(xù)梁橋主體結(jié)構(gòu)建模工具,該工具使用達索/組件應(yīng)用架構(gòu)(component appljcation architecture,CAA)二次開發(fā)語言實現(xiàn),嵌入到達索軟件內(nèi)部,通過用戶定義特征避免了工程模板的復(fù)雜內(nèi)部邏輯結(jié)構(gòu),從而確保數(shù)據(jù)的穩(wěn)定傳遞和建模效率的提高[4]。便利的用戶界面輸入窗口和表格數(shù)據(jù)輸入模式更易于被普通設(shè)計人員接受,有利于BIM技術(shù)的推廣應(yīng)用。
借助該工具進行BIM設(shè)計同樣遵循“骨架-模板”的建模思想,其骨架同樣是與連續(xù)梁端部相對應(yīng)的坐標(biāo)系群,而模板是經(jīng)過CAA二次開發(fā)的用戶定義特征。實例化出來的各節(jié)段模型以零件(Part)的形式存在,與坐標(biāo)系保持關(guān)聯(lián),當(dāng)坐標(biāo)系變化時,節(jié)段大小和位置同步更新。
DassaultSystemes作為一款優(yōu)秀的BIM設(shè)計軟件,在許多領(lǐng)域得到了廣泛的應(yīng)用,尤其在航空業(yè),90%以上企業(yè)使用該軟件進行結(jié)構(gòu)設(shè)計。為了方便進行產(chǎn)品擴展和客戶定制開發(fā),DassaultSystemes提供了一種基于組件的定制開發(fā)機制,即CAA。其采用面向?qū)ο蟮某绦蛟O(shè)計(object-oriented-programming, OOP)思想,基于COM和OLE技術(shù),使CAA開發(fā)的程序代碼更加規(guī)范化和標(biāo)準(zhǔn)化,程序模塊更加具有獨立性和可擴展性。如圖1所示,CAA架構(gòu)描述了達索系統(tǒng)內(nèi)部模塊之間的關(guān)系。基于CAA架構(gòu),客戶也可以將定制開發(fā)的功能加入到達索系統(tǒng)中。利用CAA實現(xiàn)的客戶定制功能,無論從界面風(fēng)格和操作習(xí)慣,都可以達到和達索系統(tǒng)無縫集成的效果。用戶非常容易接受和使用[5]。
圖1 CAA架構(gòu)
圖2是根據(jù)連續(xù)梁橋主體結(jié)構(gòu)設(shè)計過程的需要而設(shè)計出的用戶交互界面。該人機交互的連續(xù)梁設(shè)計工具采用達索/CAA語言二次開發(fā),直接嵌入到達索軟件內(nèi)部[6]。其具備以個特點:①連續(xù)梁主體結(jié)構(gòu)全橋裝配功能嵌入到達索裝配設(shè)計(AssemblyDesign)模塊中,連續(xù)梁節(jié)段編輯功能嵌入到達索零件設(shè)計(PartDesgn)模塊中;②設(shè)計參數(shù)采用表格輸入和對話框輸入兩種手段同時進行;③作為設(shè)計成果的連續(xù)梁全橋模型與作為骨架的節(jié)段坐標(biāo)系關(guān)聯(lián),當(dāng)節(jié)段坐標(biāo)系位置發(fā)生變化時,連續(xù)梁模型的空間位置和大小也同步發(fā)生變化。
該設(shè)計工具的操作流程如圖3所示,使用其進行連續(xù)梁橋主體結(jié)構(gòu)BIM設(shè)計時應(yīng)遵循以下步驟:
圖2 全橋裝配用戶交互界面
步驟1. 設(shè)計準(zhǔn)備工作。按照固定格式填充連續(xù)梁橋節(jié)段信息表格(圖4),該表格存儲了連續(xù)梁各節(jié)段的長度、頂?shù)装搴穸?、梁高等參?shù)。再通過達索程序自帶的KnowledgePattern功能,借助EKL語言,讀取連續(xù)梁節(jié)段信息表格中的數(shù)據(jù),在幾何圖形集中生成連續(xù)梁節(jié)段骨架,并將節(jié)段信息表格也放入此幾何圖形集。
圖3 操作流程設(shè)計
圖4 連續(xù)梁節(jié)段信息表格
步驟2. 選擇用于存儲連續(xù)梁節(jié)段骨架的幾何圖形集。程序會自動識別并讀入存儲在幾何圖形集內(nèi)的骨架坐標(biāo)系和節(jié)段信息表格。
步驟3. 選擇用于存儲連續(xù)梁各節(jié)段零件的父級根節(jié)點。生成的連續(xù)梁節(jié)段零件將懸掛在該節(jié)點下。
步驟4. 修改交互界面中的“其他參數(shù)值”,包括斷面尺寸參數(shù),例如梁頂寬、底寬、橫向排水坡坡率等,這些幾何參數(shù)對于所有連續(xù)梁節(jié)段來說都是相同的,因此可以在一個統(tǒng)一的界面中修改。程序給出了斷面尺寸參數(shù)的默認(rèn)值,用戶可在此基礎(chǔ)上修改?!捌渌麉?shù)值”還包括坐標(biāo)系的前綴,因為對于不同的用戶來說,其通過EKL語言生成的節(jié)段坐標(biāo)系名稱前綴可能各不相同,為了便于對坐標(biāo)系的識別從而與節(jié)段信息表格的第一列對號入座,在此處抽取其前綴用以過濾出有用的編號信息。
步驟5. 生成連續(xù)梁全橋主體結(jié)構(gòu)模型。當(dāng)所有必需的連續(xù)梁生成步驟均完成時,對話框的OK按鈕即被激活,點擊此按鈕后生成全橋模型(圖5)。
圖5 全橋三維模型
步驟6. 修改連續(xù)梁節(jié)段模型。在結(jié)構(gòu)樹中雙擊特征節(jié)點或在模型窗口中雙擊模型,即可打開如圖6所示的節(jié)段模型修改窗口,此窗口能夠根據(jù)用戶個性化需求修改節(jié)段尺寸參數(shù)和端部坐標(biāo)系。
圖6 節(jié)段模型修改窗口
特征(feature)是達索操作界面向用戶開放的基本元素,由于連續(xù)梁節(jié)段模型的特殊性,達索并未提供一個具有代表性的特征。目前,大多數(shù)情況下,連續(xù)梁節(jié)段幾何模型都是通過對已有特征進行復(fù)雜數(shù)學(xué)運算得到的,通過此方法得到的幾何模型由于包含復(fù)雜數(shù)學(xué)運算,使用效率低下,同時由于其開放性,各個使用環(huán)節(jié)的用戶都可對其進行修改,不利于傳遞過程中的數(shù)據(jù)穩(wěn)定,因此需要建立用戶定義特征[7]。
達索向用戶開放3種CAA建模工具(Representation Modeler):幾何建模工具(GeometryModeler)、特征建模工具(FeatureModeler)和物理建模工具(MechanicalModeler)。這3種建模工具在用戶定義特征的創(chuàng)建和使用過程中起著重要作用,如圖7所示。
圖7 CAA建模流程
達索提供的8個可派生基類存儲在兩個特征目錄文件(catalog file)中,即MechMod.feat和CATHybridShape.feat,這些可派生基類適用于不同類型的特征。當(dāng)用戶需要創(chuàng)建自定義特征時,可根據(jù)自身情況選擇與期望功能相適應(yīng)的基類,再通過特征建模工具建立用戶需要的特征抽象基類,此抽象基類僅包含對特征屬性的聲明。物理建模工具的作用就是實例化此特征抽象基類,對特征屬性定義,變成一個具體類,也就是一個特征對象。幾何建模工具能夠根據(jù)特征對象的屬性值生成可視的拓?fù)浣Y(jié)果,其結(jié)果在CAA語言中表示為CATBody接口。
Dassault/CAA是基于COM技術(shù)進行組織開發(fā)的,因此將該設(shè)計工具劃分為3個模塊來實現(xiàn)其功能,分別為界面模塊(User Interface Modulus)、節(jié)段拓?fù)淠K(TopologicalModulus)和特征模塊(FeatureModulus),如圖8所示。
圖8 模塊設(shè)計
界面模塊用于用戶界面交互功能的實現(xiàn),分為創(chuàng)建工具條和創(chuàng)建用戶交互窗口兩部分。
工具條采用Add-in的方式添加,由于全橋裝配功能和節(jié)段編輯功能分別嵌入到裝配設(shè)計(AssemblyDesign)模塊和零件設(shè)計(PartDesgn)模塊中,因此,分別實現(xiàn)CATIAssyWorkBenchAddin和CATIPrtCfgAddin兩個接口。
首先創(chuàng)建用戶交互窗口Dialog文件,再通過對CATMmrPanelStateCmd類的派生,重載GiveMyPanel方法,使派生類與用戶交互對話窗口Dialog文件關(guān)聯(lián)。重載BuildGraph方法,完成傳統(tǒng)交互窗口無法實現(xiàn)的對話流程操作。
BuildGraph方法通過命令狀態(tài)(Command State)和代理(Agent)兩個關(guān)鍵元素來實現(xiàn)用戶與界面的交互響應(yīng)。代理分為兩種:CATDialogAgent代理用來獲取界面控件響應(yīng);CATFeatureImportAgent繼承自CATDialogAgent,專門用來獲取特征。每個命令狀態(tài)中存儲了若干個代理,CAA對某一代理所接受的用戶操作進行判別,決定是否執(zhí)行不同命令狀態(tài)之間的轉(zhuǎn)換。最終實現(xiàn)了如圖3所示的程序躍遷流程。
連續(xù)梁節(jié)段作為一個具有獨立幾何形狀的實體,需要派生自達索提供的e基類,并為其指定屬性。特征屬性按照類型分為開始坐標(biāo)系和終止坐標(biāo)系兩種,此屬性值本身也是特征。節(jié)段各幾何尺寸屬于數(shù)值類型的屬性,通過特征建模工具能夠得到該特征的抽象基類,此抽象基類僅對特征屬性進行了聲明。物理建模工具用于定義此抽象基類,簡單來說就是需要一個類型接口和一個工廠接口將此抽象基類具體化。
類型接口(Type Interface)包含若干個方法,其作用是對特征屬性進行定義,使用戶借助類型接口能夠達到提取特征屬性值和對特征屬性賦值的目的。
工廠接口(Factory Interface)僅包含1個方法,以屬性值作為輸入?yún)?shù),實例化得出以類型接口表示的特征結(jié)果。
節(jié)段拓?fù)淠K的作用是將特征模塊創(chuàng)建的以內(nèi)存數(shù)據(jù)表示的特征結(jié)果轉(zhuǎn)化為可視的拓?fù)湓煨汀?/p>
通過繼承CATIFmFeatureBehaviorCustomization接口,并重載此接口的Build方法,在本方法內(nèi)部運行幾何建模工具來生成拓?fù)湓煨汀?/p>
作為達索內(nèi)部機制,當(dāng)系統(tǒng)執(zhí)行更新(Update)操作時,CATIFmFeatureBehaviorCustomization接口的Build方法自動被激活。作為承擔(dān)控制建模流程作用的模塊,界面模塊執(zhí)行以下流程:成功生成特征結(jié)果后,運行更新操作,系統(tǒng)通過Build方法觸發(fā)節(jié)段拓?fù)淠K,從而生成與特征結(jié)果相適應(yīng)的可視化拓?fù)鋷缀涡螤睢?/p>
節(jié)段拓?fù)湫螤畹纳蛇^程以特征屬性值作為輸入元素,可通過類型接口提供的方法獲取。
對于混凝土節(jié)段,在其長度范圍內(nèi),線路是有平彎的,而節(jié)段的兩個端面均豎直,也就是說對于起點坐標(biāo)系和終點坐標(biāo)系,軸在同一個平面內(nèi)但不平行,軸均豎直向上。如果直接在兩個坐標(biāo)系上生成拓?fù)潴w,會導(dǎo)致某些原本在一個平面上的4個點出現(xiàn)翹曲而產(chǎn)生幾何體生成錯誤。為了防止此類現(xiàn)象的出現(xiàn),可沿起、終點坐標(biāo)系連線復(fù)制起點坐標(biāo)系,對于起點坐標(biāo)系和復(fù)制的起點坐標(biāo)系來說,其軸是平行的,基于這樣兩個坐標(biāo)系生成拓?fù)潴w不會導(dǎo)致幾何錯誤,最后使用終點坐標(biāo)系的面切割此體,去除多余部分(圖9)。
圖9 節(jié)段生成過程
由外圈和內(nèi)圈組成空心的連續(xù)梁截面,分別用9和11個關(guān)鍵點表示(圖10)。坐標(biāo)系原點和方向向量可通過CAT Math Axis類的Get Origin、GetDirections方法獲取,有了原點及方向,內(nèi)外圈各關(guān)鍵點坐標(biāo)可由數(shù)值型特征屬性值經(jīng)過簡單數(shù)學(xué)運算得到,再通過CATCGMCreateTopPointXYZ函數(shù)生成拓?fù)潼c。經(jīng)過這些步驟,就完成了從數(shù)學(xué)層到拓?fù)鋵拥倪^渡,再通過拓?fù)潼c、線、面、體的逐層晉級生成最終拓?fù)湫螤睢?/p>
圖10 連續(xù)梁截面關(guān)鍵點
拓?fù)鋵觾?nèi)部操作多次用到達索Topological Operator功能,具體涉及到的接口有CATICGMPowerFill、CATICGMHybAssemble、CATICGMCloseOperator、CATICGMDynBoolean、CATICGMDynFillet和CATICGMDynSplit。其均派生于CATICGMTopOperator,在使用過程中作為臨時對象,當(dāng)生成拓?fù)浣Y(jié)果后再將這些接口釋放。拓?fù)鋵觾?nèi)部操作過程如下:
步驟1. 使用CATCGMCreateTopLineFromPoints函數(shù),以拓?fù)潼c作為輸入?yún)?shù),分別將內(nèi)圈、外圈相鄰關(guān)鍵點連接成線;分別將內(nèi)圈、外圈具有相同編號的起、終坐標(biāo)系關(guān)鍵點連接成線。
步驟2. 使用CATICGMPowerFill接口,以步驟1生成的線作為輸入?yún)?shù),將4個首尾相接的線所圍空間填充成面。
步驟3. 使用CATICGMHybAssemble接口,以步驟2生成的面作為輸入?yún)?shù),分別將位于外圈和內(nèi)圈的離散面結(jié)合成整體。
步驟4. 使用CATICGMCloseOperator接口,以步驟3生成的結(jié)合后的面作為輸入?yún)?shù),分別通過外圈面和內(nèi)圈面所限制的空間范圍生成拓?fù)潴w。
步驟5. 使用CATICGMDynBoolean接口,將步驟4生成的外圈體和內(nèi)圈體進行布爾相減運算,扣除連續(xù)梁內(nèi)部空心部分。
步驟6. 使用GetEdgeFromEndPositions函數(shù),通過端點位置獲取連續(xù)梁節(jié)段中需要倒角的邊(CATEdge),使用CATICGMDynFillet接口執(zhí)行倒角操作。
步驟7. 使用CATICGMDynSplit接口,以終點坐標(biāo)系的平面和步驟6生成的拓?fù)潴w為輸入?yún)?shù)進行切割,去掉終點坐標(biāo)系和復(fù)制的起點坐標(biāo)系之間的部分,形成最終拓?fù)潴w。
本文以預(yù)應(yīng)力混凝土連續(xù)梁橋主體結(jié)構(gòu)為背景,分析了以工程模板和Action功能為基礎(chǔ)的BIM建模方法的局限性,并介紹了達索/CAA系統(tǒng)架構(gòu),開發(fā)出一種基于CAA二次開發(fā)的預(yù)應(yīng)力混凝土連續(xù)梁橋主體結(jié)構(gòu)BIM建模工具。
該BIM建模工具嵌入到達索系統(tǒng)內(nèi)部,以用戶界面對話框和Excel表格作為數(shù)據(jù)輸入媒介。在模塊設(shè)計方面,通過界面模塊、特征模塊、節(jié)段拓?fù)淠K,使用戶定義特征從虛擬的可派生基類逐步具體化成為可視的拓?fù)湫螤?,并最終組裝成全橋模型。
本文介紹的開發(fā)過程也為基于達索/CAA二次開發(fā)的BIM研究提供了基本思路和方法。
[1] 黃俊炫, 張磊, 葉藝. 基于CATIA的大型橋梁三維建模方法[J]. 土木建筑工程信息技術(shù), 2012(4): 51-55.
[2] 張磊. 三維技術(shù)在拱橋方案設(shè)計中的應(yīng)用實例[J]. 土木建筑工程信息技術(shù), 2013, 5(4): 86-92.
[3] 齊成龍, 馮沛, 宋樹峰, 等. 基于達索3D體驗平臺的預(yù)應(yīng)力混凝土連續(xù)梁橋建模方法[J]. 鐵道建筑, 2015(10): 64-69.
[4] 李君君, 李俊松, 王海彥. 基于BIM理念的鐵路隧道三維設(shè)計技術(shù)研究[J]. 現(xiàn)代隧道技術(shù), 2016, 53(1): 6-10.
[5] 馬蘭. 基于CATIA CAA架構(gòu)的質(zhì)量分布系統(tǒng)[J]. 電腦開發(fā)與應(yīng)用, 2011, 24(9): 4-6.
[6] 胡斯博, 丁祎, 朱德霞, 等. 基于CATIA/CAA的車身主斷面參數(shù)測量工具開發(fā)[J]. 計算機工程與應(yīng)用, 2014(20): 249-253.
[7] 陸海燕, 鐘鐵夫, 王秀文. 基于BIM的框架結(jié)構(gòu)參數(shù)化設(shè)計研究[J]. 土木建筑工程信息技術(shù), 2015(5): 108-112.
BIM Modeling Tool Development for Main Structure of Concrete Continuous Girder Based on Dassault CAA Architecture
QI Chenglong
(Bridge Department, China Railway Design Corporation, Tianjin 300142, China)
Traditional building information modeling (BIM) modeling method forcontrete continuous girder main structure is inefficient, and the data stability is not guaranteed. To prevent the defects of traditional modeling method, this paper develops a modeling tool for concrete continuous girder, following the “skeleton-template” modeling idelogy. Taking user dialog window and excel table as the delivery medium, by dint of geometry modeler, feature modeler, mechanical modeler, the program’s interstructureis reasonably arranged through interface module, feature module and segment topological module. Finally, segment feature instantiation and segment parts assembly is successfully realized. It indicates that this modeling tool can highly improve the modeling efficiency and guarantee the data stability. This paper also supply other BIM resrarches which is based on Dassault/CAA secondary development with insparition and method.
building information modeling; Dassaultsystem; CAA; feature; continuous girder; secondary development
TP 391
10.11996/JG.j.2095-302X.2018020346
A
2095-302X(2018)02-0346-06
2017-06-25;
2017-09-28
中國鐵路總公司科技研究開發(fā)計劃課題(Z2016-X002)
齊成龍(1986–),男,吉林公主嶺人,國家一級注冊結(jié)構(gòu)工程師,碩士。主要研究方向為公路及鐵路橋梁設(shè)計。E-mail:qichenglong@live.cn