付鹏
摘 要:锥形螺杆是机械设备的常见零件,根据其结构特点,确定了该螺杆的结构驱动参数;通过对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