tvpvar模型的建模步骤_框架箱涵建筑信息建模
傳統(tǒng)框架箱涵建筑信息建模方法效率低下。譬如,基于達(dá)索軟件的BIM設(shè)計(jì)多采用“骨架-模板”的建模思想。在使用“骨架-模板”方法建立混凝土框架箱涵BIM模型時(shí),“骨架”為與涵節(jié)頂部相對(duì)應(yīng)的坐標(biāo)系群,涵節(jié)為工程模板 ,實(shí)例化過程采用達(dá)索action功能。這種方法雖然能夠?qū)崿F(xiàn)批量建模,但由于工程模板復(fù)雜內(nèi)部邏輯結(jié)構(gòu),導(dǎo)致實(shí)例化效率低,復(fù)雜的內(nèi)部邏輯對(duì)各環(huán)節(jié)使用者均開放,也不利于傳遞過程中數(shù)據(jù)的穩(wěn)定。
為了避免上述問題,通過3方面闡述對(duì)框架箱涵建模方法的優(yōu)化。
優(yōu)化后設(shè)計(jì)過程同樣遵循“骨架-模板”的建模思想,通過C#語(yǔ)言開發(fā)的數(shù)據(jù)轉(zhuǎn)換工具能以框架箱涵設(shè)計(jì)軟件RCCAD生成的文本文件作為輸入,輸出作為骨架坐標(biāo)系批量生成必要條件的數(shù)據(jù)表格,同樣可作為在涵洞節(jié)段批量生成過程中的輸入數(shù)據(jù)
使用達(dá)索/CAA二次開發(fā)語(yǔ)言創(chuàng)建一個(gè)框架箱涵主體結(jié)構(gòu)建模工具,嵌入到達(dá)索軟件內(nèi)部,通過用戶定義特征避免了工程模板的復(fù)雜內(nèi)部邏輯結(jié)構(gòu),并確保了數(shù)據(jù)的穩(wěn)定傳遞和建模效率
CAA開發(fā)的框架箱涵主體結(jié)構(gòu)建模工具在生成主體結(jié)構(gòu)同時(shí),還生成與端部涵節(jié)關(guān)鍵表面相平行的平面。建立一個(gè)用于生成框架涵端部擋墻及排水坡的工程模板,該工程模板以meta input的方式引入端部涵節(jié)關(guān)鍵平面,以design table的方式修改模型尺寸參數(shù),實(shí)現(xiàn)端部結(jié)構(gòu)的快速建模
數(shù)據(jù)轉(zhuǎn)換工具
在通常的框架箱涵設(shè)計(jì)過程中使用的是RCCAD軟件,RCCAD軟件的輸出內(nèi)容除了二維涵洞布置圖,還包括一些用以描述設(shè)計(jì)結(jié)果的文本文件。針對(duì)傳統(tǒng)建模方式效率低下的問題,通過C#開發(fā)出一個(gè)數(shù)據(jù)轉(zhuǎn)換工具,該工具讀入這些文本文件,并結(jié)合用戶手動(dòng)輸入相關(guān)尺寸信息,最終實(shí)現(xiàn)涵洞數(shù)據(jù)表格的快速生成。
數(shù)據(jù)轉(zhuǎn)換工具操作界面
框架涵主體結(jié)構(gòu)建模工具開發(fā)
1達(dá)索CAA 架構(gòu)
Dassault Systemes提供一種基于組件的定制開發(fā)機(jī)制,即組件應(yīng)用架構(gòu)(CAA)。CAA 采用面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOP)思想,基于COM和OLE技術(shù),使CAA開發(fā)的程序代碼更加規(guī)范化和標(biāo)準(zhǔn)化,程序模塊更具獨(dú)立性和可擴(kuò)展性。
達(dá)索CAA架構(gòu)
2交互界面
人機(jī)交互的框架涵設(shè)計(jì)工具采用達(dá)索/CAA語(yǔ)言二次開發(fā),直接嵌入到達(dá)索軟件內(nèi)部。具備以下幾個(gè)特點(diǎn):(1)涵節(jié)及基礎(chǔ)裝配功能嵌入達(dá)索裝配設(shè)計(jì)模塊中,涵節(jié)、基礎(chǔ)節(jié)段編輯功能嵌入到達(dá)索零件設(shè)計(jì)模塊中;(2)數(shù)據(jù)表格與定位骨架在同一個(gè)幾何圖形集下,與骨架信息同時(shí)讀取;(3)作為設(shè)計(jì)成果的所有涵洞節(jié)段和基礎(chǔ)模型與作為骨架的坐標(biāo)系關(guān)聯(lián),當(dāng)骨架坐標(biāo)系位置發(fā)生變化時(shí),模型空間位置也同步發(fā)生變化。
涵洞裝配用戶交互界面
3操作流程
操作流程圖解
設(shè)計(jì)準(zhǔn)備工作。包括創(chuàng)建骨架坐標(biāo)系等設(shè)計(jì)準(zhǔn)備工作。設(shè)計(jì)信息表格可以采用達(dá)索/CAA的數(shù)據(jù)轉(zhuǎn)換工具生成,并且,需要將生成的表格結(jié)果放置在用于存儲(chǔ)涵節(jié)骨架的幾何圖形集當(dāng)中
選擇用于存儲(chǔ)涵洞節(jié)段骨架的幾何圖形集。選擇幾何圖形集后,程序會(huì)自動(dòng)識(shí)別并讀入存儲(chǔ)在幾何圖形集內(nèi)的涵節(jié)骨架坐標(biāo)系和涵洞設(shè)計(jì)信息表格
選擇用于存儲(chǔ)涵洞基礎(chǔ)骨架的幾何圖形集。選擇幾何圖形集后,程序會(huì)自動(dòng)識(shí)別并讀入存儲(chǔ)在幾何圖形集內(nèi)的基礎(chǔ)骨架坐標(biāo)系
選擇用于存儲(chǔ)涵洞模型的父級(jí)根節(jié)點(diǎn)。生成的所有模型零件將懸掛在該節(jié)點(diǎn)下
修改交互界面中的其他參數(shù)值。“其他參數(shù)值”包括上下部結(jié)構(gòu)骨架坐標(biāo)系的前綴,和上下部結(jié)構(gòu)滿足IFC分類的零件模板name 屬性值。對(duì)于不同用戶,其通過EKL語(yǔ)言生成的節(jié)段坐標(biāo)系名稱前綴可能各不相同,為便于對(duì)坐標(biāo)系的識(shí)別從而與設(shè)計(jì)信息表格中的涵洞節(jié)段編號(hào)一一對(duì)應(yīng),CAA程序在此處自動(dòng)抽取幾何圖形集內(nèi)第1個(gè)坐標(biāo)系名稱的前綴用以過濾出有用的編號(hào)信息。為防止骨架編號(hào)起始值不為1,導(dǎo)致程序抽取的前綴錯(cuò)誤,程序?qū)⒋宋谋究蛟O(shè)置為可編輯,用戶可根據(jù)情況手動(dòng)修改
生成涵洞結(jié)構(gòu)模型。當(dāng)所有必需的步驟均完成時(shí),對(duì)話框的OK 按鈕即被激活,點(diǎn)擊后生成涵洞上、下部結(jié)構(gòu)模型
修改涵洞上、下部結(jié)構(gòu)節(jié)段模型。在結(jié)構(gòu)樹中雙擊特征節(jié)點(diǎn)或者在模型窗口中雙擊模型,即可打開如下圖所示的涵洞、基礎(chǔ)節(jié)段特征修改窗口,此窗口能夠根據(jù)用戶個(gè)性化需求修改節(jié)段尺寸參數(shù)和端部坐標(biāo)系
a.涵洞節(jié)段;b.基礎(chǔ)節(jié)段
涵洞節(jié)段(左),基礎(chǔ)節(jié)段(右)模型修改窗口
4實(shí)現(xiàn)語(yǔ)言及模塊設(shè)計(jì)
Dassault/CAA是基于COM 技術(shù)進(jìn)行組織開發(fā)的,因此將該設(shè)計(jì)工具劃分為3個(gè)模塊來(lái)實(shí)現(xiàn)其功能,分別為界面模塊、節(jié)段拓?fù)淠K和特征模塊。
模塊設(shè)計(jì)圖解
界面模塊用于用戶界面交互功能的實(shí)現(xiàn),分為創(chuàng)建工具條和創(chuàng)建用戶交互窗口兩部分。工具條采用Add-in的方式添加,由于涵洞上、下部結(jié)構(gòu)裝配功能和涵洞、基礎(chǔ)節(jié)段編輯功能分別嵌入到裝配設(shè)計(jì)模塊和零件設(shè)計(jì)模塊中,因此,分別實(shí)現(xiàn)CATIAssyWorkBenchAddin 和CATIPrtCfgAddin兩個(gè)接口。
首先創(chuàng)建用戶交互窗口Dialog文件,再通過對(duì)CATMmrPanelStateCmd 類的派生,重載GiveMyPanel方法,使派生類與用戶交互對(duì)話窗口Dialog文件關(guān)聯(lián)。重載BuildGraph 方法,從而完成傳統(tǒng)交互窗口無(wú)法實(shí)現(xiàn)的對(duì)話流程操作。
Build Graph方法通過命令狀態(tài)(Command?State) 和代理(Agent) 2個(gè)關(guān)鍵元素來(lái)實(shí)現(xiàn)用戶與界面的交互響應(yīng)。代理分為2種,CATDialogAgent 代理用來(lái)獲取界面控件響應(yīng),CATFeatureImportAgent繼承自CATDialogAgent,專門用來(lái)獲取特征。每個(gè)命令狀態(tài)中存儲(chǔ)了若干個(gè)代理,CAA 對(duì)某一代理所接受的用戶操作進(jìn)行判別,來(lái)決定是否執(zhí)行不同命令狀態(tài)間的轉(zhuǎn)換。
CAA建模流程圖解
涵節(jié)與基礎(chǔ)節(jié)段分別作為具有獨(dú)立幾何形狀的實(shí)體,代表這2種實(shí)體的特征需要派生自達(dá)索提供的MechanicalFormFeature基類,并為其指定屬性。屬性分為兩種類型,定位坐標(biāo)系屬于特征類型的屬性,因?yàn)樽鴺?biāo)系是一個(gè)特征,節(jié)段各幾何尺寸屬于數(shù)值類型的屬性。
達(dá)索向用戶開放3種CAA 建模工具:幾何建模工具,特征建模工具,物理建模工具。這3種建模工具在用戶定義特征的創(chuàng)建和使用過程中起到重要作用。
通過特征建模工具能夠得到該特征的抽象基類,此抽象基類僅對(duì)特征屬性進(jìn)行了聲明。物理建模工具用于定義此抽象基類,簡(jiǎn)單來(lái)說(shuō)就是物理建模工具使用一個(gè)類型接口和一個(gè)工廠接口將抽象基類具體化。特征模塊需要完成的工作即是創(chuàng)建這兩個(gè)接口:類型接口包含若干個(gè)方法,這些方法的作用是對(duì)特征屬性進(jìn)行定義,使用戶借助類型接口能夠達(dá)到提取特征屬性值和對(duì)特征屬性賦值的目的。工廠接口僅包含1個(gè)方法,此方法以屬性值作為輸入?yún)?shù),實(shí)例化得出以類型接口表示的特征結(jié)果。
節(jié)段拓?fù)淠K的作用是將特征模塊創(chuàng)建的以內(nèi)存數(shù)據(jù)表示的特征結(jié)果轉(zhuǎn)化為可視的拓?fù)湓煨汀Mㄟ^繼承CATIFmFeatureBehaviorCustomization接口,并重載此接口的Build 方法,在本方法內(nèi)部運(yùn)行幾何建模工具來(lái)生成拓?fù)湓煨汀?/p>
作為達(dá)索內(nèi)部機(jī)制,當(dāng)系統(tǒng)執(zhí)行更新操作時(shí),CATIFmFeatureBehaviorCustomization接口的Build 方法自動(dòng)被激活。作為承擔(dān)控制建模流程作用的模塊,界面模塊執(zhí)行以下流程:成功生成特征結(jié)果后,運(yùn)行更新操作,系統(tǒng)通過Build 方法觸發(fā)節(jié)段拓?fù)淠K,從而生成與特征結(jié)果相適應(yīng)的可視化拓?fù)鋷缀涡螤睢?/p>
在生成節(jié)段拓?fù)湫螤顣r(shí),以特征屬性值作為輸入元素,這些輸入元素通過類型接口提供的方法獲取。每一個(gè)節(jié)段,包括上部結(jié)構(gòu)和基礎(chǔ),其端面法線方向即Y 軸方向,與涵洞軸線方向不一致,這個(gè)斜交角度可以從涵洞數(shù)據(jù)表格中獲取。在本模塊,端部坐標(biāo)系除了用于確定模型空間位置,在生成截面關(guān)鍵點(diǎn)繼而生成幾何體的過程中也起到重要的作用。
a.涵洞節(jié)段;b.基礎(chǔ)
節(jié)段及端部坐標(biāo)系
涵洞上部結(jié)構(gòu)截面由外圈和內(nèi)圈組成,分別用6個(gè)和8個(gè)關(guān)鍵點(diǎn)表示。作為特征屬性的涵節(jié)坐標(biāo)系,其原點(diǎn)和方向向量可通過CATMathAxis類的GetOrigin,GetDirections方法獲取,繼而生成XZ平面。
涵洞上部結(jié)構(gòu)截面關(guān)鍵點(diǎn)
拓?fù)鋵觾?nèi)部操作流程如下:
對(duì)屬于CATPlane類的XZ平面執(zhí)行GetParam方法,以涵洞節(jié)段斷面尺寸為參數(shù),生成CATSurParam類型的外圈關(guān)鍵點(diǎn),這些關(guān)鍵點(diǎn)均位于XZ平面內(nèi)
使用CATGeoFactory接口的CreatePLine方法,以步驟1生成關(guān)鍵點(diǎn)和XZ平面作為輸入?yún)?shù),生成同樣位于XZ平面的屬于CATPCurve類型的6根線,這些線由外圈6個(gè)關(guān)鍵點(diǎn)依次首尾相連得到
使用CATCGMCreateTopSkin函數(shù),以步驟1生成的XZ平面和步驟2生成的外圈線組成的數(shù)組作為輸入?yún)?shù),生成CATICGMTopSkin類型的外圈蒙皮
使用CATCGMCreateTopPrism函數(shù),以步驟3生成的外圈蒙皮和涵軸方向作為輸入?yún)?shù),以涵軸長(zhǎng)度作為拉伸距離向涵軸方向拉伸,生成CATICGMTopPrism類型的拉伸體
使用與前述步驟相同的方法生成內(nèi)圈拉伸體
使用CATCGMCreateDynBoolean函數(shù),以步驟4和步驟5生成的內(nèi)外圈體作為輸入?yún)?shù)執(zhí)行布爾減操作,生成CATICGMDynBoolean類型的涵節(jié)結(jié)果
對(duì)于涵洞基礎(chǔ)節(jié)段,拓?fù)洳僮鞯牧鞒膛c上部結(jié)構(gòu)節(jié)段類似。不同的是,其截面只有一個(gè)由4個(gè)點(diǎn)組成的外圈,使用CATCGMCreateTopPrism函數(shù)執(zhí)行拉伸操作后,不再需要布爾減運(yùn)算。
框架涵端部附屬結(jié)構(gòu)
一般情況下,框架涵每個(gè)端部包含大小里程側(cè)各一個(gè)擋墻及擋墻中間的排水坡共3個(gè)結(jié)構(gòu)。由于端部附屬結(jié)構(gòu)幾何構(gòu)造復(fù)雜,以拓?fù)湔Z(yǔ)言表示比較困難,同時(shí),與涵節(jié)相比,端部附屬結(jié)構(gòu)數(shù)量較少,因此,采用實(shí)例化工程模板的方式生成端部附屬結(jié)構(gòu)模型。為了克服工程模板實(shí)例化速度慢的問題,將涵洞每個(gè)端點(diǎn)的3個(gè)結(jié)構(gòu)封裝在一個(gè)裝配文件下,這樣,對(duì)于每個(gè)涵洞工點(diǎn)僅需執(zhí)行兩次實(shí)例化操作,從而提高了建模效率。
框架涵端部附屬結(jié)構(gòu)模型及結(jié)構(gòu)樹
由上圖可以看出:端部附屬結(jié)構(gòu)模型以6個(gè)平面作為輸入元素,這些元素分別代表最外側(cè)涵洞節(jié)段的幾個(gè)平面。而在下圖中,端部涵洞節(jié)段零件除了包括節(jié)段幾何體以外,還給出了6個(gè)平面,這6個(gè)平面分別與涵洞某些特定的結(jié)構(gòu)面平行。作為端部附屬結(jié)構(gòu)模板輸入元素的6個(gè)平面和端部涵節(jié)零件發(fā)布的6個(gè)平面是一一對(duì)應(yīng)的,并且具有相同涵義的平面其名稱也相同。這樣,在實(shí)例化端部附屬結(jié)構(gòu)工程模板時(shí),就能采用meta input 的方式,不需手動(dòng)依次選擇6個(gè)輸入元素,僅選擇端部涵節(jié)零件即可完成模型實(shí)例化。
端部涵節(jié)對(duì)外發(fā)布的平面
常用的框架涵節(jié)段按照孔徑可以區(qū)分為2、3、4、5、6m 幾種類型,每種孔徑對(duì)應(yīng)若干種凈高尺寸,而每一種凈高尺寸又對(duì)應(yīng)若干種角度選擇,對(duì)于有些孔徑的涵節(jié),邊坡坡率也可以作為一個(gè)劃分原則。
以2m孔徑為例,它僅有2、2.5m 兩種凈高選項(xiàng),其類型就包含了10種,如果考慮凈高選項(xiàng)更多的其他孔徑類型,涵節(jié)類型劃分就更加復(fù)雜。
作為端部附屬結(jié)構(gòu)重要部件的擋墻,其幾何形狀由多個(gè)尺寸參數(shù)確定。同時(shí),端部擋墻的尺寸參數(shù)值,與其緊密相連的涵節(jié)型號(hào)是一一對(duì)應(yīng)的。所以,可以采用與涵節(jié)類型相同的劃分原則列出擋墻尺寸參數(shù)表,該參數(shù)表如圖12所示,放在端部附屬結(jié)構(gòu)模型的關(guān)系節(jié)點(diǎn)下。
表格數(shù)值與擋墻端部附屬結(jié)構(gòu)的尺寸參數(shù)相關(guān)聯(lián),當(dāng)成功實(shí)例化工程模板以后,根據(jù)涵節(jié)孔徑、凈高、斜交角度等參數(shù)選擇并激活對(duì)應(yīng)的數(shù)據(jù)行,端部附屬結(jié)構(gòu)尺寸自動(dòng)與該行數(shù)據(jù)關(guān)聯(lián),刷新模型后,幾何形狀隨即與新的尺寸參數(shù)匹配更新。省去查尋標(biāo)準(zhǔn)圖中的設(shè)計(jì)數(shù)據(jù)并手動(dòng)依次輸入多種尺寸參數(shù)的繁瑣過程,提高了建模效率。
因此,對(duì)于端部附屬結(jié)構(gòu),采用“選擇端部涵節(jié)模型→實(shí)例化工程模板→激活對(duì)應(yīng)設(shè)計(jì)表格行數(shù)據(jù)→更新模型”的建模流程,可以高效、精確地建立涵洞端部附屬結(jié)構(gòu)模型。
工程應(yīng)用
本期推送介紹的這種高效、精確的框架箱涵BIM建模方法已在眾多鐵路工程中得到了應(yīng)用,例如牡佳客專BIM試點(diǎn)項(xiàng)目、京沈客專BIM試點(diǎn)項(xiàng)目、京雄城際BIM項(xiàng)目等。采用這種建模方法,大幅度提高了鐵路框架箱涵的BIM建模效率和設(shè)計(jì)效率。
下圖所示為與地形相結(jié)合后的牡佳客專某框架箱涵模型。可以看出,當(dāng)鐵路框架箱涵BIM模型與三維地形結(jié)合后,之前在二維設(shè)計(jì)過程中無(wú)法充分體現(xiàn)的各種設(shè)計(jì)要素能夠更加直觀的展現(xiàn)在設(shè)計(jì)人員面前。
框架箱涵模型與地形相結(jié)合
以上介紹的方法仍然采用“骨架- 模板”的建模思想。只是對(duì)于骨架生成和節(jié)段實(shí)例化所需的數(shù)據(jù)表格,不再采用人工手動(dòng)輸入的方式生成,而是通過C#語(yǔ)言開發(fā)一個(gè)數(shù)據(jù)轉(zhuǎn)換程序,能以RCCAD文本文件為輸入條件,自動(dòng)生成數(shù)據(jù)表格。
此前,涵洞節(jié)段及基礎(chǔ)模型采用工程模板的action實(shí)例化方法生成,為了避免這種方法效率低下且穩(wěn)定性不足的缺陷,使用CAA開發(fā)出一個(gè)框架箱涵建模工具。
框架箱涵端部結(jié)構(gòu)包括擋墻和排水坡,其參數(shù)眾多、幾何構(gòu)造復(fù)雜,不適宜采用用戶定義特征的方式由CAA二次開發(fā)建模。所以,在優(yōu)化后的建模方法中,將端部附屬結(jié)構(gòu)封裝到一個(gè)裝配體中,采用工程模板的方式實(shí)例化。
內(nèi)容來(lái)源:
中國(guó)鐵路設(shè)計(jì)集團(tuán)有限公司(鐵路BIM聯(lián)盟成員單位)
齊成龍.?基于組件應(yīng)用架構(gòu)和工程模板的混凝土框架箱涵建筑信息建模優(yōu)化方法[J].?
工業(yè)建筑.
(鐵路BIM聯(lián)盟文章,轉(zhuǎn)發(fā)請(qǐng)注明出處)
歡迎留言!
如果您有好的意見和建議,也請(qǐng)不吝留言,小編會(huì)對(duì)留言進(jìn)行整理收集,建設(shè)性意見和建議會(huì)轉(zhuǎn)達(dá)聯(lián)盟秘書處
總結(jié)
以上是生活随笔為你收集整理的tvpvar模型的建模步骤_框架箱涵建筑信息建模的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmd中的进度如何捕捉到输出内容_pyt
- 下一篇: c++ fork 进程时 共享内存_li