首页/文章/ 详情

基于Pro/E二次开发的包装机械参数化设计与实现

4月前浏览10228

本文摘要(由AI生成):

本文介绍了在Visual C++2010中使用pvactivex.ocx控件实现模型预览,并探讨了Pro/E软件生成符合国标的参数化工程图的方法。文章详细说明了如何通过修改配置文件、注册DLL程序和编写参数化设计应用程序,实现三维模型的参数化设计和工程图的自动生成。最终,成功开发了基于Pro/TOOLKIT的参数化辅助设计系统。


一、参数化设计


参数化设计(也叫尺寸驱动)是一种结合几何、拓扑信息的基于约束的产品描述方法。它允许用户对产品设计的几何、拓扑信息定义约束,并能通过改变约束参数值方便地对现有设计进行修改。参数化设计的本质就是几何约束关系的提取和表达、几何约束求解以及参数化几何模型的构造[1]。利用参数化设计手段开发的专用产品设计系统,可使设计人员从大量繁重而琐碎的绘图工作中解脱出来,可以大大提高设计速度,并减少信息的存储量。系统结构如图1所示。

1559804452(1).png

1 参数化设计系统结构


二、参数化设计系统的实现


1、创建Pro/TOOLKIT应用程序的方法


本文采用三维参数化模型与程序控制相结合的方式,将零件用Pro/Engineer交互方式创建其基本三维的模型,建立设计参数与约束之间的关系,然后通过Pro/TOOLKIT程序编辑修改零部件模型的设计参数,最后按照新的设计参数重新生成新的零部件模型,实现了快速设计。使用这种方式,可以方便的实现产品的参数化设计。


基准零件的建立是一个典型参数化零件建模的过程,采用交互的方式完成。基准零部件参数化建模的完善程度将直接决定了Pro/TOOLKIT程序的开发难度。


Pro/Engineer的建模过程是一个特征全约束的参数化过程,通过施加共线、相切、对称、垂直,等关系实现了特征的全约束。交互式建模过程中除应考虑零件特征的全约束外(模型内部参数),还应该正确的设置控制三维模型参数之间的关联关系以及设计参数,Pro/TOOLKIT程序通过控制这些参数最终实现了零件的参数化设计。


Pro/TOOLKIT应用程序是指利用Pro/E系统提供的Pro/TOOLKIT工具包的支持,采用C语言进行程序设计,采用C编译器和连接器创建能够在Pro/E环境下运行的可执行程序或动态链接库形式的程序。Pro/TOOLKIT应用程序设计直接利用VC的应用程序设计向导(appwizard)和类向导(classwizard)进行Pro/TOOLKIT应用程序的设计、创建和调试。


2、包装机械卡扣机模型参数化


Pro/E所提供的所有的特征都是由一些基本的参数进行控制的,建模过程中,系统可以自动的生成模型相关的系统参数,由于用户需求的多样性对模型的形状尺寸会有各种特殊的规定,这就需要建立特征参数之间的关系,从而减少了控制模型独立参数的个数。在Pro/E中创建该零件的参数化三维模型,如图2所示为卡扣机三维模型(下图)。

0.png


对于已经创建好了的三维模型,按照一定的原则通过“参数”对话框来设计模型的用户参数,然后分析模型用户参数和模型系统参数之间的差异,利用“关系”对话框正确的建立二者之间的关系,实现用户对模型参数的驱动。本系统中通过Pro/E中“工具”菜单条下的“参数”对话框添加参数,如图3所示(下图)。 

1-1.png


3、参数化系统设计


(1)Visual C++2010与Pro/E4.0之间的数据交互


在Pro/E4.0系统中调用Visual C++2010的MFC动态库对话框过程中所需解决的一个关键问题就是实现Pro/E4.0系统、Pro/TOOLKIT应用程序接口与MFC对话框三者之间的信息交互,Pro/TOOLKIT使用的是面向对象的风格,通过函数调用在应用程序与Pro/E之间实现数据信息的传输,由于Pro/TOOLKIT是通过C语言进行编程,所以无法直接调用MFC对话框,这就使得在Pro/TOOLKIT中调用MFC对话框的过程中必须用通信方式来实现,因此Pro/TOOLKIT接口与Pro/E系统采用动态链接库(DLL)方式进行信息传输。如此Pro/TOOLKIT应用程序和Pro/E运行在同一进程中,它们之间的信息交互是直接通过函数调用来实现的,应用程序功能完全集成到DLL中,他的生成是由MFC根据Pro/TOOLKIT的环境要求设置后进行编程实现,原理图如图4所示。


(2)数据接口设计


Visual C++2010与Pro/E4.0的接口设计过程中,因为程序是以同步模式的方式运行在Pro/E环境下,所以需要设计接口程序以实现应用程序和Pro/E的连接,对此Pro/TOOLKIT提供了应用程序的初始化函数user_initialize( )和结束函数user_terminate( )。


user_initialize( )主要用来对同步模式的Pro/TOOLKIT应用程序进行初始化,相当于C程序中的main( )函数。

(3)Pro/E中嵌入菜单的添加

在Pro/E4.0中通过添加菜单函数ProMenubarMenuAdd( )、ProMenubarmenuPushbutto_nAdd( )、次级子菜单的函数ProMenubarmenuMenuAdd( )和设置Pro/E系统菜单项动作的函数ProCmdActionAdd()添加的菜单。包括:齿轮箱箱体设计系统,直齿圆柱齿轮设计系统,直齿圆锥齿轮设计系统,齿轮箱连轴架设计系统,齿轮轴轴套设计系统,齿轮箱装配辅助设计系统,数据库管理系统。

(4)实现预览功能

在Visual C++2010环境下二次开发Pro/E4.0的过程中,用到了零件的预览。为了实现这一功能,本文使用了pvactivex.ocx控件,这一控件来源于Pro/E自带的浏览程序ProductView Express,使用前需安装ProductView Express,此控件可以像一般控件一样插入到对话框中。

这种方式下可以通过控件的属性窗口设置控件上的各种标签是否显示,可以去掉一些不必要的标签以简洁的方式显示零件,是最为理想的显示方式,但是由于pvactivex.ocx控件是在.net环境下开发的,所以在VC6.0里无法插入此控件。

Visual C++2010可以轻松的导入pvactivex.ocx控件并设置使用。可以通过showBanner,showCopyright,showToolbar等设置项设置顶面的banner,下面的版权信息和工具栏的显示与否,也可以通过点击控件》属性进行设置。使用setFileName(LPCTSTR fileName)函数便可以设置其控件显示的模型。

另外,此控件用于同步模式开发时,在更换浏览模型过程中应该手工在内存中删除前一个浏览对象,然后再次使用函数ProMdlEraseAll,否则在程序运行过程中留在内存中的浏览对象会无利于程序的运行。最终实现模型预览功能,如图5所示(下图为参数化工程图生成))。

1-5.png

虽然Pro/E作为世界级的三维工业设计软件,拥有强大的生成工程图的能力,但直接用Pro/E生成符合国标的参数化工程图确有一些困难。工程图的格式和界面受系统配置文件Config.pro和dtl格式的工程图配置文件的控制,可以通过修改dtl格式的文件对Pro/E的工程图环境加以配置,使其转换为适合我国使用的CAD软件。

在Pro/E系统中的 “文件/属性”菜单下打开“绘图选项”对话框,打开所要应用的工程图环境配置文件,就可以将已经编好的dtl格式的文件的设置值应用到当前的绘图环境,工程图文件保存时同时保存了当前的配置环境。

而后利用Pro/E的参数关联机制,通过参数化系统生成三维模型相关联的工程图。如图6所示为锚固剂包装机齿轮箱直齿圆锥齿轮(下图所示: 程序的注册、连接和运行)。

1-6.png

由于.DLL程序需要在Pro/E中进行动态的加载,所以必须先进行注册,将为应用程序所编写的注册文件调入到Pro/E系统中,注册文件的作用是向Pro/E系统传递应用程序的相关信息,用以告知Pro/E系统应用程序的各种资源所存放位置等信息。注册文件是.dat格式的文件,其中包含了很多选项,但是如果应用程序与Pro/E是安装在同一台机器上的,一般可以选择Name、EXEC_FILE、TEXT_DIR、STARTUP、ALLOW_STOP、REVISION和END字段即可。

应用程序的注册方式有以下两种,分为手动注册和自动注册,其中自动注册是将注册文件放置在Pro/E的启动目录下,这样当Pro/E启动的时候,应用程序就会自动的进行注册了,本文因为应用程序不需要在启动Pro/E时就调用,所以选择了手动注册方式,在需要使用应用程序的时候再进行注册。

手动注册的方法是在Pro/E启动以后,通过“工具→辅助应用程序”打开“辅助应用程序”对话框,点击该对话框的“注册”按钮以打开“登记辅助应用程序”对话框,调入编写好的注册文件,并启动,至此即实现了应用程序的注册运行,成功向Pro/E添加了菜单,如图7所示。在程序运行结束后,同样可以通过“辅助应用程序”对话框来实现应用程序的终止和删除。

三、结论

本文通过参考国内外参数化设计系统,对卡扣机辅助设计系统的可行性方案进行了比较论证,确定了在Microsoft Windows计算机操作系统下使用Pro/TOOLKIT对Pro/E4.0进行二次开发,采用客户/服务器体系结构,由Visual C++2010编程软件作为前台开发工具,开发了参数化辅助设计系统。论文研究完成了一下内容:

(1)在Pro/E4.0的交互环境下创建了一套锚固剂包装机的三维模型,并根据需要设置了零件模型的用户参数,然后利用关系对话框设置了用户参数与模型参数之间的关系,最后基于Pro/E4.0软件的“参数”和“关系”参数化设计思想实现了用户参数对零件模型的驱动。

(2)基于Visual C++2010平台、利用Pro/E的二次开发工具Pro/TOOLKIT编写了模型参数的操作界面,模型的参数操作界面由应用程序向Pro/E4.0系统中添加的用户菜单体系进行控制,参数化设计应用程序直观的实现了模型参数化设计,方便了参数化设计过程中对参数的修改。

(3) 通过设置Pro/E4.0的Config.pro和dtl格式工程图配置文件,使Pro/E4.0工程图的生成环境符合我国国家标准,并借助Pro/E的数据全相关性,通过对锚固剂包装机零件三维模型的参数化设计实现了对零件工程图的参数化设计。 

CreoMCAD
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-06-06
最近编辑:4月前
晋韵唐风
硕士 | 讲师 建模不再是一个人的修行!
获赞 18粉丝 90文章 3课程 1
点赞
收藏
未登录
1条评论
小姜
努力学习有限元仿真。
5年前
学习一下
回复
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈