APP下载

SolidWorks与Pro/Engineer之间图形数据交换方式的研究

2011-11-24许第洪

湖南师范大学自然科学学报 2011年1期
关键词:对话框实体图形

唐 峰,许第洪

(湖南师范大学工学院,中国 长沙 410081)

SolidWorks与Pro/E作为两款主流的三维CAD软件,因其友好的用户界面及大众化的运行环境而深得设计人员的喜爱,在我国应用较为广泛.但不同的企业或个人因不同的需求环境使用的CAD软件会有所不同,比如,有的企业是用Pro/Engineer软件创建三维实体,而另外有的企业习惯于使用SolidWorks软件创建三维实体,如果两企业采用协同设计方式或借用另一家企业的设计成果时,产品数据就需要交换,这样就会存在不同的CAD软件图形数据交换问题.而不同的CAD软件内部数据记录方式和处理方式不相同,开发软件的语言环境也完全不一致,CAD图形数据在交换时就会出现高层设计数据容易丢失,模型的有效性、完整性无法得到保障等情况[1].因此,如何保证不同的CAD软件所绘制的图形在进行数据交换时不会出现数据丢失等现象,就成为开发商与软件使用者共同关注的问题.对此,本文以在设计单缸柴油机时的一些操作实践为例,探讨了SolidWorks图形与Pro/E图形之间双向转换的可行性,以及如何有效保证在这两种软件之间进行图形数据转换的途径与方法.

1 SolidWorks与Pro/E图形数据交换标准

1.1 数据交换流程

不同的CAD图形数据在不同的应用系统间进行交换,必须有数据接口作为交换的桥梁,所谓数据交换接口,实际上是一种能够实现两个以上系统间信息交换的程序或方法[2].如图1所示.

图1 SolidWorks与Pro/Engineer交换流程

常用数据交换形式有:

(1)利用软件本身自带的二次开发工具,并通过一些高级语言(如Java、C语言、C++)等,设计一种数据交换接口程序,完成系统间的信息交换与共享.例如通过Pro/E软件中自带的二次开发Pro/TOOLKIT程序,结合C++语言及Pro/E的接口函数,设计一种模型接口程序,可以将在Pro/E中所建立的部分复杂实体模型通过文件形式输入到数据库中,从而实现Pro/E软件与数据库之间数据的传送,同时这种方法也解决了通过PRT格式的文件输入到CAD软件中容易造成图元丢失或者模型不适用网络划分等问题,当然,这种接口有其局限性,而且设计难度大[3-4].

(2)标准文件,即通过标准格式文件进行数据交换如IGES 、STEP 、STL 、Parasolid等.根据功能的不同又可以分为实体(包括线框与表面)格式和有限元(FEM) 格式.

1.2 标准数据交换格式

对比Pro/E与SolidWorks这两款软件,它们都提供了目前最流行的STEP与IGES数据交换标准,从使用效果来看,都能比较好地担当起数据交换的桥梁.

1)国际图形交换标准(IGES)

IGES是由美国国家标准局与企业共同制定,IGES为了解决数据在不同的CAD/CAM间进行传递的问题,定义了一套表示CAD/CAM系统中常用的几何和非几何数据格式,以及相应的文件结构,其内部图样数据贮存即使各不相同,但只要遵循IGES标准的规定,数据就可以通过多种物理介质进行交换.IGES主要是为了解决二维图纸的信息共享的再处理,尽管新版本增加了CGS、B-REP以及两者之间转换的数据类型,但IGES不能增加诸如工艺等非几何信息,且转换数据量大[6].

2)STEP标准

STEP是国际标准化组织(ISO)所属技术委员会统一制定的数据标准,其目的是在产品生存期内能够为产品数据的描述与通信提供一种中性数据标准.这种数据标准能完整地表达产品信息,并能独立于应用软件.STEP标准主要由应用层(Application Layer)、逻辑层(Logical Layer)和物理层(Physical Layer)三层结构组成,它能描述产品数据模型的各个方面,如几何形状、拓扑信息、形位公差、表面粗糙度、材料特性、工艺特性、设计特性、功能特性等,满足协同设计中的产品数据交换并满足各领域并行设计的需要,成为工程上常用的交换标准[7].

3)Parasolid格式

Parasolid格式是一个可开发的公开的数据格式,其本质是一个函数库,它的文件扩展名有“.x_b”,“x_t”,“.xmt_txt”.Parasolid格式不仅提供了精确的几何边表达功能,而且通过其容错造型技术,可以实现多种软件数据的无缝交换,只要软件是以Parasolid为核心的CAD/CAE系统,图形就能够在这些软件之间可靠地传递几何和拓朴信息,避免了IGES格式交换复杂数据容易丢失和可靠性差等问题[8].但由于Pro/ENGINEER软件不属于以Parasolid为核心的三维软件范畴,因而数据还不能直接通过Parasolid格式进行交换,必须通过专用的转换软件才能实现.

2 Pro/E至SolidWorks的模型交换格式

把Pro/E模型导入SolidWorks系统中,其数据的转换方式可以采用两种途径:一种是直接对三维实体模型进行转换方式;另一种是通过三维实体特征的转换方式,这种转换方式是SolidWorks软件本身特有的.二者的区别在于前者在三维界面下不能对其特征进行编辑,而后者可以对其特征进行修改,这样就能充分利用原有的设计数据,加快数据向SolidWorks系统过渡,且数据的完整性能得到有效的保障.如果选择实体特征转换方式进行交换,就必需要在SolidWorks界面上显示属性管理器中的特征树,同时在SolidWorks“工具”菜单中的“插件”下选中FeatureWorks特征识别管理器,这样就可以对导入的三维实体模型进行数据再处理.在SolidWorks软件中特征识别类型有三种[5]:

(1)交互特征识别

选择特征类型和构成所要识别特征的实体.这种方法的好处是可以控制所识别的特征.例如,可以决定要将圆柱切除识别为拉伸、旋转或孔.此外,可以借助所选的面及边线来决定特征草图的位置及复杂程度.

(2)逐步识别

可以识别零件的某些输入实体特征,保存该零件,稍后再识别同一输入实体的其它特征.也可以识别部分识别零件(包含输入实体和识别特征)的特征.可以保存部分识别的文档,以便保留各个识别阶段.

(3)选择交互特征识别

选择交互识别模式时,FeatureWorks 在实体选择过程中会激活 SolidWorks的“选择过滤器”.当指针移动到图形区域中时会变成过虑器图标,可根据选择的特征类型选择实体.

2.1 采用SolidWorks直接转换方式

首先以图2零件为例,在Pro/E中完成零件的三维建模,然后以IGES和STEP格式输出这些零件.再通过SolidWorks软件自带的转换器进行转换,如图3所示.选择“确定”,特征转换完成,如图4所示.如果想在SolidWorks软件中的属性管理器中显示特征树,就单击”特征”,就可以实现三维实体特征的显示,否则只显示三维实体的界面,如图5所示.同时打开一个转化报告对话框,提示特征识别状态,在转化报告中,我们可以看出有的特征能够识别,有的特征不能识别,也就是CAD实体模型的数据交换时还存在几何缺陷和拓扑缺陷,如图6所示,曲面旋转特征没有识别,而且几何缺陷不能在SolidWorks软件中重构.

图2 Pro/E三维实体零件图

图3 转换器 图4 转换结果

图5 转换后三维实体模型 图6 转换报告

2.2 采用特征方式进行交换过程

通过Pro/E完成此零件设计过程中,零件具有曲面造型特征,而且还应用到了Pro/E内部独有的对齐、相切等约束算法和曲面相交自动生成曲线方法,这样在数据交换过程中会导致部分曲线在EXPRESS不能找到相应的实体描述,中性文件中无法映射和表达,所以在数据交换过程中,可以明显地看到有部分曲线的丢失和退化,于是出现如图5中三维实体模型特征的丢失现象[9].

要解决这个问题,就必须采用实体特征识别方式进行交换,这样即使数据有丢失和退化,也可以在SolidWorks软件中通过特征重构得到完整的几何造型.只不过这些功能应首先在SolidWorks软件中启动插件FeatureWorks“特征识别管理器”,使SolidWorks软件具有实体特征识别功能.FeatureWorks可以识别SolidWorks文件中输入实体的特征.识别的特征与使用SolidWorks软件生成的特征相同,因而可以编辑所识别特征,也可以在草图状态,通过重新定义其参数,修改参数、新建编辑草图来改变特征的几何形状.FeatureWorks对静态的转换文件能进行智能化处理,获得有用的信息,减少了重建模型所花费的时间.

1) 首先把Pro/E画好的文件另存为IGES或者STEP的格式.

图7 输入诊断提示框

2) 然后在SolidWorks软件中通过相同的图形标准打开这个文件,文件打开后,就会出现如图7所示的对话框,提示是否对零件需要输入诊断.

点击“是”,打开如图8(a)所示对话框,就会得到诊断结果,通过诊断该零件,在对话框里会显示该零件“面”需要修复,单击右键“项目”,然后选择“修复”操作,如果对话框中没有错误内容,表明修复成功,如果对话框中还显示错误内容,表明修复没成功,表明“面”的这些数据通过中性文件中无法映射,这样只能通过绘图命令,重新完成的几何造型,如图8(b)所示.

参数化设计软件还需要对模型特征进行识别,如图8(c)所示,启动插件FeatureWorks,会对零件所选取的特征进行识别,单击“是”,就开始对零件进行识别,如图9所示.

单击识别后,出现如图10所示的对话框,并且在FeatureManager特征管理器中预览显示图形的特征树.单击“映射特征”直接进入显示特征树的三维实体特征模型的界面.如果想继续显示其它特征,单击“继续”,再根据相应的提示进行相应的操作.如果特征设有错误,零件转换就完成,如图11所示.如果零件有错误,则可以通过特征树进行修改.

3 SolidWorks至Pro/E的图形转换

本设计也探讨了由SolidWorks图形转换成Pro/E图形的方法,转换方式也同样采用中性文件,实践操作证明数据交换能够基本实现,但数据交换过程没有由Pro/E向SolidWorks转换那样流畅,而且转换过程中还存在以下一些问题.

(a)输入诊断信息 (b)输入诊断结果 (c)特征识别信息图8 输入诊断操作提示对话框

图9 特征识别提示框

图10 映射特征提示

图11 特征转换结果

(1) 在转换过程中只能以三维实体的模型进行转换,不能对其特征进行修改.

(2) 转换后的文件存在尺寸不准的问题,存在数据易丢失的现象,如尺寸偏大或偏小.

(3) Solidworks图形下的基准平面、基准轴不能转换.

4 结论

特征识别(FeatureWorks)为数据交换提供了一种崭新的图形特征识别、图形重构功能,充分保证数据交换的完整性,使操作更具有灵活性,创新性.但数据在交换过程中还需要注意以下几点:

(1) 几乎所有三维软件都配有STEP标准,因此,基于STEP标准格式实现数据交换更具扩充性、数据交换时间更短,越来越成为设计人员欢迎的标准之一[10].

(2) 把Pro/E绘制的图形转换到Solidworks软件中进行处理,需要通过 SolidWorks软件菜单中的插件FeatureWorks“特征识别管理器”进行识别,两者交换的数据较完整,而且还可在Solidworks软件中对图形进行修改.

(3) 把SolidWorks图形转换成Pro/E图形则存在一些尺寸失真问题,转换后存在数据丢失的现象.

(4) 尽可能减少复杂曲面特征,在转换过程中图形的转换标准应保持一致.

参考文献:

[1] 郁飞鹏,贾鸿社.ADAMS与UG、SolidWorks的数据交换实践[J].现代制造工程,2005(10):37-38.

[2] 仲梁维,张国全.计算机辅助设计与制造[M].北京:中国林业出版社,2007.

[3] 王富强,朱世范,张家泰,等.Pro/E中三维零件库几何编程接口的研究[J].应用科技,2005(6):44-48.

[4] 杨洪君,宁汝新.Pro/E和UG之间三维模型数据交换方式[J].计算机辅助设计与图形学报,2005(12):2756-2759.

[5] 王 霄,尹必峰.Pro/Engineer Wildfire 3.0 高级设计实例教程[M].北京:化学工业出版社,2007.

[6] 董晓岚,黄筱调.关于STEP中性文件的数据结构的研究及实现[J].机械设计与制造,2005(10):49-50.

[7] 沈 玺,方 鹏,宋小青.浅谈ANSYS 与SolidWorks 的数据交换[J].Equip Manuf Technol,2006(5):50-51.

[8] 李 宏.三维模型数据格式转化的技巧[J].金华职业技术学院报,2008(6):15-16.

[9] 王 玲,樊可清.Pro/E三维造型向AutoCAD二维图形的转换技术[J].煤矿机械,2004(1):70-72.

[10] 李春友.基于飞机设计的IGES图形数据交换[J].电子科学,2008(10):31-33.

[11] 邢启恩.SolidWorks2007装配体设计与案例精粹[M].北京:机械工业出版社,2006.

猜你喜欢

对话框实体图形
正常恢复虚拟机
前海自贸区:金融服务实体
Bootlace Worms’Secret etc.
What Is Beauty?
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
分图形
找图形
浅谈VB的通用对话框《CommonDialog》控件的使用