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