参数化零部件库建库技术研究与实践
2013-09-25杨显刚何玉林李成武
杨显刚, 何玉林, 杜 静, 金 鑫, 李成武
(重庆大学机械学院,重庆 400044)
参数化零部件库建库技术研究与实践
杨显刚, 何玉林, 杜 静, 金 鑫, 李成武
(重庆大学机械学院,重庆 400044)
在论述特征、事物特征表、特征造型与参数化设计的相互关系的基础上,提出了基于通用CAD系统的参数化零部件设计思路。在研究Inventor平台二次开发的基础上,提出了基于Inventor的参数化零部件库的构建方法和关键的实现代码,并通过实例验证了该方法的可行性。
快速设计;参数化设计;Inventor二次开发;零部件库
随着科学技术迅猛发展和市场竞争日益激烈,如何快速的提供满足客户需要的产品,成为了企业提高竞争力的不懈追求的目标。企业能否快速的设计出满足需要的产品是企业核心竞争力的重要标志。CAD技术已普遍被企业采用,但是,通用CAD 系统已难以满足进一步提高产品设计效率和封装专业知识的要求。因此,开发面向行业的专用CAD 系统已成为提高设计效率和水平的重要方向。设计人员在利用CAD 软件进行产品设计时,大量地用到国家标准件、行业标准件、企业通用件等零部件,所以,在通用CAD 系统中建立面向行业开放的、信息完备的零部件库是一项重要的基础工作。通过使用零部件库系统,设计人员可以把精力集中在新产品的创新设计上,或者在原有零部件的基础上进行变形修改,从而节省宝贵的时间,缩短产品的开发周期,提高设计效率[1]。
1 特征、事物特性表与参数化设计
特征(Feature)这一概念从20世纪70年代提出以来,学术界还没有一个统一的关于特征的严格定义。从不同的角度,会有不同的定义。
Shan JJ提出特征是一种形状,对于这类形状,工程设计人员可以附加一些工程信息[2]。
Christian Mascle在总结各特征定义的基础上给特征下的定义为:特征是对一个或多个设计、制造活动有意义的几何形体或实体,并由此构成一个零件的形状和其他属性的信息集[3]。
从上面这些定义中,可以看出,特征是对一定的结构的抽象,具有一定的工程意义,它蕴含结构的几何信息和拓扑信息,人们可以利用特征来交流和表达思想。
事物用特征来表示后,事物就表现为一组有意义的特征参数。不同的事物表现为不同的参数。这些参数常用事物特性表来存储。特征和事物特性表与CAD造型技术相结结合,这就形成了特征造型。
特征造型是设计人员直接用符合他们的思维习惯的特征概念来建立产品模型。它的基本思想是预定义一组感兴趣的特征,存入特征库中,这些特征的几何和拓扑关系被事先定义,而特征参数和技术信息等被定义为变量。设计时,由设计人员根据需要指定这些变量和操纵特征关系来完成产品定义。由于特征是面向工程人员有意义的元素,特征不仅能够加速设计过程,实现标准化生产,降低成本和提高生产率,而且能够提高产品设计质量,显著改善设计与应用之间的信息交换。
参数化设计是指零件或部件的形状比较定型,用一组参数约束该几何图形的一组结构尺寸序列,参数与设计对象的控制尺寸显式对应,当赋予不同的参数序列值时,就可达到驱动新的目标几何图形,其设计结果是包含设计信息的模型[4]。参数化设计将产品设计转变为产品参数的制定,通过重用已有产品的几何和拓扑结构,使得设计人员专注于产品的主要性能参数的设计。这无疑是会大大提高产品的设计效率。因此,参数化设计是快速设计的重要研究内容。
此外,为了满足多样化的客户需求,企业常常将产品系列化。有统计表明企业产品设计工作中有70%是变型设计。为了降低产品的成本,常常在产品设计中大量选用标准化、通用化和系列化的零件。这些都为参数化设计提供用武之地。
参数化设计离不开基于特征造型的CAD系统的支持。只有借助于CAD系统的支持才能将产品的性能参数转变为产品模型,进而投入生产,形成产品。通用的CAD系统提供的特征造型着眼于产品的几何模型的建立,对具体的产品设计,尤其是具体产品的变型设计而言,重用的粒度过细,不能满足快速设计的需要。具体地讲,产品设计要求重用的是零部件,而通用的 CAD系统提供的是产品零部件的建模特征。因此,常常在通用的CAD系统的基础上借助于二次开发技术,对零部件进行特征抽取,用特征参数表来表示和存储结构类似的零部件,通过特征参数驱动零部件的模版模型文件,生成满足需要的新零部件。其中,对于部件的处理有两种思路,一种思路是将部件作为零件来处理,即部件就是零件;另一种思路是充分考虑部件的内部结构,强调部件是由零件构成的装配体。由于在实际工作中,对于被选部件,常常只关心部件的功能特性参数和在产品中与其他零部件的连接和空间情况,很少去关心部件的内部结构,因此,为了降低建模的复杂度,和模型库的数量,通常将部件作为零件来处理,即采用第一种思路去处理部件。对于那些部件结构对产品有重要影响的部件或者对部件所含零件有选择要求的部件,在建立部件库时应采用第二种思路。
2 Inventor及基于 Inventor的二次开发
Autodesk Inventor是一个基于特征的参数化实体造型软件,是集参数实体造型、曲面造型、装配造型、二维与三维双向关联绘图以及与AutoCAD相互转换于一体的机械设计系统。
API是Application Program Interface(应用程序接口)的简称。Inventor API以COM方式把Inventor的各种内在对象暴露出来供二次开发人员调用,用以满足特殊的产品设计需要。通过满足这些需要的功能模块,设计人员在Inventor中可以高效的设计出满足客户需要的设计产品。Inventor API所含的对象较多,对象层次也较多,因此,本文只给出几个主要对象及其层次结构如图1所示。
图1 Inventor API对象组织图
图1反映了Inventor内部各种对象的包含关系。在这幅图的指引下程序员可以获得某个具体对象实例的访问权。例如,现在要访问PartDocument对象的实例——当前活动零件文档,假设inventor的Application对象实例为_invApp,可以用如下代码来实现:
//声明该类型变量Dim oPartDoc As Inventor.PartDocument//把Application对象实例中相应的实例赋值该类型变量,获得该实例的访问权
oPartDoc = _invApp.ActiveDocument Inventor提供了4种InventorAPI开发途径,即 VBA,Add-In,Standalone EXE 和ApprenticeServer。
VBA的全称是Visual Basic for Application,即为应用程序量身定做的 VBasic。因此,VBA并不是一个独立的开发工具,也不为某一个产品所独有,它是微软开发的一种编程语言。在Inventor中,利用 VBA设计的程序一般被称作“宏”,需要在 Inventor才可以执行,不能脱离Inventor。在新版本中可能被取消,因此,考虑到模块的可重用性,建议不要采用此方式。
Add-In 即插件,可生成DLL形式,也可以选择生成EX E形式。DLL形式在Inventor 启动时自动加载,运行在Inventor相同的处理空间,效率最高。EXE形式运行在单独的处理空间中,其优点是不会危及Inventor的运行,调试较方便,但效率较低。
StandaloneEXE运行在Inventor之外的处理空间,与Inventor进行频繁通讯,因而存在效率上的损失,但拥有自己的界面,便于用户调试。
ApprenticeServer 是 Inventor 的一个子集,运行在应用程序相同的处理空间,比在 Inventor内部操作具有更高的效率,但提供功能的有限。
综上所述,在开发初期,即产品原型开发时用StandaloneEXE方式,在产品发布时用插件形式。
Inventor的二次开发与其他平台的二次开发一样,是为了拓展平台的功能。借助嵌入平台的功能模块,能够快速地完成任务。Inventor的二次开发相较于solidworks和solidedge研究较少。从检索到的文献[5-7]上看,主要包括Inventor的应用和基于Inventor的参数化零件库的研究,在构建参数化零件库的理论和具体实现方法上仍有值得研究的地方。此外,在新版的 Inventor中ilogic技术在参数化零部件库的建立中也有重要的价值。
3 基于 Inventor的参数化零部件库的构建
Inventor提供了一系列的参数化工具:ifeature、ipart、iassemble。这些参数化工具都是建立在特征参数表(在Inventor中用“fx”来表示)的基础上的。ifeature用于定义特征,ipart用于对零件进行特征化,形成零件工厂,iassemble用于对装配体进行特征化。利用这些工具,可以快速地将系列化、标准化的零件以特征表的形式存储在模型中方便在Inventor的环境中进行快速的参数化建模。但是,这些信息被封装在模型文件中,造成了这些信息共享困难,不便于设计人员的交流和共享。因此,常常利用二次开发技术,利用这些参数化工具,借助编程语言,结合行业知识来开发面向行业的快速设计工具。对于 Inventor,常常利用 fx、ifeature、ipart、iassemble和ilogic这些参数化工具来建立快速开发工具的功能原型,然后利用编程技术以插件的形式开发出功能模块,最后,在Inventor环境中发布这些功能模块,供设计人员使用。
在Inventor环境中构建零件库一般用到两个流程。
1) 在Inventor环境下利用ipart技术构建带有较小特征参数表的零件库,主要用于验证模型文件的正确性。基于ipart技术的零件库建构流程如下:
用Inventor建立零件模型——用ipart技术参数化零件,建立特征参数表——通过ipart表变更不同的参数生成不同的零件。
2) 应用二次开发技术构建基于Inventor的插件式零件库的建构流程,主要用于快速设计工具的建立,其流程如下:
用Inventor建立零件模型——用fx参数化零件,建立特征参数表——应用 InventorAPI给特征参数赋值,驱动零件模型——生成新的模型文件,完成参数化建模。
在综合产品设计时对部件的选用要求,零部件库的开发成本等因素的基础上,选择第一种部件库的构建思路,即将部件作为零件来处理。因此,部件库和零件库的开发流程基本相同,不同的是部件模型需要运用变量化技术将给出的较少的部件参数和较多的模型参数关联。
基于Inventor的插件式零部件库的构建技术主要包括下面几个部分:
3.1 建立模型文件和特征参数表
在产品变形设计中,常常既要选用零件,也要选用部件。被选的零部件常常以手册的形式出现,为了便于理解零部件的几何特征参数的含义,常用示意图来说明。对选用的零件,按零件的几何特征尺寸建立几何模型,然后根据这些尺寸建立特征参数表。对于选用的部件,由于在实际工作中以表格和示意图的方式给出的被选部件常常对非重要的几何参数进行简化处理,因此,在建模的时候要作一定的尺寸补充,补充尺寸要尽可能的与特征尺寸关联,以保证模型在保证准确性的同时尽可能协调。为此,常常将特征参数作为用户自定义参数,然后用这些自定义参数作为变量,用关系式去定义模型参数。手册参数一般直接作为用户自定义参数,但值得注意的是,当手册参数名称与系统参数名称冲突时要求重新命名该参数,因此,常用数据字典的形式来建立手册参数名和用户参数名之间的映射关系。为了模型的通用性,常常增加很少的用户自定义参数,比如表1中的变量ddd。然后再在建模的过程中充分考虑这些参数,并将这些参数作为模型变量,以便于Inventor插件通过给这些参数赋值来驱动参数模型。
下面以双轴改向滚筒为例说明建模过程。首先分析双轴改向滚筒的示意图和特征参数表,用Inventor平台建立该滚筒模型文件如图2所示,在表现特征参数的同时尽量保持模型的协调。其次根据手册参数定义用户参数,然后用用户参数通过关系式去定义模型参数,例如表1反应了双轴改向滚筒的手册参数、用户参数和模型参数之间的对应关系。最后,将手册参数表数据输入用户参数,检验模型的正确性。
表1 双轴改向滚筒手册参数、用户参数和模型参数对应表
图2 双轴改向滚筒模型
此外,为了减少模型文件的数量,可以应用Inventor的ilogic技术。ilogic技术Inventor新增加的功能,它主要是为了克服传统参数化模型的局限性,即传统参数化模型只能用几何尺寸参数驱动模型来实现参数化。ilogic技术不仅可以利用几何尺寸来参数化模型,还可以定义规则和关系。利用关系和规则可以在参数化模型中引入尺寸参数、特性(property)、属性、特征(feature)、组件或者其它特性。这增加了建立参数化模型的灵活性,可以将相似的几个模型用一个含有丰富规则的模型来代替。例如:根据连接的要求,滚筒的基座上有时需要放置2个孔,有时需要放置4个孔。在传统的参数化模型中只有建2个模型,1个带有两个孔。1个带 4个孔。如果用 ilogic技术,可以这样处理:首先在用户参数表中建立一个变量(NumberHoles),并制定其值为 2,4;然后用ilogic规则编辑器编写如下规则如图3所示;最后通过改变变量NumberHoles的值来设定孔的数量。
图3 ilogic规则
3.2 用特征参数驱动模型文件,生成新的模型文件
特征参数可以以多种方式来存储,可以存在数据库中,也可以存在数据文件中。一般情况下,为了便于信息共享,便于信息的维护和管理,常利用数据库来存储。为了使用的方便性,常以插件的形式将新开发的功能模块集成到Inventor平台中。因此,参数化零部件模块的结构如下:
图4 参数化零部件模块图
在图4中,模型库实际上就是一个文件夹,里面包含了多个只读的模型文件。数据库可以是任意的数据库系统,例如本文事例选择的数据库系统是SQL Server。数据库一旦确定后,相应得数据库访问技术也就决定了,例如,本文事例选择的数据库访问技术为ADO技术。参数化零部件模块插件主要包括交互界面、数据库访问技术、InventorAPI等3部分。交互界面是利用MFC技术来构建的,因为 Inventor平台是安装在Windows操作系统中。数据库访问技术主要是从数据库获取数据。InventorAPI主要执行一些基于Inventor的自动化操作。参数化零部件模块插件的功能是借助交互界面获取设计人员指令,在数据库和模型库的支持下自动完成零部件模型的建立。
参数化零部件模块的工作流程如图5所示。
图5 参数化零部件模块的工作流程图
在图5中,最关键的是如何利用InventorAPI对象通过特征参数来驱动模型文件。这个问题的解决方法是利用InventorAPI中parameters对象来指定模型中参数的值,然后更新模型,从而完成模型的建立。该方法的关键代码如图6所示。
图6 parameters对象的应用
此外,为了插件的交互性,常常将零部件的选型知识融合在交互界面中。如图7中,滚筒在选型的过程中用到了两条规则,一条是根据滚筒的类型来选择,一条是根据皮带宽度来选择。
图7 插件式滚筒参数化模块的实现
4 结 论
本文详细的论述了特征的内涵以及事物的特征表示形式——特征事物表,在此基础上讨论了特征造型和参数化设计,为参数化零部件库的构建提供了理论基础和开发思路。在介绍Inventor平台的二次开发情况基础上,给出基于inventor的参数化零部件库的构建方法和实现代码。该方法在某企业的皮带运输机参数化系统的应用中取得显著的效果,表明了该方法的可行性和有效性。借助参数化部件模块,设计人员可以快速生成通用部件的几何模型。通过对相关的部件模型进行装配,可构建基于装配环境的自制件关联设计环境。皮带运输机参数化系统的应用明显加速了整个设计过程,降低了自制件和通用部件不匹配问题的出现率,提高了设计的质量。皮带运输机参数化系统下一步将引入通用部件的自动装配技术,避免人工装配中的误装配问题。
[1]刘雪梅, 李爱军, 朱文博. 零部件库建库方法研究[J].工程图学学报, 2006, 27(1):30-34.
[2]Shan J J. Expect form feature modeling shell [J]. CAD,1998, 20(9):515-524.
[3]Mascle C. Feature-based assembly model for integration in computer-aided assembly [J]. Robotics and Computer Integrated Manufacturing, 2002, 18:373-378.
[4]孟祥旭. 参数化设计模型的研究与实现[D]. 北京:中国科学院计算技术研究所, 1998.
[5]李爱平, 胡永亮, 刘雪梅, 等. 基于Inventor 的三维参数化部件库系统的开发方法[J]. 计算机工程与应用, 2007, 43(3):84-86.
[6]叶乐晓, 王毅刚. 基于Inventor API的家具三维造型设计[J]. 计算机工程与设计, 2008, 29(2):496-499.
[7]王勇勤, 姚保卫, 严兴春, 等. 基于 Inventor的装配参数化系统的开发方法[J]. 机械制造, 2010, 48(4):22-22.
Research and Implementation of Parametric Parts and Components Library
Yang Xiangang, He Yulin, Du Jing, Jin Xin, Li Chengwu
( Chongqing University, Chongqing 400044, china )
On the basis of describing the relationship between features, tabular layout of article characteristics, design with features and parametric design, the paper proposes an insight into how to parameterize parts/components on general CAD systems. Based on the research of customized development on Inventor, the methodology of building parametric parts/components library and developing key implementation code on Inventor is put forward. Instance of case study is performed and demonstrates the feasibility of the methodology.
rapid design; parametric design; customized development; part and component library
TP 391
A
2095-302X (2013)02-0153-06
2012-03-16;定稿日期:2012-05-18
国家自然科学基金资助项目(51005255);国家科技支撑计划课题资助项目(2009BAA22B02 )
杨显刚(1978-),男,四川南部人,博士研究生,主要研究方向为产品数字化设计与制造、知识工程。E-mail:yxg20023@yahoo.com.cn
何玉林(1945-),男,四川遂宁人,教授,博士生导师,主要研究方向为风力发电机组设计技术研究、计算机图形学、产品数字化设计与制造。E-mail:heyulin@cqu.edu.cn