刘 滕, 郝 博, 张信淋
(1. 沈阳理工大学 机械工程学院, 辽宁 沈阳 110159; 2. 辽宁机电职业技术学院, 辽宁 丹东 118009)
面向参数化建模的CATIA知识工程的二次开发技术
刘滕1, 郝博2, 张信淋1
(1. 沈阳理工大学 机械工程学院, 辽宁 沈阳110159; 2. 辽宁机电职业技术学院, 辽宁 丹东118009)
摘要:为缩短产品的开发周期,研究了一种利用CATIA进行二次开发的技术.通过CATIA知识工程顾问平台将产品的设计经验、特征信息等存于知识库中,利用逻辑推理与表达将知识信息重用,实现典型零件的智能化快速响应设计.该技术以组件应用框架为开发平台,在知识工程模块开发集成的基础上,实现典型零件参数化建模,提高了设计效率.
关键词:参数化建模;知识工程;二次开发;信息重用
随着CAD/CAM 技术的发展,参数化建模技术已经成为CAD中最热门的应用技术之一.参数化建模技术的发展经历了从手工绘图到计算机二维绘图、线框模型、自由曲面造型、三维实体造型,以及特征造型等发展阶段[1],实现了从平面投影技术到全三维实体模型的转变.传统的CATIA建模技术所构造的产品模型都是简单几何元素,难以实现对模型特征的重复利用.为了解决上述问题,研究利用CATIA二次开发的参数化建模方法,把已有的设计方法、经验等知识信息与CATIA参数化建模系统相结合,自动推理出符合要求的零件几何模型.为此,人们提出了新的方法----基于知识工程的参数化建模技术[2].该技术优点在于以二次开发技术为载体将包含有设计者的设计思想、经验等信息的知识工程技术与参数化建模技术相结合,相比较独立的建模系统,可以较大程度提高产品设计效率.
通过研究知识工程的二次开发技术,指导典型零件的参数化建模,将产品知识融于设计过程.CATIA知识工程顾问模块能让产品设计人员在可视化的环境下,把产品的知识库(参数选取、变量约束、特征关系式等)用知识工程原理表达出来[3].将知识工程模型库中的信息重新整合在新产品中,并通过逻辑推理以及专家系统提出最佳的设计方案,实现智能化设计.
1参数化建模与CATIA二次开发
1.1参数化建模技术
参数化建模技术就是首先采用预定义的办法建立图形的几何约束集,定义尺寸作为参数并与几何约束集通过创建公式相关联,自动完成产品设计.其核心就是将单一模型中的定量信息变量化,提取产品的定形、定位等特征作为自变量,通过公式修改相关特征尺寸,其基本原理见图1.参数化建模技术极大地改善了产品图形的修改手段,提高了设计的柔性.在典型零件设计中,经常会遇到系列化产品的设计和标准件、常用件库建立等问题,采用参数化建模方法是解决这一问题的最佳手段[4].
图1 参数化建模原理图
1.2CATIA二次开发技术
CATIA是由法国达索公司开发的对三维曲面信息有强大处理功能的软件.为使CATIA满足用户深层次需求,CATIA开放了大部分接口,提供了很好的二次开发平台[5].常用的CATIA二次开发的方法有两种,第一种是利用自动化应用接口(Automation API)技术,可通过录制宏(自动生成 VBScript 等)或 Visual Basic 平台等方式实现所需功能[6].第二种是采用组件应用框架(CAA)技术,这种方法采用了标准接口技术,具备了更好的模块独立性和可扩展性,使CAA的程序设计更加容易且趋于标准化[7].
该系统采用第二种方法即利用CAA技术对CATIA已有的功能统一集成或者根据用户要求开发新功能.CAA由若干模块组成,其基本结构框架如图2所示.在CAA中,对于知识工程的二次开发函数主要存在于Knowledge模块中.
图2 组件应用框架
2基于知识工程的参数化建模技术
2.1知识工程技术
基于知识工程(Knowledge Based Engineering,KBE)的核心就是将产品的设计标准、规范经验等特征信息建成知识库嵌入到设计系统中.主要用于尺寸驱动的多视图参数化、三维参数化与三维建模的统一处理[8],对于大批量生产的典型零件应用意义较大.
KBE技术将人工智能与CATIA有机结合起来,将知识工程融入到CATIA系统中,使其应用对象扩展到工程设计领域,形成了工程设计与CAX系统的无缝连接[2],提高产品的设计效率.
2.2面向参数化建模的知识工程技术
为使参数化建模的优点充分体现,采用知识工程技术描述产品的特征信息,这使其能够以成员变量和成员函数的形式体现.通过创建产品知识工程信息库来表达产品设计的规则,其核心在于知识的推理与重用.所谓推理就是按某种策略由单一典型判断推出所包含这一判断的某一类型的思维过程.在当前知识工程领域,基于规则的推理(RBR)、基于实例的推理(CBR),以及基于模型的推理(MBR)这三种推理方式应用最为广泛.面向参数化建模的知识工程技术中所用到的推理方式为基于实例的推理与基于规则的推理两种方式相结合.其具体实现方式如下:一是基于实例的推理方式,通过创建知识库来储存已有的实例知识信息,研究KBE的模板匹配技术,提取典型零件的特征信息,使模板得到重用[9].二是基于规则的推理,将建模过程中所用到的参数以及约束规范等存放在规则库中,利用参数和关系式驱动几何模型,将设计中的尺寸约束转化为控制产品图形的参数[6].利用以上两种方式,可以实现基于逻辑推理的知识表达及重用.
将CATIA知识工程顾问模块所提供的公式、规则和检查等内容利用CAA中的函数以程序语言的形式来表达.规则制定可以通过调用函数命令,有条件地改变尺寸值.检查制定可以着重标明在校验过程中涉及的参数,检查相关变量之间是否存在干涉的现象,从而提高设计效率[1].
3知识工程技术的二次开发
3.1典型零件的参数化建模
首先利用CATIA的二次开发功能将典型零件进行参数化建模,提取产品的特征信息集成在知识工程模型库中,然后在CATIA的Part Design中创建人机交互界面并实现对用户界面功能的命令响应.在接口函数中创建工具条和命令按钮,这一界面主要作用是体现存放在知识模型库中的信息能够重复利用的特点,如参数的选取、公式的编辑等,具体程序命令如下:
{NewAccess(CATCmdContainer,pCATIAMbr,CATIAMbr);
NewAccess(CATCmdContainer,pMnu1,知识工程);
SetAccessChild(pCATIAMbr,pMnu1);
NewAccess(CATCmdContainer,
pMenu1,参数化建模);
SetAccessChild(pMnu1,pMenu1);}
本程序的两个主要模块为参数化建模和知识工程技术模块,具体的建模流程如图3所示:首先按照设计要求设置参数,然后通过智能专家系统,判断零件设计的合理性,实现参数化建模.将其存放在知识库中,为零件特征信息的提取以及重用提供模型支持.
3.2特征信息的提取
利用知识工程顾问模块,以程序语言的形式来表达参数和关系式等特征信息是利用知识工程技术的前提.拉杆因其具有使用灵活、通用性较高等特点,在汽车各部件中应用较多,以汽车悬挂平衡拉杆为例,首先利用函数CATIParm Publisher,将自定义变量在后台运行窗口中显示,命令如下:
图3 KBE参数化建模流程图
CATLISTV(CATISpecObjectvar)ListFound;
sPPublish->
GetAllChildren(CATICkeParm,ListFound);
CATICkeParmFactory_varCATICkeParm_var
ekobj=spCkeFact->CreateLength
(“耳孔半径”, D/2000);∥显示特征变量
CATCkeGlobalFunctions::GetFunctionFactory()
spFunctionFact->
AddToCurrentParameterSet(ekobj, piPublish);
spFormula=spCkeFact
->CreateFormula;∥创建基于特征信息变量关系式
if(pi->_pSelectList002->IsSelect(“拉杆”))
pi->NewCurrentSelect = “CCCC”;
pi->CreateInstanceModelCCCC();
CATUnicodeString(“LaGan.CATPart”);∥将特征信息存放在知识库中
通过以上程序建立变量之间的函数关系式,根据关系式中所建立的参数依附关系,修改变量,提取特征信息并显示在模型结构树上,利用知识工程技术可实现参数的提取与更改.
3.3特征信息的重用
首先利用函数GetParameters确定所要获取的构件要素的种类和数量,以CATIA系统中的超级副本技术为基础,以汽车悬挂平衡拉杆为例,有如下操作:
CATPathElement*FirstPlane=SelectedPathMent[1]
FilterTheSelectCATPathMent
(FirstPlane,TempFirstPlane,1,pIUdfInstantiate);
pIUdfInstantiate->GetParameters
(pListParam,pListParamRole);∥获取构件要素
double a;
a=Editor2()->GetValue()
pIUdfInstantiate->SetNewInput(1,TempFirstPlan);
……
依照此程序,以汽车悬挂平衡拉杆为例,利用知识工程技术对耳片半径、厚度等实现特征信息的更改以及重用,所得零件模型如图4所示.
图4 基于知识工程的汽车悬挂平衡拉杆模型
4结论
本文通过对传统的知识工程技术模块进行二次开发,将这一技术应用到典型零件上,实现知识驱动下的产品参数化建模.从CATIA二次开发的思路上看,这是一个优势明显的面向对象程序设计的典范[4],知识工程技术应用于参数化建模中,其核心思想是利用二次开发技术将设计人员的设计经验、思路以及方法融入到产品设计中,不仅是简单地表示、利用知识,而且还能更进一步获取知识,利用知识工程技术可以预先发现设计缺点,提高设计效率,同时,KBE技术能够将行业工程标准和长期积累的成熟设计经验以知识工程模型库的形式保存,通过不断地更新知识库系统,实现知识信息的自我学习与创新,实现对典型零件的快速智能化建模.
参考文献:
[1] 顾晓华,仲梁维. 基于知识工程的参数化设计[J]. 机械设计与制造工程, 2001(4):17-18.
(GU X H, ZHONG L W. The parametric design oriented to knowledge base[J]. Machine Design and Manufacturing Engineering, 2001,30(4):17-18.)
[2] 赵东,孔慧敏. 基于知识工程的船体结构参数化设计[J]. 造船技术, 2005(1):5-7.
(ZHAO D, KONG H M. Parameterized design of hull structure on basic of knowledge engineering[J]. Marine Technology, 2005(1):5-7.)
[3] 戴晟晖,桂颖. 基于KBE与ActiveX的产品参数化设计研究[J].计算机工程与设计, 2008(24):6410-6413.
(DAI S H, GUI Y. Parameterized design for mechanical product based on KBE and ActiveX[J]. Computer Engineering and Design, 2008,29(24):6410-6413.)
[4] 张学忱,陈锦昌,范汝祥,等. 知识工程在机械产品参数化设计中的应用研究[J]. 工程图学学报, 2009(6):191-195.
(ZHANG X C, CHEN J C, FAN R X, et al. Research on application of knowledge engineering in parametric design for mechanical product[J]. Journal of Engineering Graphics, 2009,30(6):191-195.)
[5] 龙峰,樊留群. CATIA V5二次开发技术探讨[J]. 淮阴工学院学报, 2005(5):21-23.
(LONG F, FAN L Q. On the second development technology of CATIA V5[J]. Journal of Huaiyin Institute of Technology, 2005,14(5):21-23.)
[6] 吴立军. CATIA二次开发技术基础[M]. 北京:电子工业出版社, 2006:12-13.
(WU L J. CATIA secondary development technology[M]. Beijing: Electronic Industry Press, 2006:12-13.)
[7] 梁岱春,张为民,隋立江. 浅析基于CAA的CATIA二次开发[J]. 航空制造技术, 2012(10):65-68.
(LIANG D C, ZHANG W M, SUI L J. Brief analysis on secondary development of CATIA based on CAA[J]. Aeronautical Manufacturing Technology, 2012(10):65-68.)
[8] 王春莉,梁立波,王宝玉. 计算机三维重建技术的发展与应用[J]. 沈阳大学学报, 2003(2):25-26.
(WANG C L, LIANG L B, WANG B Y. Development and application of computer 3D reconstruction[J]. Journal of Shenyang University, 2003,15(2):25-26.)
[9] 赵波. 基于KBE的机械产品设计[J]. 机械设计, 2004(7):7-8.
【责任编辑: 肖景魁】
( ZHAO B. Machinery product design based on KBE[J]. Journal of Mechane Design, 2004,21(7):7-8.)
Secondary Development Technology of CATIA Knowledge Engineering Based on Parameterized Modeling
LiuTeng1,HaoBo2,ZhangXinlin1
(1. School of Mechanical Engineering, Shenyang Ligong University, Shenyang 110159, China; 2. Liaoning Mechatronics College, Dandong 118009, China)
Abstract:A technology using CATIA to make secondary development is studied, to shorten product development cycle. The design experience and the feature information of the product are stored in knowledge base through the knowledge advisor platform of CATIA; the knowledge information could be reused by using logical reasoning and expressing, so as to realize the intelligent rapid response design of typical parts. This technology takes component application framework as development platform, on the basis of the development of integrated knowledge engineering modules, the parametric modeling of typical parts is realized, and the design efficiency is improved.
Key words:parametric modeling; knowledge engineering; secondary development; information reuse
中图分类号:TH 122
文献标志码:A
文章编号:2095-5456(2015)06-0463-04
作者简介:刘滕(1991-),男,山东泰安人,沈阳理工大学硕士研究生; 郝博(1963-),男,辽宁沈阳人,沈阳理工大学教授,博士.
基金项目:国家自然科学基金资助项目(61170146).
收稿日期:2015-05-10