Pro/E二次開(kāi)發(fā)在模型檢查技術(shù)中的應用
近年來(lái),人們運用CAD/CAE的先進(jìn)設計方法,提高了產(chǎn)品的設計質(zhì)量,獲得了顯著(zhù)的經(jīng)濟效益,但也逐漸認識到了它在應用中出現的各種問(wèn)題。在利用有限元法分析結構空間尺寸復雜的產(chǎn)品時(shí),需要將建好的CAD模型轉換輸出到CAE系統中,但數據傳遞過(guò)程中往往會(huì )出現各種問(wèn)題,耗費用戶(hù)巨大的時(shí)間和精力。本文為了能夠順利地進(jìn)行有限元分析計算,從研究CAD/CAE模型轉換出發(fā),基于VC平臺對Pro/E二次開(kāi)發(fā)技術(shù)做了一定的探索研究,成功實(shí)現了模型轉換前CAD模型的預先檢查。
1、引言
近年來(lái),隨著(zhù)數值算法的研究深入和計算機軟硬件技術(shù)的飛速發(fā)展,關(guān)于有限元CAE的研究也取得了很大的進(jìn)展,人們通過(guò)運用CAD/CAE等的先進(jìn)設計方法,提高了產(chǎn)品的設計質(zhì)量,獲得了顯著(zhù)的經(jīng)濟效益。與此同時(shí),也逐漸認識到了它在應用中出現的各種問(wèn)題。一般情況下,在利用有限元法分析結構空間尺寸復雜的產(chǎn)品時(shí),首要的任務(wù)是根據設計想法構建CAD模型,適當地處理后通過(guò)接口轉換輸出到CAE系統中,通過(guò)各種有限元軟件如ANSYS等在其基礎上進(jìn)行網(wǎng)格劃分,再將獲得了網(wǎng)格數據(節點(diǎn)和單元)的有限元模型進(jìn)行分析計算。而分析的成功與否,直接取決于模型轉換質(zhì)量的好壞。
現在大量用戶(hù)使用Pro/E建立實(shí)體模型,再導入ANSYS中進(jìn)行分析計算。事實(shí)上在從Pro/E將數據傳遞給ANSYS的過(guò)程中往往會(huì )出現問(wèn)題,比如零件模型自身有幾何缺陷如尖角、小面造成劃分網(wǎng)格困難或者數據丟失、裝配間隙和干涉造成不能劃分網(wǎng)格等。在A(yíng)NSYS中劃分網(wǎng)格出現問(wèn)題時(shí),大多數用戶(hù)對彈出的出錯提示都很茫然,不清楚到底是哪里出現了問(wèn)題,就需要不停試著(zhù)地去修改,這樣不停的嘗試耗費了用戶(hù)巨大的時(shí)間和精力,而且取得不了顯著(zhù)的效果。這樣就需要開(kāi)發(fā)一些針對性較強的專(zhuān)用插件,能夠預先在CAD軟件中檢查出模型哪些地方ANSYS分析時(shí)會(huì )出現問(wèn)題并修改,提前解決掉大部分常見(jiàn)的問(wèn)題,節省設計時(shí)間。
本文采用Pro/Engineer所自帶的二次開(kāi)發(fā)程序Pro/Toolkit結合Visual C++ 6.0來(lái)對Pro/Engineer進(jìn)行零件幾何檢查,以及裝配件間裝配間隙檢查的二次開(kāi)發(fā)應用技術(shù)研究,旨為用戶(hù)提供一個(gè)操作簡(jiǎn)單的模型檢查模塊,解決大部分在CAD/CAE模型轉換中發(fā)現的常見(jiàn)問(wèn)題。
2、Pro/ENGINEER二次開(kāi)發(fā)簡(jiǎn)介
Pro/ENGINEER為用戶(hù)提供了多種二次開(kāi)發(fā)工具,其中Pro/TOOLKIT是PTC公司自行研發(fā)的功能強大的二次開(kāi)發(fā)工具,它提供了應用程序接口(API),使客戶(hù)或第三方廠(chǎng)商具有擴展Pro/ENGINEER功能的能力。要編寫(xiě)一個(gè)完整的二次開(kāi)發(fā)程序需要經(jīng)過(guò)編寫(xiě)源文件(Pro/TOOLKITC程序、菜單資源文件、信息資源文件、對話(huà)框資源文件),程序的編譯和連接,程序的注冊和運行等過(guò)程,流程如圖1所示。

圖1 開(kāi)發(fā)流程
2.1、編寫(xiě)源文件
源文件包括資源文件和程序源文件,資源文件又包括菜單資源文件、信息資源文件和對話(huà)框資源文件(分別用來(lái)完成創(chuàng )建和修改Pro/Engineer菜單、窗口信息和對話(huà)框等功能)。
2.1.1、編寫(xiě)程序源文件
VC++源程序是整個(gè)程序源文件的核心部分,是進(jìn)行二次開(kāi)發(fā)的關(guān)鍵,其編寫(xiě)步驟如下:
1)打開(kāi)VC,新建工程,選擇動(dòng)態(tài)鏈接庫DLL方式。
2)VC++6.0應用程序與Pro/E的接口設置首先設置Selecting對話(huà)框:在工具/選項/目錄中添加包含文件和庫文件,將其設置到Pro/TOOLKIT的根目錄下。然后進(jìn)行工程設置如下:C/C++/預處理程序定義:_DEBUG,_WINDLL,WIN32,_WINDOWS,_MBCS,_USRDLL,PRO_USE_VAR_ARGS。連接/常規/對象/庫模塊:protk_dll.libprodev_dll.libwsock32.libmpr.libkerne132.libuser32.libodbc32.libodbccp32.lib。
3)在VC++應用程序設計向導創(chuàng )建的程序框架上添加初始化程序、終止程序,加入主菜單程序,設置菜單動(dòng)作程序,菜單信息文本文件,對話(huà)框程序等。
2.1.2、編寫(xiě)資源文件
1)編寫(xiě)菜單資源文件菜單信息文本文件用來(lái)描述所添加菜單的一些屬性,它的內容要和添加菜單函數中的一些參數相對應。
2)編寫(xiě)對話(huà)框資源文件
描述了對話(huà)框中全部結構的文本稱(chēng)為對話(huà)框資源文件。當Pro/TOOLKIT應用程序想向用戶(hù)顯示一個(gè)對話(huà)框時(shí),第一步工作即是編寫(xiě)對話(huà)框資源文件。在資源文件中應該詳細描述:對話(huà)框的完整屬性、它所包含的組件的列表、組件本身的屬性和組件間的相對位置以及當用戶(hù)改變對話(huà)框尺寸時(shí)組件的布置規則。
3)編寫(xiě)注冊文件
要使應用程序能夠集成到Pro/E系統中運行,必須制作一個(gè)擴展名為.DAT的注冊文件,用該文件進(jìn)行應用程序的注冊。注冊文件(registryfile)的作用是向Pro/Engineer系統傳遞應用程序的信息。
2.2、程序的編譯和連接
在VC++6.0中將MFC框架建立的工程文件的源碼編譯成目標碼并存盤(pán),若源碼內有語(yǔ)法錯誤,編譯器就會(huì )檢查出來(lái)并向用戶(hù)顯示。編譯完畢后利用一個(gè)連接器程序加進(jìn)從函數庫取用的函數,才變成一個(gè).DLL文件(可運行文件)。
2.3、程序的注冊與運行
啟動(dòng)Pro/Engineer,點(diǎn)擊“工具/輔助應用程序”,“注冊/啟動(dòng)”ProTK.dat文件,應用程序會(huì )自動(dòng)執行。如果在注冊文件中設置ALLOW_STOP為T(mén)RUE,則可以在需要的時(shí)候用手工來(lái)終止應用程序的運行。選擇需要終止的應用程序,先選擇“停止”按鈕,再單擊“刪除”按鈕,即可終止加載的程序,同時(shí)消息欄會(huì )出現相關(guān)的反饋信息。到此Pro/E二次開(kāi)發(fā)的流程基本結束,下面重點(diǎn)敘述本文對二次開(kāi)發(fā)的創(chuàng )新應用。
5、結論
激烈的市場(chǎng)競爭對企業(yè)產(chǎn)品的設計水平提出了越來(lái)越高的要求,CAD/CAE及其二次開(kāi)發(fā)技術(shù)的應用,能幫助設計人員減少失誤,提高產(chǎn)品的性能和質(zhì)量,加快產(chǎn)品開(kāi)發(fā)的步伐,增加企業(yè)在市場(chǎng)上的競爭力。本文不僅總結了Pro/E二次開(kāi)發(fā)的技術(shù)特點(diǎn),而且成功開(kāi)發(fā)出了適用于有限元檢查的Pro/E檢查模塊。