李 勇,韩 超,付晓莉,陈 芳
(中原工学院,郑州450007)
减速机由箱体、齿轮、轴、轴承、连接件等组成,其中轴、齿轮等标准零部件的参数化建模方法已经日趋成熟,并被应用于生产实践.当前研究的难点是箱体零件的参数化建模方法[1].因为箱体零件结构复杂且承载着减速机的品牌特征、系列特征,所以,对减速机箱体特征的合理划分、主要参数的选取是实现参数化设计的关键.
Pro/E、UG等通用软件虽然有适用面广、通用性强等优点,但是也存在针对性不强、设计效率不高的缺点,使用这些软件建立产品模型,需要大量的时间.因此针对特定产品对这些软件进行二次开发,可以极大地提高设计效率.
目前,关于Pro/E二次开发的参考文献比较少,而且无法跟上软件的更新速度,而针对Pro/E 4.0进行二次开发,具有一定的实用价值.Pro/E向用户提供了多个二次开发工具,常用的有族表(Family Table)、用户 定 义 特 征 (UDF)、Pro/Program、J-Link 和Pro/TOOLKIT.Pro/TOOLKIT 是针对 Pro/E 的功能强大的二次开发工具,它包含了大量的底层资源调用的库函数和头文件,能够让用户方便地通过C程序代码扩充Pro/E的系统功能.本文将以 Microsoft Visual Studio 2005(VS 2005)为平台,介绍对Pro/E二次开发的步骤.
特征指的是零件某一部分形状和属性的集合,例如孔、凸台、吊耳、轴承座、底座等.减速机箱体结构复杂,目前在世界范围内还没有对减速机形成统一的行业标准,因此对减速机进行标准化建模还有一定难度,但是对减速机进行参数化设计的研究仍具有一定的实用价值.对减速机箱体进行参数化设计,最重要的就是对箱体主要特征的提取.箱体类零件的特征可分为主要特征、品牌特征以及附加在主要特征上面的辅助特征,如图1所示.其中,主要特征包括:壳体、凸台、轴承座、底座等;辅助特征包括:吊耳、倒角、拔模、螺栓孔、放油孔等[1-2].参数化设计所需要的驱动参数包含在主要特征中.根据特征分析,从箱体的主要特征中提取齿轮模数、齿轮齿数、齿轮厚度、齿轮螺旋角、轴承孔孔径、轴承座宽度和厚度、箱体壁厚等为驱动参数,建立基本的箱体模型.
图1 减速机箱体的特征
Pro/TOOLKIT应用程序有同步和异步2种工作模式.同步模式下,Pro/TOOLKIT应用程序必须与Pro/ENGINEER系统同步运行;异步模式下,Pro/TOOLKIT应用程序和Pro/ENGINEER能够同时进行各自的操作,但是由于异步模式编码复杂,采用远程程序调试方法,程序的运行要比同步模式下慢得多[3].考 虑 到 Pro/TOOLKIT 应 用 程 序 是 离 不 开Pro/ENGINEER环境的,因此本文采用同步模式,其开发流程如图2所示.
图2 Pro/E 4.0开发流程
在使用VS 2005开发Pro/E 4.0之前,需要对VS 2005进行环境配置.以VS 2005为平台、Pro/TOOLKIT为工具二次开发Pro/E 4.0时,需要先设置开发环境,步骤如下:①新建一个工程文件,并输入项目名称和位置;②选择“使用共享MFC DLL的规则DLL”;③添加包含文件和库文件,即选择[工具]/[选项]命令,在出现的选项对话框中选择[项目和解决方案]下的[VC++目录]选项,并在下拉列表中选择[包含文件]选项,添加2个文件夹C:\Program Files\proeWildfire4.0\protoolkit\includes和 C:\Program Files\proeWildfire 4.0\prodevelop\includes;再在下拉列表中选择[库文件]选项,添加2个文件夹C:\Program Files\proeWildfire 4.0\Protoolkit\i486_nt\obj和 C:\Program Files\proeWildfire 4.0\prodevelop\i486_nt\obj;④选择[项目]\[属性]命令,在VS 2005[配置]区域的[链接器]节点下选择[输入]选项后,在[附加依赖性]中添加wsock32.lib mpr.lib protk_dllmd.lib prodev_dllmd.lib psapi.lib.通过上述操作,即可实现开发环境的设置.
extern“C”void user_initalize()是Pro/TOOLKIT应用程序的初始化函数,用户可以在该函数中设置所需要的交互接口,例如菜单、对话框、窗口信息初始化等.extern“C”void user_terminate()是用户结束中断函数,终止Pro/TOOLKIT应用程序的执行.
Pro/E菜单添加的方法是:①向菜单栏添加菜单条,直接调用ProMenubarMenuAdd()函数;②向菜单条下添加按钮,先调用一个称作“回调函数”的函数,即ProCmdActionAdd(),该函数的功能是设置Pro/E系统菜单项的动作;其次,在菜单中添加菜单按钮(与上一步相关联),调用的函数是ProMenubarmenuPushbuttonAdd()[3-4].
对话框是实现系统和用户交互的最佳工具[3,5-6].目前,对 Pro/E进行二次开发,主要使用的是Pro/TOOLKIT自带的UI对话框和VS 2005的MFC对话框.UI对话框具有与Pro/E相似的界面,其设计过程主要包括资源文件的编写和相应程序控制的设计.资源文件的名字必须为.res的形式,并将其存放位置与控制程序存放位置相一致.VS 2005能够实现对话框的可视化设计,可方便地修改对话框的布局和内容.但是,MFC对话框需要设计人员对VS 2005熟练使用,以创建对话框类,生成Cdialog派生类定义的头文件和相应的实现文件[3,5].因此,建议初学者使用 UI对话框,以实现与用户的交互.
以K系列减速机为例,根据上述步骤开发了基于VS 2005和Pro/E 4.0的Pro/TOOLKIT应用程序,以实现减速机箱体零件参数化设计.
应用程序调试成功时,会自动生成DLL文件.利用注册文件进行注册后,Pro/E将会出现新添加的菜单项——对话框(如图3所示).在对话框中输入参数,即可得到相应的箱体三维模型(如图4所示).
图3 对话框
图4 箱体的三维模型
用VS 2005开发Pro/E 4.0较之以VC++6.0为平台开发Pro/E 2.0存在一些问题:①VC++6.0可以采用makefile文件直接进行编译(需先编写好C程序源文件和资源文件),或者直接在VC里面编写C语言程序(文件名改为.C),而VS 2005是在C++环境下进行C语言的编译(源文件为.CPP);②VS 2005是在C++下进行编译操作,因此初始化函数和结束中断函数前必须加上“extern“C””,作用是强制调用C语言代码;③VS 2005生成并供注册文件调用的是DLL文件,而在VC++6.0中生成的是exe文件或者DLL文件;④在编写源文件时,一定要注意字母大小写的使用,前后函数的名称的大小写一定要对应.
本文探讨了减速机箱体特征的划分方法、主要参数的提取以及使用VS 2005开发Pro/E 4.0的步骤,实现了减速机箱体的参数化设计,并论述了在开发过程中应注意的问题.
通过对Pro/E二次开发技术的研究,利用参数化设计实现零件的三维模型的快速生成,能够提高企业的设计效率.
[1]郝伟.基于特征的减速器箱体的参数化设计研究[J].拖拉机与农用运输车,2010,37(4):77-79.
[2]李建平,刘俊峰,冯晓静.箱体类零件特征造型的应用研究[J].拖拉机与农用运输车,2008,35(4):28-29.
[3]张继春.Pro/ENGINEER二次开发实用教程[M].北京:北京大学出版社,2003:13-19.
[4]赵永美,吴晶华.Pro/E二次开发的研究与应用[J].机械制造与研究,2007,36(5):7-9.
[5]黄志伟,马立强.Pro/TOOLKIT中 UI和 MFC对话框的比较[J].计算机应用,2010,45(3):100-103.
[6]Parametric Technology Corporation.Pro/ENGINEER Wildfire 4.0PRO/TOOLKIT User’s Guide[EB/OL].[2012-10-23].http://www.doc88.com/p-954214978806.html.