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