基于Creo二次开发的零件参数化变型设计

2018-03-30 07:10张文彬沈精虎姜兆康
微型电脑应用 2018年2期
关键词:变型关系式二次开发

张文彬, 沈精虎, 姜兆康

(青岛大学,机电工程学院,青岛 266071)

0 引言

Creo是目前最流行的三维CAD软件,它具有互操作性、开放、易用三大特点[1]。该版本软件整合了PTC公司三大软件的优势,包括Pro/Engineer的参数化技术、CoCreate的直接建模技术和ProductView的三维可视化技术,为用户设计出理想的三维产品提供了强大的技术支持[2];另外软件集成了多个可互操作的应用程序,能够轻松实现数据共享,极大提高了用户的工作效率。面对市场对产品的多样化需求,更好的实现产品设计和产品的系列化,利用Creo/TOOLKIT二次开发工具对Creo进行二次开发变得非常必要。研究表明,产品设计中大约有70%属于变型设计,特别是对大批量定制的产品,变型设计变得更为重要[3]。

目前,越来越多的产品加工设计企业都对三维设计软件提出了二次开发的需求,特别是基于CAD系统进行二次开发更是在国内外得到了广泛的研究。例如北京重型电机厂联合北京航空航天大学,以欧洲Cimatron系统为平台,二次开发出汽轮机叶片设计系统;澳大利亚大学先进制造技术中心设计的COCADCAM系统,是基于现有CAD/CAM的技术特点,二次开发的一种网络化产品设计系统等等[4-5]。

1 参数化变型设计

1.1 参数化设计概述

参数化模型集几何约束与工程约束于一身,要实现参数化变型设计,关键就在于建立好参数化的产品模型[6]。根据产品功能设计产品时,初始产品的尺寸和形状都是不确定的,这就要求初始的产品模型具有随时变更的特性,参数化设计就是将产品中的一些关键尺寸参数化,使这些关键尺寸能随参数值的改变而改变,从而得到满足客户需要的形状大小不同的零件产品[7]。与传统的建模设计方法相比,参数化设计有效的避免了设计者的重复劳动,大大提高了零件产品的修改和生成速度。Creo三维软件自身带有强大的二次开发工具Creo/TOOLKIT,通过Creo/TOOLKIT程序编写,能够对模型中的参数进行提取与修改,模型根据参数数值的改变而改变。

1.2 基于Creo三维模型的参数化设计原理

创建三维模型零件有三种方法[8]:(1)利用三维设计软件本身的交互功能设计完成。(2)根据特征元素树用编程的方式完成模型的创建。(3)利用设计参数来控制三维模型。第一种方法建模速度快,但在一些二次开发系统中存在重复操作,后期的修改变型功能欠缺。第二种方法虽然自动化程度高,但编程工作量大且对复杂的特征生成非常困难。因此选用第三种方法,这种方法融合了前两种方法的优势,基本做法是先用交互的方式完成三维模型的创建,然后利用Creo的参数、关系式功能建立尺寸和工程约束,最后由Creo/TOOLKIT应用程序检索出设计参数和关系式,并且提供参数和关系式的修改功能以及相关参数修改后模型的自动更新功能。基于Creo二次开发环境下参数化设计基本原理,如图1所示。

2 二次开发及辅助设计工具

二次开发就是在原有软件功能基础上开发设计出自己想要的功能,是对原软件功能的拓展。Creo/TOOLKIT是Creo软件自带的二次开发工具,可以直接针对Creo软件的最底层数据库资源进行访问,这是进行Creo二次开发最根本有效的方法。根据工程化原则,进行二次开发时一般要经历系统分析、系统设计、系统程序编写和系统测试四个阶段[9-10],具体开发流程,如图2所示。

图1 参数化设计基本原理

图2 二次开发系统的开发流程

系统选用的开发平台是Creo,除了选用Creo/TOOLKIT为开发工具,同时配以Visual Studio 2010集成开发环境。Visual Studio 2010是一款基于C、C++语言的集成开发环境,并且完善了以前版本对C++标准支持不佳的缺陷,其中MFC的应用更是大大降低了开发难度和开发工作量[11-12]。

3 零件参数化变型设计的实现

3.1 Creo/TOOLKIT开发模式和开发过程

Creo/TOOLKIT应用程序有同步模式和异步模式两种工作模式[13]。同步模式顾名思义就是与Creo系统同步运行,异步模型的特点就是能够和Creo独立分开运行,但异步模式的程序运行速度比同步模式慢,因此本系统的开发采用同步模式。同步模式又分为动态链接库和多进程两种方式,区别在于前者生成dll文件,后者生成exe文件。而本系统是对Creo软件进行的功能拓展,因此选用动态链接库,直接连接到Creo软件调用即可。

使用Creo/TOOLKIT开发应用程序时包含三个基本步骤[14-15]:(1)编写源文件(包括资源文件和程序的源文件);(2)生成可执行文件(dll文件);(3)可执行文件在Creo中注册并运行。本系统的注册文件名为ParaVarDeSystem,注册运行如图3所示。

图3 注册运行可执行文件

3.2 参数化变型设计开发中的关键技术

3.2.1 对零件参数的提取与设置

系统要实现参数化设计前提就是能够对模型中的参数进行检索、提取和修改。具体实现过程是:(1)调用ProParameterVisit( )函数对模型中的所有参数进行访问,然后将符合过滤条件的参数对象指针存放到数组ProParameter中。(2)调用ProParameterValueGet( )函数获取参数对象的值对象,然后根据获得的值对象的类型获得相应的具体值。(3)通过控件变量和参数变量之间的信息交流实现所有符合条件的模型参数的显示。(4)调用ProParameterValueSet( )函数对参数对象的进行设置。(5)调用ProSolidRegenerate( )函数完成模型的更新。

3.2.2 对零件关系式的提取与设置

关系式用于确定模型尺寸和参数之间的关系,参数可以理解为主驱动尺寸,关系式理解为被驱动尺寸。具体实现过程是:(1)调用ProSolidRelsetVisit( )函数访问模型关系式集。(2)调用ProRelsetToModelitem( )函数和ProRelsetRelationsGet( )函数获取关系式集对象的模型项和具体的关系式集。(3)通过控件变量和关系式变量之间的信息交流实现模型所有关系式的显示。(4)调用ProRelsetRelationsSet( )函数对模型关系式进行设置。

4 工程应用实例

要实现零件的参数化变型设计和系列化,首先要对该零件进行尺寸分析,确定不变尺寸、可变尺寸和工程约束尺寸;其次将可变尺寸设置为可变参数,将工程约束尺寸设置为导出参数。可变参数和导出参数可由软件本身自带的参数和关系式工具进行添加,也可通过本文开发的人机交互界面进行添加。这里以阶梯轴的部分参数为例,通过对阶梯轴的尺寸分析,确定了阶梯轴的轴长和直径的尺寸为可变尺寸,阶梯轴的槽位置为工程约束尺寸,阶梯轴的长度用参数“DL1”、“DL2”、…,轴的直径用“DW1”、“DW2”、…,表示。槽位置是由关系式确定的。阶梯轴轴长和直径参数分析示意图,如图4所示。

图4 阶梯轴的参数分析

利用本文开发的人机交互界面,能够对模型参数和关系式进行自动检索和提取,对阶梯轴参数和关系式进行提取的结果,如图5所示。

图5 对阶梯轴参数和关系式的提取显示

本文开发的参数化变型设计应用程序,是由参数操作对话框和关系式操作对话框组成,参数操作对话框能够将从模型中提取的参数进行修改,也可以通过“添加”与“删除”按钮完成新参数的添加与已有参数的删除,设置完成后,按“修改”按钮完成数据的修改,最后通过“再生”按钮完成模型的更新。阶梯轴长度修改前后对比,如图6所示。

同理,关系式对话框能够从模型中提取所有定义的关系式并对关系式进行重新编辑,单击“选择尺寸”按钮,模型所有尺寸会加亮显示,选择自己需要定义的尺寸,然后编辑关系式,编辑完成后,单击“添加”按钮即可完成新关系式的添加。其余按钮的功能和参数操作模块相同,不再展示。

总之,通过本应用程序的开发,能够快速对模型零件进行变型设计,实现系列化。和软件本身自带的功能相比更加直观快速,为设计人员避免了重复劳动,节省了设计时间。

(b)轴长修改后

5 总结

本文研究了参数化设计的基本原理,并对开发中的关键技术进行了详细介绍,最后对开发的应用程序进行了功能展示,以阶梯轴为例验证了新方法在参数化变型设计中的可行性。此外,本程序具有很好的通用性,适用于所有零件类的参数化变型设计,拓展了Creo软件的功能,大大提高了零件产品的变型设计效率。

[1] 王哲,王红.Creo二次开发参数化设计技术的应用研究[J].机械研究与应用,2014(3):183-186.

[2] 程相文,邢树雪.基于Pro/Toolkit的Creo2.0二次开发过程研究[J].机械工程与自动化,2015(5):70-71.

[3] 常青青.基于参数化技术的零件精度变型设计方法研究[D].桂林:桂林电子科技大学,2015.

[4] 任国栋,郑峰,葛春荣等.基于UG的汽轮机叶片CAD系统二次开发[J].组合机床与自动化加工技术,2015(1):46-48.

[5] 史红礼.CAD二次开发在水电站设计中的实践探索[J].中国科技纵横,2015(13):28-28.

[6] 梁丽芬,王宗彦,张鹏,等.基于特征的零件工艺参数化变型设计[J].制造业自动化,2015(17):139-142.

[7] 刘涛,胡迪,雷经发等.Creo二次开发实现液压缸参数化设计[J].煤矿机械,2016,37(3):176-179.

[8] 辛虹. 系列零部件三维参数化设计方法研究[J]. 机械设计与制造,2013(4):202-204.

[9] 杨松林,余金鑫,张钢,等.常用弹簧二维三维参数化造型技术研究与系统开发[J].机械设计与制造,2011(9):246-248.

[10] 孙炎,仲梁维,刘营营,等.基于Pro/E二次开发的剪板机快速设计系统[J].软件导刊,2017,16(4):139-141.

[11] 王冰冰,林木,赵书强,等.基于Pro/E二次开发的包装机械参数化设计与实现[J].机械制造与自动化,2017,46(2):101-103.

[12] 文明,吉红伟,王彦伟,等.基于Pro/E二次开发的辅助布线技术[J].计算机工程与设计,2014,35(11):4021-4026.

[13] 卫洪春,彭小利,蒲国林等.MFC窗口创建过程的研究[J].现代电子技术,2014(11):151-154.

[14] 黄康,陈祥,朱晓慧等.基于Pro/E二次开发的自动装配技术及应用研究[J].合肥:合肥工业大学学报(自然科学版),2016,39(9):1153-1157.

[15] 肖扬,金凡尧,郑严,等.基于Pro/toolkit的圆柱螺旋齿轮的精确三维参数化建模[J].图学学报,2017,38(2):180-184.

猜你喜欢
变型关系式二次开发
变型数独7月挑战赛
例谈同角三角函数基本关系式的应用
例谈同角三角函数的基本关系式的应用技巧
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
西南地区三种天麻变型巴利森苷类成分含量比较
简约≠简单
西门子Easy Screen对倒棱机床界面二次开发
速寻关系式巧解计算题
明确关系式