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