基于CATIA的二次开发技术研究与应用
   来源:中国科技博览     2021年07月18日 21:42

王大涛++赵英娇

[摘 要]详细介绍了CATIA V5的体系结构、软件组件结构以及CATIA软件工程思想,并对CATIA的二次开发方式CATIA V5 Automation和CAA (Component Application Architecture)方式进行了详细分析和比较,以具体开发实例,展示了CATIA的二次开发过程。

[关键词]CATIA;体系结构二次开发;CAA

中图分类号:TP311 文献标识码:A 文章编号:1009-914X(2017)05-0391-01

1 引言

CATIA是法国达索公司开发的CAD/CAM软件。CATIA V5采用了全新的、基于组件的开放式体系结构,它开放的组件应用架構允许更多的第三方供应商针对用户的需要特别定制的应用解决方案。这些应用程序接口给用户提供一系列工具,可以通过CATIA V5 Automation程序及CATIA的CAA二次开发完成用户定制的需求,实现自动化,提升工作效率。

2 CATIA V5的体系架构介绍

CATIA V5的体系结构是一种面向行业应用的垂直框架体系结构,完全基于组件的体系结构。组件是系统的各种几何特征和管理、分析单元。框架是一些应用如:2D/3D建模、分析、制图、数控加工等。

CATIA采用了多种支持组件技术的软件技术如:JAVA、COM/DCOM、CORBA等,内部模块全部采用CNEXT实现,提供了多种开发接口,支持各种开发工具:CAA C++,JAVA ,VB,脚本语言,采用面向对象思想。

3 CATIA 二次开发方式

3.1 CATIA Automation方式

CATIA Automation技术其核心技术是允许一个应用程序操作另一个应用程序,利用对象的方法和属性来获取、设置及处理数据[1]。

根据软件与运行脚本的地址空间,CATIA Automation方式分为:进程内应用程序方式和进程外应用程序方式。其中, 进程内应用程序方式就是宏方式。通过菜单记录宏,方式简单,在CATIA 环境就中可完成[2]。而进程外应用程序方式,即CATIA 自动化方式。外部进程,如VB,可以通过接口驾驭CATIA,同时支持对象连接与嵌入[2]。CATIA Automation采用VB或者JavaScript实现,相对简单。

3.2 CATIA CAA开发方式

3.2.1、CATIA CAA介绍

用户可以通过开发CAA组件,对CATIA V5进行扩展;也可以把用户开发的CAA组件结合起来,实现用户应用定制。

软件组件结构SCI有三个基本的概念:框架、组件和对象总线。组件是软件的基本单元,提供了将一个应用程序分成若干个组件的机制。每个组件提供了一个专门的功能,它向框架的其余部分描述自己,以便别的组件能够访问它的功能。框架提供对所有应用程序有用的功能(如接口、存储)。它提供了统一的总设计。框架是对相似应用程序集合的一个部分(统一但不完整)解决方案。对象总线是基本的中间件。它允许能够相互理解接口定义语言IDL的对象相互发生作用。这种作用对对象来说是完全透明的。

3.2.2、CAA RADE介绍

通过CAA RADE工具可以进行CAA的开发。RADE是一个可视化的集成开发环境,以VC++/ VStudio为载体。CAA V5 RADE包括一系列工具,如TCK等,以插件的形式与MSDev VC++集成到一起,在MSDev 环境下开发CAA组件。

4 CATIA二次开发接口

4.1 CATIA Automation开发接口

CATIA Automation通过API函数的调用对CATIA的属性进行设置或者通过调用CATIA的方法,获取相应的值,对该值进行处理,以便实现所需的要求。

4.2 CATIA CAA开发接口

而CATIA的CAA在开发时,侧重于对软件组件结构的理解。理解接口和实现及编译和运行环境。具体的Frame框架和运行环境如下[3]:

在CATIA的二次开发中,通过COM以及编译和运行环境的理解,可以了解CAA开发的具体步骤和产生的对应的文件。

5 CATIA 二次开发的步骤及实例

通常情况下CATIA Automation二次开发有以下步骤(以CATIA公制/英制尺寸转换为例):

1)初始化COM库,引入类型库文件VB。打开或新建一个全局对象Appliaction ,设置其可见属性为True,启动CATIA。

2)向Application中加入文档对象,以实现数据管理,如二维工程图设计的DrawingDocument。

3)获取当前工程图中的所有sheets,并对每一个sheet进行视图扫描,获取该视图下所有的DrawingLeaders。

4)通过调用CATIA提供的API,获取尺寸和公差(英制),之后通过公制英制单位换算,计算出对应的公制尺寸和公差,并按照精度要求进行修约,按照要求保留小数点后几位的值,并在工程图纸中以特定格式显示出来。

5)更新并保存文档对象,使正确显示更新后的工程图。

6)关闭Appliaction,释放COM 库资源。

同样,通过CATIA CAA编程,可以实现尺寸之间的转化,如图2所示,通过CAA编程实现尺寸由公制转化为英制,并在尺寸线上显示。

6 结束语

CATIA具有强大的零件/曲线曲面造型功能,使用Automation、CAA技术可以对CATIA进行二次开发。本文就CATIA V5的二次开发的原理和一般方法作了探讨,通过CATIA提供的接口对象,理解架构以及软件组件开发方法,借助于UML,XML等知识,就能开定制开发,提升工作效率。

参考文献

[1] 潘爱民.COM原理与应用[M].北京:清华大学出版社,2000.

[2] 李自胜,朱莹,向中凡.基于CATIA软件的二次开发技术[J].四川工业学院学报,2003,22(1):16~18.

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

文章 组件 方式