厲海元
摘要:隨著三維工程設計平臺的逐漸成熟,二維工程設計向三維工程設計的步伐正在加快,行業(yè)內對三維的需求也更加強烈。CATIA作為一款強大的三維設計軟件,已廣泛應用于航空、機械等行業(yè),近年來也受到水電行業(yè)的重視。本文采用CATIA作為設計平臺,以c++為開發(fā)語言,利用cAA開發(fā)技術,參數化實現重力壩模型識別及多工況荷載的自動生成和提取,依據重力壩穩(wěn)定計算規(guī)范完成重力穩(wěn)定應力計算。
關鍵詞:三維工程;二維工程;CATIA
1環(huán)境
CATIA是法國Dassault system公司的CAD/CAE/CAM一體化軟件,居世界CAD/CAE/CAM領域的領導地位,廣泛應用于航空航天、汽車制造、造船、機械制造、電子、電器、消費品行業(yè),它的集成解決方案覆蓋所有的產品設計與制造領域,其特有的DMU電子樣子模塊功能及混合建模技術更是推動著企業(yè)競爭力和生產力的提高。
CATIA通過兩種方式與外部程序通信:進程內應用程序(In Process Applieation)方式和進程外應用程序(out ProcessApplication)方式。對CATIA進行二次開發(fā)一共有四種方式:Automation API,Knowledge ware,Interactive User DefinedFeature和CAAV5 C++AndJavaAPI。
三維重力壩穩(wěn)定應力計算采用進程內的CAA V5 c++And Java API方式進行開發(fā),即CAA(Component ApplicationArchitecture),語言選擇c++,定制功能與原系統(tǒng)的完美集成。開發(fā)環(huán)境選擇快速應用研發(fā)環(huán)境Rapid Application DevelopmentEnvironment(RADE),RADE是一個可視化的集成開發(fā)環(huán)境,它提供完整的編程工具組。RADEl?2Microsoft Visual Studio為載體,開發(fā)工具完全集成在了vc++環(huán)境中,并且提供了一個CAA框架程序編譯器??梢哉fCATIA CAA RADE是目前所有高端CAD/CAM開發(fā)環(huán)境中最為復雜、同時也是功能最為強大的一個。
三維重力壩穩(wěn)定應力計算最終選擇CATIA V5R21為平臺,采用c++CAA V5、基于Microsoft Visual Studio 2008的RADE作為開發(fā)環(huán)境。
2參數化模型
模型作為計算的基礎輸入元素,市面也有各種不同的三維軟件能夠完成重力壩模塊的創(chuàng)建。但由于設計人員對各類三維建模軟件的熟悉程度、習慣等各不相同,為滿足不同群體的需求,軟件提供兩種模型的建立方式:第一種為自由創(chuàng)建或第三方軟件創(chuàng)建導入,這種方式可以很好地兼容舊的重力壩模型,尊重用戶使用習慣,快速完成模型的建立;第二種為參數化自動創(chuàng)建,通過提供壩頂寬度、壩頂高程、壩底高程、上下游坡比、上下游牛腿等參數,軟件自動創(chuàng)建三維重力壩實體模型,這種模式適合標準規(guī)則的重力壩,通知參數的輸入即可完成模塊的建立,當相關設計方案修改時,只需修改相應的模型參數就可以快速完成模型的調整,加快了方案調整之后模型修改。
2.1獲取容器
CATIA是一個平臺軟件,適用于多種行業(yè)及專業(yè),各相應專業(yè)需要選擇適合于自己工作的工作臺。重力壩計算以模塊為主,選擇了零件工作臺,后續(xù)模型的創(chuàng)建及相關參數設計都以零件工作臺為基礎。軟件為了完成模型的自動創(chuàng)建,必須先通過CATFrmEditor::GetCurrentEditor()->GetDocument(、)獲取當前文檔,然后找到模型的存放位置,即通過CATInit接口獲取CATIPrtContainer容器。與零件體相關模型、參數、配置等內容都存儲于容器中,可簡單理解為對模塊操作的總入口,只有獲取到這接口可以完成后續(xù)的參數設置及模塊生成。
2.2創(chuàng)建存儲參數
為了保障系統(tǒng)的兼容性,軟件將參數存儲和管理與CATIA平臺的參數管理完美結合,可以運用平臺原生的參數管理功能遵照一定的命名規(guī)則配置模型參數。為了更好管理重力壩計算相關參數,依據CAA提供的基礎對話框(cATDlgDialog),并借助于CATIDescendants接口,從CATIPrtContainer獲取到CATICkeParmFactoryT廠,將參數逐個存儲于零件體模型中,定制化開發(fā)了重力壩模型參數及穩(wěn)定應力計算參數,集中管理所有參數,對話框能與CATIA平臺完美集成,確保軟件與平臺的高度集成與一致,又定制化提供專業(yè)可視化交互界面,讓專業(yè)知識與平臺軟件融為一體。
2.3生成草圖
在完成模型參數的創(chuàng)建與保存之后,需要根據參數生成一個重力壩截面,在以零件體為載體的模型中,都必須創(chuàng)建一個草圖,在草圖中完成截面圖形的生成,用程序具體實現步驟如下:
(1)從cATIPrtcontainer容器中獲取機械根工廠(cATIMe chanicalRootFactory),然后使用CreateOrderedGeometricalSet函數創(chuàng)建有序幾何圖形集(CATIMmiOrderedGeometricalSet)。
(2)從CATIPrtContainer容器中獲取草圖工廠(CATISketchFactory),然后使用CreateSketch函數創(chuàng)建一個草圖(CATISketch)。
(3)獲取草圖(CATISketch)接口獲取到二維圖形工廠(CATl2DWFFactory),使用CreateConstraint創(chuàng)建重力壩控制點。
(4)獲取草圖(CATISketch)接口獲取到二維圖形工廠(CATl2DWFFactory),使用CreateLine創(chuàng)建連接線,將所有控制點順序連接,構成一個封閉的區(qū)域。
2.4拉伸模型
模型生成的最后一步就是根據創(chuàng)建的草圖,使用拉伸的方法將草圖拉伸成一個模型,在CATIA平臺中,主要是利用前一步所生成的草圖(cATISketch),拉伸成凸臺,軟件具體實現步驟如下:
(1)從零件容器(CATIPrtContainer)獲取零件工廠(CATIPrtFactory),
(2)調用CreatePad創(chuàng)建一個凸臺。
(3)通過參數服務(cAACkeParms ervice)的CreateRelation函數創(chuàng)建相關參數的關聯。
(4)通過參數服務(CAACkeParms ervice)的PublisherRelation~布相關聯的參數。
(5)獲取凸臺的CATISpecObject接口,更新重力壩模型。
至此就完成重力模型的創(chuàng)建。
3荷載生成
重力壩穩(wěn)定應力計算的荷載主要包括壩體、水、土、沙、浪、冰、地震等幾大類,在三維軟件中為了完成荷載數據的提取,需要將各類荷載根據參數生成一個個三維體,然后提取其體積乘以密度得出相關的荷載量。
重力壩穩(wěn)定計算為了滿足實際工作環(huán)境的需要,需要在正常蓄水位、設計洪水位、冰凍工況、校核洪水位、地震工況、完建工況六個工況分別完成相應的荷載的生成與提取。
軟件在CATIA的導航樹下使有序幾何圖形集創(chuàng)建六個頂級工況節(jié)點分別表示六個工況,然后再分別創(chuàng)建水平荷載,垂直荷載,第三級則是分別創(chuàng)建各類水壓力、水壓力、淤沙壓力、浪壓力等,標準荷載的創(chuàng)建由程序通過荷載參數按壩體創(chuàng)建的方式,先創(chuàng)建一個截面草圖,然后使用CATIGSMFactory的CreateExtrude函數創(chuàng)建包絡體,根據設計需要,也可以在相應節(jié)點下創(chuàng)建自定義的荷載。
4穩(wěn)定、應力計算
本二次開發(fā)程序與水工專業(yè)提供的重力壩Excel標準計算算稿對接,Excel標準算稿按照《混凝土重力壩設計規(guī)范》(DL5108-1999)中穩(wěn)定、應力的規(guī)范計算方法編制。
按導航樹對各工況荷載創(chuàng)建情況,系統(tǒng)通過CATIMeasurableVolume接口逐一獲取各工況下荷載體的體積,然后根據對不同荷載賦予的重度生成對應的荷載值,填充到Excel算稿對應的位置,并依據右手螺旋定則計算出各方向合力。Excel標準算稿根據《混凝土重力壩設計規(guī)范》的要求,提供穩(wěn)定、應力計算規(guī)則以及計算結果判斷標準。標準算稿將會根據上述計算出的各方向合力以及重力壩壩基幾何屬性參數,計算出重力壩在各種工況下的滑動力、壩踵壩趾應力的作用函數值,并與給定的抗力函數值進行比對,自動判斷各相應工況下穩(wěn)定、應力計算結果是否滿足規(guī)范要求,對于不滿足規(guī)范要求的計算結果以紅色突出顯示,只需修改相應計算基本參數或修改重力壩尺寸,然后即可一鍵重新進行計算,直到滿足規(guī)范要求為止。
Excel標準算稿按照相關標準編制,生成的計算結果可直接打印,作為正式算稿使用。
5結束語
借助三維設計平臺,利用CATIA成熟的二次開發(fā)技術,將繁雜的重力壩穩(wěn)定計算與三維設計完美結合,實現了參數化荷載自動生成,能夠直觀展現出各荷載的大小,便于對各類荷載的檢查與調整,在提高計算效率的同時,保證計算結果的精度;利軟件實現計算稿的生成,保證了計算稿的統(tǒng)一規(guī)范,給后續(xù)校核審查提供有利條件,提高工程整體設計質量。三維重力壩穩(wěn)定計算也是對當前二維設計向三維設計變革中一次大膽嘗試,為后續(xù)水電工程設計在三維平臺中的設計積累了豐富的經驗,對其家的工程類的三維計算、三維工程出圖等都有著積極的借鑒意義。