徐鵬,趙秀艷,張開(kāi)興,王麗,劉賢喜*
1.山東農(nóng)業(yè)大學(xué)機(jī)械與電子工程學(xué)院,山東泰安271018
2.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018
基于Pro/Toolkit的膜片彈簧離合器參數(shù)化系統(tǒng)的設(shè)計(jì)
徐鵬1,趙秀艷2,張開(kāi)興1,王麗1,劉賢喜1*
1.山東農(nóng)業(yè)大學(xué)機(jī)械與電子工程學(xué)院,山東泰安271018
2.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018
傳統(tǒng)的機(jī)械產(chǎn)品開(kāi)發(fā)過(guò)程,從設(shè)計(jì)到最終成型需要反復(fù)修改,使產(chǎn)品開(kāi)發(fā)的周期長(zhǎng),成本高。而建立一個(gè)參數(shù)化系統(tǒng),利用人機(jī)交互的方式對(duì)產(chǎn)品尺寸進(jìn)行參數(shù)化處理,可以大大提高設(shè)計(jì)的效率,縮短設(shè)計(jì)周期。本文主要講述了利用Pro/Toolkit的二次開(kāi)發(fā)功能,利用VC作為開(kāi)發(fā)工具,建立一個(gè)以膜片彈簧離合器各零件為主的參數(shù)化系統(tǒng)的具體實(shí)現(xiàn)過(guò)程。
Pro/Toolkit;二次開(kāi)發(fā);參數(shù)化設(shè)計(jì);離合器
Pro/Engineer是由美國(guó)PTC公司開(kāi)發(fā)的三維CAD/CAM系統(tǒng),它具有基于特征、參數(shù)化、全相關(guān)等特點(diǎn),被廣泛的應(yīng)用于造型設(shè)計(jì)、模具設(shè)計(jì)、加工處理、機(jī)構(gòu)分析、有限元分析以及相關(guān)數(shù)據(jù)庫(kù)管理系統(tǒng)等多個(gè)領(lǐng)域。
Pro/E為用戶(hù)提供了多種形式的二次開(kāi)發(fā)工具,常用的有:族表(Family Table)、用戶(hù)自定義特征(UDF)、Pro/Program、J-Link和Pro/Toolkit等。其中Pro/Toolkit是基于C語(yǔ)言的功能強(qiáng)大的開(kāi)發(fā)工具,用戶(hù)通過(guò)編譯C程序代碼擴(kuò)充Pro/E的系統(tǒng)功能,從而滿(mǎn)足用戶(hù)的特殊要求。[1~2]
本文主要以膜片彈簧離合器為例,利用Pro/Toolkit的二次開(kāi)發(fā)功能,使用VC語(yǔ)言編寫(xiě)代碼,用戶(hù)通過(guò)參數(shù)化界面輸入尺寸參數(shù),實(shí)現(xiàn)對(duì)膜片彈簧離合器各零部件的快速設(shè)計(jì),從而縮短設(shè)計(jì)周期,提高設(shè)計(jì)質(zhì)量。下文中敘述實(shí)現(xiàn)過(guò)程主要以離合器中的壓盤(pán)為例,其他零件參數(shù)化過(guò)程與壓盤(pán)相似。膜片彈簧離合器模型如圖1所示。
基于Pro/Toolkit的參數(shù)化設(shè)計(jì)有兩種方法,其一是應(yīng)用特征描述法,利用Pro/Toolkit提供的底層函數(shù)完成特征建模,并且建立人機(jī)對(duì)話(huà)框,從而實(shí)現(xiàn)模型的參數(shù)化設(shè)計(jì),但這一方法過(guò)程繁瑣,且不易生成結(jié)構(gòu)復(fù)雜的三維模型;另外一種是采用模型與程序控制相結(jié)合的方法,首先完成三維模型的創(chuàng)建,然后利用Pro/E的關(guān)系和參數(shù)功能建立設(shè)計(jì)參數(shù),由Pro/Toolkit應(yīng)用程序檢索出這些設(shè)計(jì)參數(shù),并提供參數(shù)的編輯功能和根據(jù)新參數(shù)實(shí)現(xiàn)三維模型再生的功能,這種方法編程相對(duì)簡(jiǎn)單,且可以生成復(fù)雜的三維模型。本文使用方法二實(shí)現(xiàn)三維模型的參數(shù)化設(shè)計(jì),流程如圖2所示[3]

圖1 膜片彈簧離合器模型爆炸圖Fig.1 The explosive view of diaphragm spring clutch model

圖2 參數(shù)化設(shè)計(jì)流程圖Fig.2 The flow chart of parametric design
3.1零件模板的建立
建立具有尺寸驅(qū)動(dòng)的膜片彈簧離合器各零件的三維模板是實(shí)現(xiàn)本系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)。Pro/E采用的是基于特征的方式來(lái)實(shí)現(xiàn)對(duì)三維模型的構(gòu)建,建立參數(shù)化零件模板的基本過(guò)程是:首先創(chuàng)建三維模型;然后利用Pro/E工具欄中的參數(shù)功能,輸入?yún)?shù)名稱(chēng)并賦予初值;最后用工具欄中關(guān)系按鈕的功能,添加合理的參數(shù)驅(qū)動(dòng)關(guān)系,將驅(qū)動(dòng)參數(shù)與非驅(qū)動(dòng)參數(shù)關(guān)聯(lián)起來(lái),如此便實(shí)現(xiàn)了參數(shù)化零件模板的創(chuàng)立。以膜片彈簧離合器的壓盤(pán)為例,實(shí)現(xiàn)添加尺寸驅(qū)動(dòng)的操作如圖3所示。

圖3 膜片彈簧離合器壓盤(pán)參數(shù)關(guān)聯(lián)操作過(guò)程圖Fig.3 The parameter correlation operation process of pressure plate
3.2菜單設(shè)計(jì)
本文采用的菜單設(shè)計(jì)采用輔助菜單(.aux文件)的方式,即在Pro/E原本的菜單基礎(chǔ)上添加菜單按鈕。添加菜單的大體過(guò)程是:1.編寫(xiě)窗口信息文件;2.使用Pro/Toolkit中的函數(shù)編寫(xiě)程序;3.給菜單按鈕設(shè)置動(dòng)作函數(shù);4.注冊(cè)運(yùn)行應(yīng)用程序。
窗口信息文件是一種ASII碼文件,必須以純文本的形式保存,用來(lái)定義菜單項(xiàng),菜單項(xiàng)提示等信息。由若干個(gè)<提示信息組>組成,每個(gè)信息提示組由<提示信息的關(guān)鍵字>、<提示信息的內(nèi)容>和兩行<空格>組成。[4]
本文中所提及的膜片彈簧離合器的參數(shù)化是聯(lián)合收割機(jī)底盤(pán)參數(shù)化系統(tǒng)的一部分,所以下拉菜單的編寫(xiě)如下:
extern"C"int user_initialize()
{
ProError status;
ProFileName message_file;
uiCmdCmdId cmd_id1;
ProStringToWstring(message_file,"Message.txt");
status=ProMenubarMenuAdd("Parametric","Parametric","Utilities",PRO_B_TRUE,message_file);//一級(jí)菜單
status=ProMenubarmenuMenuAdd("Parametric","Transmission","Transmission",NULL,PRO_B_TRUE,message_file);
//二級(jí)菜單
status=ProMenubarmenuMenuAdd("Transmission","liheqi","liheqi",NULL,PRO_B_TRUE,message_file);
//三級(jí)菜單
status=
ProCmdActionAdd("Part1Design",(uiCmdCmdActFn)Part1Design,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,
PRO_B_TRUE,&cmd_id1);//四級(jí)菜單
return status;
}
extern"C"void user_terminate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
}
完成上述步驟后,編寫(xiě)注冊(cè)文件protk.dat,啟動(dòng)Pro/E,在工具欄中的輔助應(yīng)用程序選項(xiàng)中注冊(cè)該protk.dat文件,啟動(dòng)應(yīng)用程序。完成啟動(dòng)后菜單界面如圖4所示

圖4 菜單按鈕界面Fig.4 Menu button interface

圖5 膜片彈簧離合器壓盤(pán)參數(shù)化界面Fig.5 The parametric interface of pressure plate
3.3可視化界面設(shè)計(jì)
利用Pro/Toolkit提供的對(duì)話(huà)框技術(shù),可以設(shè)計(jì)出風(fēng)格與Pro/E本身具有的對(duì)話(huà)框類(lèi)似的人機(jī)交互界面。界面的設(shè)計(jì)主要涉及兩個(gè)方面:一是按界面的布局編寫(xiě)資源文件;二是針對(duì)對(duì)話(huà)框的功能編寫(xiě)相應(yīng)的控制程序。資源文件是用來(lái)定義和描述對(duì)話(huà)框外觀和屬性的文件,其主要內(nèi)容包括對(duì)話(huà)框各組成部分元件的屬性定義和布局形式;控制程序用來(lái)在Pro/E環(huán)境中裝入對(duì)話(huà)框資源、顯示對(duì)話(huà)框、設(shè)置動(dòng)作和退出對(duì)話(huà)框等。本文中用到的資源文件和控制程序均在VC程序中編寫(xiě)完成。
創(chuàng)建對(duì)話(huà)框的基本步驟為:1.調(diào)用ProUIDialog()函數(shù)讀取對(duì)話(huà)框資源文件,以便將對(duì)話(huà)框調(diào)入內(nèi)存;2.調(diào)用對(duì)話(huà)框各元件動(dòng)作設(shè)置函數(shù),設(shè)置指定元件的動(dòng)作函數(shù);3.調(diào)用ProUIDialogActivate函數(shù)顯示和激活對(duì)話(huà)框,接受用戶(hù)輸入;4.調(diào)用ProUIDialogDestroy函數(shù)關(guān)閉對(duì)話(huà)框,釋放對(duì)話(huà)框所占的內(nèi)存[5~7]。
以膜片彈簧離合器壓盤(pán)為例,創(chuàng)建的參數(shù)化設(shè)計(jì)界面的效果圖(圖5)。
3.4界面文本框參數(shù)與模型參數(shù)關(guān)聯(lián)
調(diào)用Pro/Toolkit中提供的C程序函數(shù)庫(kù)中的的函數(shù)語(yǔ)句,將文本框元件中輸入的參數(shù)與模型各尺寸驅(qū)動(dòng)的參數(shù)關(guān)聯(lián)起來(lái),實(shí)現(xiàn)模型的獲取、顯示及參數(shù)化再生等功能。實(shí)現(xiàn)過(guò)程如下:
int i;
ProMdl part;
ProModelitem feature;
ProParameter p1;//定義參數(shù)
ProParamvalue v1;//定義參數(shù)
ProMdlRetrieve(L"E:\test\ProeTest\Debug\模型.prt",PRO_MDL_PART,&part);//模型地址
ProMdlIdGet(part,&i);//獲得模型句柄
此汽車(chē)各輪制動(dòng)力和已達(dá)標(biāo),因其是前輪左輪制動(dòng)力偏小,跑偏趨勢(shì)是向右,后輪是右輪制動(dòng)力偏小,跑偏趨勢(shì)是向左,這樣,前后輪跑偏趨勢(shì)互相抵消了。本人認(rèn)為,如上述超標(biāo)車(chē),因其制動(dòng)力小的輪的制動(dòng)力數(shù)據(jù)已超過(guò)軸重的30%,而制動(dòng)力差為非同測(cè)車(chē)輪,應(yīng)按合格車(chē)對(duì)待。
ProMdlDisplay(part);
ProModelitemInit(part,i,PRO_PART,&feature);
ProParameterInit(&feature,L"L1",&p1);//將模型尺寸與參數(shù)關(guān)聯(lián)
v1.type=PRO_PARAM_DOUBLE;//定義參數(shù)類(lèi)型
UpdateData();
v1.value.d_val=文本框1;
ProParameterValueSet(&p1,&v1);//文本框輸入值與參數(shù)關(guān)聯(lián)
ProSolidRegenerate((ProSolid)part,PRO_B_TRUE);//模型實(shí)現(xiàn)再生
}
3.5參數(shù)化設(shè)計(jì)演示
程序設(shè)計(jì)完成后,在Pro/E的輔助應(yīng)用程序中選擇相應(yīng)的注冊(cè)文件點(diǎn)擊啟動(dòng)程序,就可以加載運(yùn)行。以上文中提到的壓盤(pán)為例,模型參數(shù)化的演示效果如圖6:

圖6 參數(shù)化設(shè)計(jì)演示效果Fig.6 The parametric design presentation of pressure plate
本文主要介紹了以膜片彈簧離合器為例,利用Pro/Toolkit實(shí)現(xiàn)參數(shù)化設(shè)計(jì)的過(guò)程。通過(guò)輸入?yún)?shù)的改變,可以實(shí)現(xiàn)不同尺寸的離合器各零部件的快速設(shè)計(jì)。通過(guò)實(shí)踐證明,此方法實(shí)用并且有效,對(duì)包括膜片彈簧離合器在內(nèi)的收割機(jī)底盤(pán)零部件參數(shù)化系統(tǒng)的建立具有重要意義。可以推廣到其他機(jī)械零件和產(chǎn)品的三維參數(shù)化系統(tǒng)設(shè)計(jì)中去。
[1]林清安.Pro/Engineer2001零件設(shè)計(jì)高級(jí)篇[M].上篇.北京:清華大學(xué)出版社,2003
[2]李世國(guó).Pro/Toolkit程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003
[3]鐘山,李繼榮.基于Pro/Toolkit二次開(kāi)發(fā)的齒輪參數(shù)化CAD系統(tǒng)[J].梧州學(xué)院學(xué)報(bào),2007,17(3):31-35
[4]沈萌紅,關(guān)金生.基于Pro/E的三維參數(shù)化零件庫(kù)的開(kāi)發(fā)[J].現(xiàn)代設(shè)計(jì)與制造,2003,32(7):115-118
[5]孟祥旭,徐延寧.參數(shù)化設(shè)計(jì)研究[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2002,4(11):1086-1090
[6]魯泳,廖永和.零件庫(kù)應(yīng)用等級(jí)模型的研究與實(shí)現(xiàn)[J].中國(guó)制造業(yè)信息化,2006,35(1):48-52
[7]韓國(guó)才,張鋰.基于Pro/E的機(jī)械零件特征模型庫(kù)參數(shù)化設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2001,30(1):14-15
The Design of Diaphragm Spring Clutch Parametric System Based on Pro/Toolkit
XU Peng1,ZHAO Xiu-yan2,ZHANG Kai-xing1,WANG Li1,LIU Xian-xi1*
1.College of Mechanical and Electronic Engineering,Shandong Agricultural University,Tai'an271018,China
2.College of Information Science and Engineering,Shandong Agricultural University,Tai'an271018,China
The traditional mechanical product development process,from design to finalize requires repeated modifications, makes a long product development cycle and a high cost.Establish a parameterized system,use the interactive way to product dimensions parameterization processing,can greatly improve the design efficiency,shorten the design cycle.This article is mainly about use the secondary development function of Pro/Toolkit,and use VC as a development tool,to establish a parametric system about the parts of diaphragm spring clutch.
Pro/Toolkit;secondary development;parametric design;clutch
TP311.5
A
1000-2324(2014)04-0541-04
2013-02-11
2013-02-22
“十二五”國(guó)家科技支撐重大項(xiàng)目“農(nóng)機(jī)專(zhuān)業(yè)底盤(pán)數(shù)字化設(shè)計(jì)與復(fù)雜件精益制造”的子課題“農(nóng)機(jī)專(zhuān)業(yè)底盤(pán)數(shù)字化設(shè)計(jì)技術(shù)研究與示范”(2011BAD20B01)
徐鵬(1987-),男,碩士研究生,專(zhuān)業(yè)方向?yàn)楝F(xiàn)代設(shè)計(jì)方法與應(yīng)用.E-mail:409573465@qq.com
*通訊作者:Author for correspondence.E-mail:13515486668@139.com