APP下载

基于CAA的CATIA典型模型库的创建

2015-03-21魏礼勇

关键词:模型库二次开发典型

刘 滕, 郝 博, 魏礼勇

(1.沈阳理工大学 机械工程学院, 辽宁 沈阳 110159;2.辽宁机电职业技术学院, 辽宁 丹东 118009)

基于CAA的CATIA典型模型库的创建

刘 滕1, 郝 博2, 魏礼勇1

(1.沈阳理工大学 机械工程学院, 辽宁 沈阳 110159;2.辽宁机电职业技术学院, 辽宁 丹东 118009)

为提高产品设计质量,研究了利用组件框架技术,通过创建典型模型库系统,实现对典型产品模型的存储、可视化预览以及特征信息的提取。在已有产品模型的基础上实现快速智能化操作。基于CAA的CATIA二次开发的基本原理和方法,以面向对象的程序语言来驱动模型库中产品的特征信息实现重用,可使产品设计效率有很大的提高。

CAA; 二次开发; 典型模型库; 特征信息

CATIA是由法国达索(Dassault Systemes)公司开发的一款具有界面友好、功能强大、易于操作等特点的三维CAD/CAM软件,多用于大型复杂的产品设计[1]。因其具有强大的辅助设计、实体建模和工程分析等功能,尤其在曲面造型、钣金设计等方面相比于同类型的CAD软件,有着明显的优势。随着行业需求度的加深,CATIA已逐步成为数字化设计的主流软件。为适应工程领域对产品开发周期缩短以及设计质量提高的要求,CATIA系统通过开放部分接口,提供了很好的二次开发平台[2],这一技术是在CATIA通用化基础上进行专业化开发的有效手段,对提高产品设计效率和节约研发成本有着重要作用。创建的典型库原理的目标是:依据用户需求,利用新产品设计的特征信息提取已存放在模型库中的典型产品,对调出的原有产品进行特征信息的提取,可视化地修改,重复使用库存,简化设计流程。

1 CATIA二次开发概述

1.1 CATIA二次开发的方法

CATIA二次开发接口主要通过进程内应用程序(In-Process Application)方式和进程外应用程序(Out-Process Application)方式与外部程序进行通信。在进程内应用程序方式下,CATIA与脚本在同一进程空间内运行,通过在CATIA环境下记录宏的方式生成VB脚本序列。利用自动化应用接口技术,可通过录制宏或Visual Basic平台等方式实现用户所需功能[3],该方法允许用户获取CATIA的数据模型。当宏开始运行,CATIA就处于非激活状态,因此不能在宏调用时存储或改变特征信息的值,只能对基础功能进行重复应用。而在进程外应用程序方式下,用户通过安装快速应用开发模块(RADE),以组件应用框架(CAA)技术为开发平台,利用面向对象的程序语言(VC++)与CATIA进行通信,根据用户行业需求,从而实现对CATIA的所开放接口的二次开发。

根据用户对两种方法的使用情况,其中,第一种方法的入门程度较低,适用于初学者,只需对CATIA中录制宏功能有了解即可,但因为这种方法开发水平有限,如对钣金件等产品的超级副本这一功能就不可利用,所以不能应用在复杂产品的设计中。第二种方法的开发程度较高,功能灵活,可以参照CAA中不同模块的功能实现对软件整体性能的深层次开发,但是,因其用到面向对象的程序语言技术,所以需要设计人员具备软件开发的知识和能力[4],适用于专业设计人员。

1.2 组件应用框架技术

图1 CAA组件应用框架结构图

目前,对CATIA系统进行二次开发常采用的方法是CAA技术,这种方法采用了标准接口技术,具备了更好的模块独立性和可扩展性,使CAA的程序设计更加容易且趋于标准化[5],其核心思想是面向对象的程序设计。同时,对象的嵌入和连接以及组件对象模型技术的应用,使得开发的过程能够轻松地实现标准化、系列化,较大程度地提高了程序的易用性和可扩展性。快速应用开发环境(RADE)是以VC++为载体,通过提供完整的编程工具组,将开发工具集成在VC++环境中,并且提供了一个CAA框架程序编译器,通过接口函数调用CAA的功能模块,可以实现用户程序和原系统的紧密集成[6]。图1所示为CAA组件应用框架结构图。

2 CATIA典型模型库的创建

图2 典型模型库开发流程图

典型模型库技术即为在CATIA系统中,当典型产品设计建模完成后,根据用户需求,将典型产品按照结构功能进行分类整合,将其存放在模型库中。传统CATIA系统的这一功能只有在产品选择操作时才会使用,而在典型的产品设计过程中,因其在外部几何特征信息方面的相似度较大,因此为缩短建模步骤,可以直接在模型库中依照检索程序调用产品模型,然后利用CATIA的相关命令在原有模型的基础上进行操作,从而实现特征信息的产品变型设计。利用CAA技术对CATIA的模型库功能模块进行二次开发,可以将这一功能直接应用在产品建模过程中,提高效率。具体开发流程如图2所示。

2.1 典型模型库功能界面

对于典型产品而言,采用参数化设计方法是建模的最佳手段[7],CATIA典型模型库这一功能在参数化建模中体现较为明显,参数化建模的核心即为对常用典型零件特征信息的提取以及重用。典型模型库主要有两大功能,一是可把上一级模块“参数化建模”中的典型产品按照产品特性进行分类存放,二是可以进行特征信息的提取,以便在“变型设计”模块中进行信息的重用。利用CAA技术,首先创建一个典型模型库的工作空间(FrameWork),然后在这一工作空间中插入相应的模块(Module)以及组件(Component),创建工具条,最后利用Part Design函数来创建人机交互界面并实现对用户界面功能的命令响应,具体的界面显示如图3所示。

图3 典型模型库启动界面

在典型模型库界面的创建过程中,所用到的函数有CreateCommands()和Create Tool Bars(),主要流程为,在Addin接口函数中创建工具条和命令按钮,可以通过点击参“数化建模技术”菜单命令,进入典型模型库功能模块,具体程序命令如下:

void CATIAAddin::CreateCommands()

NewAccess(CATCmdContainer,pCATIA Mbr,CATIAMbr);

CATCmdContainer* CATIAAddin::CreateToolbars()

//创建工具条的命令

NewAccess(CATCmdContainer,pMnu1,典型模型库);

SetAccessChild(pCATIAMbr,pMnu1);//将典型模型库界面显示在二次开发的框架下。

2.2 典型产品特征信息的提取

当典型产品建模完成后,需要将典型产品存放在相应的模型库中,此外,还需提取产品的特征信息,以Excel表格的形式保存,以便利用程序调用模型时可以提供参考。这一功能主要是利用CreateDesignTable()函数,创建模型库,以常见的钣金件为例,具体命令如下:

if(str=="翻边钣金肋")

{_pi->_MulList007()->ClearLine();

CATIDesignTable_var spDesign=NULL_var;

spDesign=spCkeFact->CreateDesignTable("Table.1",

"Directory",strFB,1,0);//存放产品模型

spSheet=spDesign->Sheet();

int Column=spSheet->Columns();//确定表格行数

int Row=spSheet->Rows();//确定表格列数

int a=0;//标题赋值

CATUnicodeString strC[99];

for(int i=1;i<=numColumn;i++)

{strC[a]=spSheet->Cell(1,i);a++;}

_pi->_MulList007()->SetColumnTitles(numColumn,strC);

int b=0;//读取表格中相应行列的内容

2.3 典型模型库的完善

当典型产品的模型按照相应的分类存放在模型库中后,需要通过以面向对象的语言形式来驱动函数命令进行模型库功能的完善,提取将产品的特征信息并按照级别进行划分,将特征信息如建模构件要素、尺寸要素等信息显示在人工交互界面中。可视化预览框共有两种表达形式:

一是以表格的形式显示。具体函数程序如下:

CATIPrtContainer*spPartConatiner=(CATIPrtContainer*)//设置程序编辑器

spInitOnDoc->GetRootContainer("CATIPrtContainer)

CATIDesignTable_var//利用此函数读取Excel表格

spCkeFact->CreateDesignTable("CoordTable.1","Coord and Directory",//创建表格并命名

"E:InputDataBJFBBJLFBLCSH.xls",1,0);//设置表格存放地址

二是显示典型模型三维视图的三维预览,当选择模型时,可以将产品的直观外部特征显示在预览框中,以供设计人员参考。具体程序如下:

if(strM=="FBL-2Po"){CATUnicodeString

pFile="E:InputDataBJFBBJLFBL-2Po.CATPart"//设置模型所存放地址

_pi->ModelPreview(pFile);//进行模型预览

int numColumn=spSheet->Columns();//将模型特征信息显示在对话框中

通过以上两种方式,可以较为直观第把典型产品的三维图以及特征信息显示在典型模型库的交互界面中。当典型模型库创建完成后,还需要将建模完成的产品的特征信息表达清楚,用户可以方便快捷地将模型与所要设计的产品进行特征匹配,体现出典型模型库的优点。

3 典型模型库实例

以常见拉杆为例,其典型模型库效果图如图4,共分为三大模块:模板分类、模板库信息及模板信息。模板分类主要是按照产品特征进行分类存放,方便查找。模板库信息主要是对产品进行多级分配,模板信息主要是体现产品的具体特征信息。当在左侧的模板分类中选择“拉杆”时,后台程序就会将存放在Excel表格中的信息提取并显示在“模板库信息”对话框中,而“模板信息”对话框中就会将模型的几何信息显示出来,并且在下方的可视化预览框中会显示三维图。同理,若选择不同的产品设计模块,相对应的程序则会根据用户需求来驱动不同的模型库,从而显示不同的特征信息。典型模型库的优点之一是为可以对原有的产品模型进行操作,在典型产品基础特征的基础上按照设计要求修改完善,可以通过“变型设计”命令,将这一功能与知识工程相结合,从而提高设计效率[8]。

图4 典型模型库工作界面

4 总 结

利用CAA技术对CATIA所开放的功能接口进行二次开发是行业发展的必然趋势,通过面向对象的程序语言将用户的设计思想与软件相融合创建典型模型库,实现典型产品模型的调用与特征信息的重用相结合的目的,使用户在产品设计时更具有行业的目的性与专业性。在CATIA系统中,这一功能的操作简单,实际应用范围较广,可使产品设计效率提高,提高了产品设计质量。

[1] 苏洪军,王永金.基于CAA的CATIA V5二次开发方法的研究[J].机械,2008,35(s1):41-43.

[2] 龙峰,樊留群.CATIAV5二次开发技术探讨[J].淮阴工学院学报,2005,14(5):21-23.

[3] 吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006:12-13.

[4] 周仙娥,鲁墨武,赵海星.基于CAA的CATIA二次开发的研究[J].科技信息,2008(36):73-75.

[5] 梁岱春,张为民,隋立江.浅析基于CAA的CATIA二次开发[J].航空制造技术,2012(10):65-68.

[6] 韩志仁,刘晓波,胡烨.基于CATIA/CAA的快速标注方法研究[J].沈阳航空航天大学学报,2012,29(4):1-4.

[7] 张学忱,陈锦昌,范汝祥,等.知识工程在机械产品参数化设计中的应用研究[J].工程图学学报,2009(6):191-195.

[8] 顾晓华,仲梁维.基于知识工程的参数化设计[J].机械设计与制造工程,2001,30(4):17-18.

[责任编辑:张存凤]

Creation of CATIA typical model library based on CAA

LIU Teng1, HAO Bo2, WEI Li-yong1

(1.School of Mechanical Engineering, Shenyang University of Technology, Shenyang 110159, China;2.Liaoning Mehatronics Polytechnic College, Dandong 118009, China)

To improve the quality of product design, the research uses component framework technology to achieve the storage, visual preview and retrieval of characteristic information of typical product model by creating the typical model base system, thus realizing the purpose of rapid smart operation based on the in-use product model. The technology research of CATIA secondary development based on CAA basic principle and method of object oriented programming language to drive the feature information of the products in the reuse can greatly improve the efficiency of product design.

CAA; secondary development; typical model library; feature information

1673-2944(2015)02-0037-04

2014-11-17

国家自然科学基金资助项目(61170146)

刘滕(1991—),男,山东省泰安市人,沈阳理工大学硕士研究生,主要研究方向为数字化设计与制造。

TP391

A

猜你喜欢

模型库二次开发典型
用最典型的事写最有特点的人
多项式求值题的典型解法
基于Creo参数化建模的设备模型库建立方法
典型胰岛素瘤1例报道
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于模型库系统的金融体系流动性风险预警机制研究
基于模型库的现代成本会计计量系统研究
基于Pro/E二次开发的推土铲参数化模块开发