Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

2014-11-27 邱海飛 西京學(xué)院機電工程系

  以直齒圓柱齒輪二級減速器為研究對象,在Pro/E平臺上通過“自下而上”的模式建立其模型樣板。在Visual Studio 2008編譯環(huán)境下,以Pro/TOOLKIT和Visual C++9.0作為二次開發(fā)工具,創(chuàng)建了各主要零部件的參數(shù)化設(shè)計對話框,在此基礎(chǔ)上,采用動態(tài)鏈接庫方式成功開發(fā)出了基于Pro/E的人機交互主界面,增強了減速器產(chǎn)品設(shè)計的靈活性,為減速器參數(shù)化通用設(shè)計平臺的實現(xiàn)奠定了基礎(chǔ)。

  引言

  隨著CAD/CAE/CAM技術(shù)的飛速發(fā)展,三維造型、參數(shù)化設(shè)計和虛擬現(xiàn)實技術(shù)等新概念、新方法已滲透到工程設(shè)計領(lǐng)域,使傳統(tǒng)的結(jié)構(gòu)設(shè)計模式正在發(fā)生深刻變化。減速器是一種典型的傳動裝置,在機械、汽車、電子、航空航天等領(lǐng)域被廣泛應(yīng)用。減速器結(jié)構(gòu)復(fù)雜,研發(fā)過程涉及多個零部件的設(shè)計、制造及裝配,傳統(tǒng)方法只是一種針對固定結(jié)構(gòu)尺寸的單一設(shè)計模式,一旦涉及到減速器的結(jié)構(gòu)改進或產(chǎn)品改型,這種固有的設(shè)計模式不僅會大量地增加成本和人工,而且不能在較短時間內(nèi)響應(yīng)市場要求,在一定程度上制約了企業(yè)利潤的增長。為了使減速器的設(shè)計更具靈活性,更好的適應(yīng)產(chǎn)品改型及市場要求,本文以Pro/E提供的二次開發(fā)工具Pro/TOOLKIT為平臺,在Visual C++環(huán)境下進行編程,成功開發(fā)出了一套基于Pro/E的減速器參數(shù)化設(shè)計人機交互界面。

1、參數(shù)化設(shè)計基本思路

  參數(shù)化設(shè)計是一種使用幾何參數(shù)快速構(gòu)建和修改產(chǎn)品結(jié)構(gòu)模型的方法。通過參數(shù)化設(shè)計技術(shù),只要改變一個或多個重要參數(shù)就可以實現(xiàn)模型的更改和重建,與傳統(tǒng)設(shè)計方法相比,參數(shù)化設(shè)計最大的不同在于存儲了整個設(shè)計過程,能設(shè)計出一族而不是單一的產(chǎn)品模型。

  Pro/E最早提出的全參數(shù)化設(shè)計(單一數(shù)據(jù)庫)理念一直沿用至今,同時也被多款三維設(shè)計軟件所借鑒,如UG、SolidWorks等。Pro/E具有十分強大的參數(shù)化設(shè)計功能,其主要特點是全數(shù)據(jù)相關(guān)、尺寸驅(qū)動設(shè)計修改、全尺寸約束。對于單一零件實體,可通過修改一個或多個設(shè)計參數(shù)來實現(xiàn)模型的驅(qū)動;對于由多個零部件組成的機械系統(tǒng),可通過設(shè)立關(guān)系式及編寫程序?qū)ζ溥M行參數(shù)控制,從而實現(xiàn)對于裝配體的參數(shù)化設(shè)計。

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖1 參數(shù)化設(shè)計基本原理

  如圖1所示,Pro/E參數(shù)化設(shè)計的基本原理是采用三維模型與程序控制相結(jié)合的方式,在已有零件三維模型(原始模型)基礎(chǔ)上,根據(jù)設(shè)計要求建立一組可以完全控制零件實體形狀及幾何尺寸的設(shè)計參數(shù),同時建立模型參數(shù)數(shù)據(jù)庫,并在Relation命令下定義各參數(shù)的約束關(guān)系。模型的重建不是由程序控制的,而是通過人機交互方式生成。利用Pro/E提供的用戶化工具箱Pro/TOOLKIT開發(fā)出可視化用戶界面,然后參數(shù)化程序?qū)δP偷脑O(shè)計參數(shù)進行編程,通過交互對話框?qū)崿F(xiàn)模型數(shù)據(jù)的檢索、修改和更新,最后生成新的模型。

2、二次開發(fā)流程

  2.1、參數(shù)化設(shè)計的實現(xiàn)

  要實現(xiàn)模型的參數(shù)化驅(qū)動,首先必須建立一個模型樣板,對其設(shè)置合理的參數(shù),并對這些參數(shù)進行命名和初始賦值,通過正確分析模型各參數(shù)之間的關(guān)聯(lián)性來定義參數(shù)驅(qū)動關(guān)系,最后存模型作為參數(shù)化設(shè)計系統(tǒng)的原始模型。直齒圓柱齒輪二級減速器包含多個零部件,限于篇幅,本文僅以高速齒輪軸為例,對其參數(shù)化設(shè)計基本過程及交互界面的二次開發(fā)進行介紹。高速齒輪軸由軸和齒輪兩部分構(gòu)成,其模型樣板如圖2所示。

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖2 高速齒輪軸模型樣板

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖3 【參數(shù)】與【關(guān)系】選項

  對于軸的參數(shù)化設(shè)計主要包括各軸段的長度L、直徑D、以及其他相關(guān)的特征參數(shù),參數(shù)之間的相互約束關(guān)系是模型參數(shù)化驅(qū)動的依據(jù)。對于軸上齒輪的參數(shù)化設(shè)計,需分析多個結(jié)構(gòu)參數(shù)之間的關(guān)系,包括:齒數(shù)、模數(shù)、壓力角、分度圓直徑、基圓直徑、齒頂圓直徑、齒根圓直徑、齒頂高系數(shù)、頂隙系數(shù)和齒寬等,根據(jù)這些參數(shù)之間的關(guān)系來區(qū)分設(shè)計模型的主動驅(qū)動參數(shù)和從動驅(qū)動參數(shù)。齒輪軸的模型樣板建立完成后,通過Pro/E的參數(shù)選項對其設(shè)置約束參數(shù)并賦予初值,主動驅(qū)動參數(shù)設(shè)定為在交互界面上需要輸入的參數(shù),從動驅(qū)動參數(shù)與主動驅(qū)動參數(shù)之間的約束可通過關(guān)系選項來定義,如圖3所示。

  2.2、交互界面二次開發(fā)

  選用Visual Studio 2008為編譯平臺,通過Pro/TOOLKIT與Visual C++9.0開發(fā)齒輪軸的交互界面。Visual Studio 2008是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境,可以用它來開發(fā)多種Windows下的軟件項目[6]。Pro/TOOLKIT模塊有兩種工作模式:同步模式和異步模式。由于異步模式代碼復(fù)雜、執(zhí)行速度慢,所以本文采用同步模式進行二次開發(fā)設(shè)計。在同步模式下,Pro/TOOLKIT必須與Pro/E系統(tǒng)同步運行,同步模式又包含兩種運行模式:動態(tài)鏈接模式(DLL Mode)與多進程模式(Multiprocess Mode)。動態(tài)鏈接模式是將用戶編寫的C程序編譯成一個DLL文件,使Pro/TOOLKIT和Pro/E在同一進程中運行,通過直接調(diào)用函數(shù)實現(xiàn)信息交換。多進程模式是將用戶的C程序編譯成一個可執(zhí)行文件,Pro/TOOLKIT和Pro/E運行在各自的進程中,兩者之間的信息交換是由消息系統(tǒng)來完成的。由于DLL模式的運行度快,函數(shù)調(diào)用及信息交換方便,因此本文選用同步模式下的動態(tài)鏈接模式。

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖4 參數(shù)化設(shè)計交互界面

  低速軸及中間軸的交互界面如圖4所示,每個組合框控件都可以在定義范圍內(nèi)輸入不同的數(shù)值,從而控制軸和齒輪的結(jié)構(gòu)參數(shù),如齒數(shù)、模數(shù)、軸段長度和直徑等,參數(shù)設(shè)置完成后點“確定”按鈕就可更新數(shù)據(jù),生成新的齒輪軸模型。

3、人機交互主界面

  完成各主要零部件的參數(shù)化設(shè)計及交互界面設(shè)計后,可將其集成到一個主界面上統(tǒng)一管理。本文采用“自下而上(Down-Top Design)”的設(shè)計模式,首先建立減速器各主要零部件的參數(shù)化模型,實現(xiàn)單個零部件的參數(shù)化尺寸驅(qū)動,在此基礎(chǔ)上對其進行裝配設(shè)計,裝配完成的減速器整機模型如圖5所示。建模過程考慮了標(biāo)準齒輪的正確嚙合條件及連續(xù)傳動條件,由此保證了各零部件參數(shù)改變后減速器的傳動關(guān)系及裝配關(guān)系隨之更新,避免了模型在重建時發(fā)生干涉及碰撞。

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖5 減速器整機模型(Pro/E環(huán)境下)

Pro/TOOLKIT與VC++的減速器參數(shù)化設(shè)計系統(tǒng)二次開發(fā)

圖6 減速器參數(shù)化設(shè)計系統(tǒng)主界面

  開發(fā)完成的減速器參數(shù)化設(shè)計系統(tǒng)主界面如圖6所示,共包括11個主要零部件:低速齒輪軸、中間軸、高速軸、傳動齒輪(3個)、端蓋、密封圈、軸承、箱體座和箱體蓋,各零部件之間通過單一數(shù)據(jù)庫相互關(guān)聯(lián)。當(dāng)要更改減速器某個零部件的結(jié)構(gòu)參數(shù)時,只需雙擊主界面上的位圖按鈕就會彈出相應(yīng)的參數(shù)化設(shè)計對話框,例如圖6中的標(biāo)準件軸承,雙擊打開軸承參數(shù)化設(shè)計對話框,對于高速軸、中間軸及低速軸可選擇不同的軸承型號,每個型號的徑向尺寸d1、d2、d3、d4及軸向尺寸b1、b2、b3均不相同,點確定后Pro/E系統(tǒng)會自動更新數(shù)據(jù)庫重建軸承模型,與此同時減速器系統(tǒng)也會自動更改與軸承參數(shù)相關(guān)聯(lián)的結(jié)構(gòu)尺寸,如軸頸、密封圈及箱體壁上的孔直徑等。其余10個零部件也具有類似的參數(shù)化設(shè)計與關(guān)聯(lián)性設(shè)計功能,鑒于篇幅不再熬述。通過人機交互主界面可以方便、快捷地對減速器多個結(jié)構(gòu)參數(shù)進行同步修改,大大提高了工作效率與設(shè)計質(zhì)量,為減速器的系列化設(shè)計與結(jié)構(gòu)改進提供了支持,同時也為同類產(chǎn)品的參數(shù)化設(shè)計系統(tǒng)二次開發(fā)積累了經(jīng)驗。

4、結(jié)束語

  本文將Pro/E的參數(shù)化技術(shù)應(yīng)用于減速器設(shè)計,通過Pro/TOOLKIT工具箱與Visual C++9.0編譯平臺實現(xiàn)了減速器參數(shù)化設(shè)計系統(tǒng)的二次開發(fā),成功創(chuàng)建了基于Pro/E的人機交互主界面,簡化了減速器的設(shè)計流程,可方便、快捷的設(shè)計出用戶所要求的減速器類型,大大減少了重復(fù)性設(shè)計工作。本系統(tǒng)運行穩(wěn)定,可滿足減速器零件庫快速建模及產(chǎn)品系列化設(shè)計要求,為減速器參數(shù)化通用設(shè)計平臺的實現(xiàn)奠定了基礎(chǔ)。同時,對其他機械產(chǎn)品的參數(shù)化設(shè)計與通用平臺開發(fā)提供了技術(shù)參考。