Pro/TOOLKIT與VC++的減速器參數化設計系統二次開發
以直齒圓柱齒輪二級減速器為研究對象,在Pro/E平臺上通過“自下而上”的模式建立其模型樣板。在Visual Studio 2008編譯環境下,以Pro/TOOLKIT和Visual C++9.0作為二次開發工具,創建了各主要零部件的參數化設計對話框,在此基礎上,采用動態鏈接庫方式成功開發出了基于Pro/E的人機交互主界面,增強了減速器產品設計的靈活性,為減速器參數化通用設計平臺的實現奠定了基礎。
引言
隨著CAD/CAE/CAM技術的飛速發展,三維造型、參數化設計和虛擬現實技術等新概念、新方法已滲透到工程設計領域,使傳統的結構設計模式正在發生深刻變化。減速器是一種典型的傳動裝置,在機械、汽車、電子、航空航天等領域被廣泛應用。減速器結構復雜,研發過程涉及多個零部件的設計、制造及裝配,傳統方法只是一種針對固定結構尺寸的單一設計模式,一旦涉及到減速器的結構改進或產品改型,這種固有的設計模式不僅會大量地增加成本和人工,而且不能在較短時間內響應市場要求,在一定程度上制約了企業利潤的增長。為了使減速器的設計更具靈活性,更好的適應產品改型及市場要求,本文以Pro/E提供的二次開發工具Pro/TOOLKIT為平臺,在Visual C++環境下進行編程,成功開發出了一套基于Pro/E的減速器參數化設計人機交互界面。
1、參數化設計基本思路
參數化設計是一種使用幾何參數快速構建和修改產品結構模型的方法。通過參數化設計技術,只要改變一個或多個重要參數就可以實現模型的更改和重建,與傳統設計方法相比,參數化設計最大的不同在于存儲了整個設計過程,能設計出一族而不是單一的產品模型。
Pro/E最早提出的全參數化設計(單一數據庫)理念一直沿用至今,同時也被多款三維設計軟件所借鑒,如UG、SolidWorks等。Pro/E具有十分強大的參數化設計功能,其主要特點是全數據相關、尺寸驅動設計修改、全尺寸約束。對于單一零件實體,可通過修改一個或多個設計參數來實現模型的驅動;對于由多個零部件組成的機械系統,可通過設立關系式及編寫程序對其進行參數控制,從而實現對于裝配體的參數化設計。
圖1 參數化設計基本原理
如圖1所示,Pro/E參數化設計的基本原理是采用三維模型與程序控制相結合的方式,在已有零件三維模型(原始模型)基礎上,根據設計要求建立一組可以完全控制零件實體形狀及幾何尺寸的設計參數,同時建立模型參數數據庫,并在Relation命令下定義各參數的約束關系。模型的重建不是由程序控制的,而是通過人機交互方式生成。利用Pro/E提供的用戶化工具箱Pro/TOOLKIT開發出可視化用戶界面,然后參數化程序對模型的設計參數進行編程,通過交互對話框實現模型數據的檢索、修改和更新,最后生成新的模型。
2、二次開發流程
2.1、參數化設計的實現
要實現模型的參數化驅動,首先必須建立一個模型樣板,對其設置合理的參數,并對這些參數進行命名和初始賦值,通過正確分析模型各參數之間的關聯性來定義參數驅動關系,最后存模型作為參數化設計系統的原始模型。直齒圓柱齒輪二級減速器包含多個零部件,限于篇幅,本文僅以高速齒輪軸為例,對其參數化設計基本過程及交互界面的二次開發進行介紹。高速齒輪軸由軸和齒輪兩部分構成,其模型樣板如圖2所示。
圖2 高速齒輪軸模型樣板
圖3 【參數】與【關系】選項
對于軸的參數化設計主要包括各軸段的長度L、直徑D、以及其他相關的特征參數,參數之間的相互約束關系是模型參數化驅動的依據。對于軸上齒輪的參數化設計,需分析多個結構參數之間的關系,包括:齒數、模數、壓力角、分度圓直徑、基圓直徑、齒頂圓直徑、齒根圓直徑、齒頂高系數、頂隙系數和齒寬等,根據這些參數之間的關系來區分設計模型的主動驅動參數和從動驅動參數。齒輪軸的模型樣板建立完成后,通過Pro/E的參數選項對其設置約束參數并賦予初值,主動驅動參數設定為在交互界面上需要輸入的參數,從動驅動參數與主動驅動參數之間的約束可通過關系選項來定義,如圖3所示。
2.2、交互界面二次開發
選用Visual Studio 2008為編譯平臺,通過Pro/TOOLKIT與Visual C++9.0開發齒輪軸的交互界面。Visual Studio 2008是目前最流行的Windows平臺應用程序開發環境,可以用它來開發多種Windows下的軟件項目[6]。Pro/TOOLKIT模塊有兩種工作模式:同步模式和異步模式。由于異步模式代碼復雜、執行速度慢,所以本文采用同步模式進行二次開發設計。在同步模式下,Pro/TOOLKIT必須與Pro/E系統同步運行,同步模式又包含兩種運行模式:動態鏈接模式(DLL Mode)與多進程模式(Multiprocess Mode)。動態鏈接模式是將用戶編寫的C程序編譯成一個DLL文件,使Pro/TOOLKIT和Pro/E在同一進程中運行,通過直接調用函數實現信息交換。多進程模式是將用戶的C程序編譯成一個可執行文件,Pro/TOOLKIT和Pro/E運行在各自的進程中,兩者之間的信息交換是由消息系統來完成的。由于DLL模式的運行度快,函數調用及信息交換方便,因此本文選用同步模式下的動態鏈接模式。
圖4 參數化設計交互界面
低速軸及中間軸的交互界面如圖4所示,每個組合框控件都可以在定義范圍內輸入不同的數值,從而控制軸和齒輪的結構參數,如齒數、模數、軸段長度和直徑等,參數設置完成后點“確定”按鈕就可更新數據,生成新的齒輪軸模型。
3、人機交互主界面
完成各主要零部件的參數化設計及交互界面設計后,可將其集成到一個主界面上統一管理。本文采用“自下而上(Down-Top Design)”的設計模式,首先建立減速器各主要零部件的參數化模型,實現單個零部件的參數化尺寸驅動,在此基礎上對其進行裝配設計,裝配完成的減速器整機模型如圖5所示。建模過程考慮了標準齒輪的正確嚙合條件及連續傳動條件,由此保證了各零部件參數改變后減速器的傳動關系及裝配關系隨之更新,避免了模型在重建時發生干涉及碰撞。
圖5 減速器整機模型(Pro/E環境下)
圖6 減速器參數化設計系統主界面
開發完成的減速器參數化設計系統主界面如圖6所示,共包括11個主要零部件:低速齒輪軸、中間軸、高速軸、傳動齒輪(3個)、端蓋、密封圈、軸承、箱體座和箱體蓋,各零部件之間通過單一數據庫相互關聯。當要更改減速器某個零部件的結構參數時,只需雙擊主界面上的位圖按鈕就會彈出相應的參數化設計對話框,例如圖6中的標準件軸承,雙擊打開軸承參數化設計對話框,對于高速軸、中間軸及低速軸可選擇不同的軸承型號,每個型號的徑向尺寸d1、d2、d3、d4及軸向尺寸b1、b2、b3均不相同,點確定后Pro/E系統會自動更新數據庫重建軸承模型,與此同時減速器系統也會自動更改與軸承參數相關聯的結構尺寸,如軸頸、密封圈及箱體壁上的孔直徑等。其余10個零部件也具有類似的參數化設計與關聯性設計功能,鑒于篇幅不再熬述。通過人機交互主界面可以方便、快捷地對減速器多個結構參數進行同步修改,大大提高了工作效率與設計質量,為減速器的系列化設計與結構改進提供了支持,同時也為同類產品的參數化設計系統二次開發積累了經驗。
4、結束語
本文將Pro/E的參數化技術應用于減速器設計,通過Pro/TOOLKIT工具箱與Visual C++9.0編譯平臺實現了減速器參數化設計系統的二次開發,成功創建了基于Pro/E的人機交互主界面,簡化了減速器的設計流程,可方便、快捷的設計出用戶所要求的減速器類型,大大減少了重復性設計工作。本系統運行穩定,可滿足減速器零件庫快速建模及產品系列化設計要求,為減速器參數化通用設計平臺的實現奠定了基礎。同時,對其他機械產品的參數化設計與通用平臺開發提供了技術參考。