付鵬
摘 要:錐形螺桿是機(jī)械設(shè)備的常見零件,根據(jù)其結(jié)構(gòu)特點,確定了該螺桿的結(jié)構(gòu)驅(qū)動參數(shù);通過對Pro/E開發(fā)方法的分析比較,找到了螺桿的自動化建模最佳實現(xiàn)方式為Pro/Toolkit;按照Pro/Toolkit的二次開發(fā)步驟,實現(xiàn)了錐形螺桿的參數(shù)自動化建模,為進(jìn)一步進(jìn)行螺桿的有限元分析和優(yōu)化設(shè)計奠定了基礎(chǔ)。
關(guān)鍵詞:螺桿;Pro/E;自動化建模;Pro/Toolkit;二次開發(fā)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
0.引言
錐形機(jī)械設(shè)備中的常見零件,其設(shè)計參數(shù)是影響設(shè)備工作性能的最主要因素。利用計算機(jī)輔助設(shè)計技術(shù)與有限元分析技術(shù)對其優(yōu)化設(shè)計時,需要多次建模,造成了對人力、物力的浪費。
Pro/E軟件是一種可提供二次開發(fā)工具的三維軟件平臺,包括族表、Pro/Toolkit、用戶自定義特征等多種二次開發(fā)方法。其中,Pro/Toolkit是其最強大、最高級的開發(fā)工具包,可實現(xiàn)外部應(yīng)用程序與平臺自身的無縫集成。本文利用Pro/Toolkit二次開發(fā)模塊,實現(xiàn)了錐形螺桿的自動化建模,提高了該復(fù)雜模型的設(shè)計效率,為后續(xù)的力學(xué)分析等工作提供方便。
1.Pro/E開發(fā)方法介紹
PRO/ENGINEER的二次開發(fā)工具包括:Pro/Toolkit、用戶定義特征、Pro/Program、J-link與族表。
Pro/Toolkit與 J-link分別是基于C語言、JAVA語言的二次開發(fā)工具,前者可通過調(diào)用軟件本身底層函數(shù),并利用C語言訪問其自身數(shù)據(jù)庫以及內(nèi)部應(yīng)用程序來實現(xiàn)相關(guān)功能的擴(kuò)展。
用戶定義特征是將許多特征組合成為一個自定義特征,使用時可直接調(diào)用這個包含多特征的單特征組合。適合應(yīng)用于某個特定結(jié)構(gòu)。
Pro/Program包含了Pro/ENGINEER中模型的主要設(shè)計步驟與參數(shù)列表,可通過編輯該Pro/Program文件實現(xiàn)對模型的控制。
族表又稱為表格驅(qū)動,是一種可以通過電子表格管理的、適用于具有相同或相近結(jié)構(gòu)的零件(如標(biāo)準(zhǔn)件)的開發(fā)工具。
由于錐形螺桿結(jié)構(gòu)復(fù)雜,建模不便,為了達(dá)到變螺距、變根徑、變長度的錐形螺桿的自動化建模的目的,結(jié)合Pro/E各個開發(fā)方法的特點,選擇利用Pro/Toolkit二次開發(fā)模塊對其進(jìn)行自動化建模。
2.錐形螺桿自動化建模的實現(xiàn)
2.1 錐形螺桿的參數(shù)化建模
利用Pro/E提供的參數(shù)功能(Parameters)將螺桿的圓臺后直徑(dia1)、圓臺前直徑(dia2)、螺旋體直徑(dia3)、圓臺長度(len1)、圓錐長度(len2)、螺距(pitch)分別分別設(shè)置為可變參,建立的螺桿模型如圖1所示。
利用關(guān)系功能(Relations),創(chuàng)建螺桿的參數(shù)關(guān)系:
d1=len1
d2=len2
d4=dia1/2
d16=dia2/2
d10=pitch
d25=dia3/2-d4
2.2 菜單信息文件的設(shè)計
為了便于用戶對螺桿參數(shù)化建模命令的查找,采用向工具條中添加命令圖標(biāo)的方式。程序運行時,需要在工具菜單下添加Screw Design按鈕,并且顯示命令圖標(biāo)。根據(jù)上述要求編寫的菜單信息文件Utilities.txt內(nèi)容如下:
……
-Screw Design
-Screw Design
……
This command dedigns the Screw
2.3 對話框資源文件的設(shè)計
將對話框設(shè)置為可以輸入六個參數(shù)的布局,并將其置于Pro/E界面中間位置。運用prodialog_view預(yù)覽對話框的效果如圖2所示,資源文件如圖2所示。
……
(Layout luoLayout
(Components
(Label dia1label)
(InputPanel dia1)
(Label dia2label)
(InputPane dia2)
(Label dia3label)
(InputPanel dia3)
(Label len1label)
(InputPanel len1)
(Label len2label)
(InputPanel len2)
(Label pitchlabel)
(InputPanel pitch)
)
(Resources
(dia1label.Label "后端直徑")
(dia1label.TopOffset 4)
(dia1label.BottomOffset 4)
(dia1label.LeftOffset 4)
……
3.3 程序源文件的設(shè)計
程序源文件主要包含3部分,第一部分為菜單源程序,第二部分為對話框源程序,第三部分為通過利用函數(shù)對前兩兩程序的連接。
……
// 將對話框調(diào)入內(nèi)存
ProUIDialogCreate(“screw”, “screw”);
//設(shè)置ok按鈕激活函數(shù),使按鈕調(diào)用yuanzhuOK
ProUIPushbuttonActivateActionSet(“screw”,”O(jiān)k”,screwOK, NULL);endprint
//設(shè)置cancel按鈕激活函數(shù),使按鈕調(diào)用UsrCancelAction
ProUIPushbuttonActivateActionSet(“screw”,”Cancel”,UsrCancelAction, NULL);
……
//讀取編輯框輸入的數(shù)值
ProUIInputpanelDoubleGet(“screw”,”dia1”,&dia11);
ProUIInputpanelDoubleGet(“screw”,”dia2”,&dia21);
ProUIInputpanelDoubleGet(“screw”,”dia3”,&dia31);
ProUIInputpanelDoubleGet(“screw”,”len1”,&len11);
ProUIInputpanelDoubleGet(“screw”,”len2”,&len21);
ProUIInputpanelDoubleGet(“screw”,”pitch”,&pitch1);
//為value賦值
value1.type=PRO_PARAM_DOUBLE;
value1.value.d_val=dia1;
value2.type=PRO_PARAM_DOUBLE;
value2.value.d_val=dia2;
value3.type=PRO_PARAM_DOUBLE;
value3.value.d_val=dia3;
value4.type=PRO_PARAM_DOUBLE;
value4.value.d_val=len1;
……
3.4 注冊和運行程序
在螺桿目錄下創(chuàng)建注冊文件protk.dat。
……
exec_file E:\screw\Debug\screw.exe
text_dir E:\screw\text
……
利用輔助應(yīng)用程序功能完成上述注冊文件的注冊,并運行該程序,輸入相關(guān)參數(shù),得到的螺桿模型如圖3所示。
結(jié)論
(1)通過分析比較Pro/E開發(fā)方法的特點,找到了適合錐形螺桿自動化建模的開發(fā)方式為Pro/Toolkit。
(2)在分析錐形螺桿的結(jié)構(gòu)參數(shù)的基礎(chǔ)上,設(shè)置了錐形螺桿的驅(qū)動參數(shù),在Pro/E中建立了帶有參數(shù)關(guān)系的螺桿模型。
(3)根據(jù)Pro/Toolkit二次開發(fā)的步驟,編寫了菜單信息文件、對話框資源文件與程序源文件。
(4)創(chuàng)建了程序的注冊文件,成功地運行了程序。
(5)實現(xiàn)了不同尺寸參數(shù)的螺桿的自動化參數(shù)建模,提高了建模的效率。同時,也為其他相似零件的二次開發(fā)方法提供了參考。
參考文獻(xiàn)
[1]劉光富,李愛平.熔融沉積快速成型機(jī)的螺旋擠壓機(jī)構(gòu)設(shè)計[J].機(jī)械設(shè)計,2003,20(9):23-25.
[2]康冰,張祖立.基于APDL的擠壓膨化錐形螺桿的參數(shù)化建模[J].農(nóng)機(jī)化研究,2007(4):56-58.endprint