[关键词] 面向对象程序设计、组件对象模型(COM)CAA RADE

图1 Dassault Systemes产品结构逻辑关系
Component Application Architecture (CAA) 组件应用架构,是Dassault Systemes产品扩展和客户进行二次开发的强有力的工具。以

Dassault Systemes提供的CAA产品包括如下内容:
- CAA RADE 快速开发环境,基于Microsoft Visual Studio
- CAA CATIA V5 API, CATIA V5应用开发工具
- CAA ENOVIA LCA V5 API,ENOVIA LCA应用开发工具
- CAA DELMIA V5 API,DELMIA V5应用开发工具
- CAA ENOVIA PORTAL V5 API ,ENOVIA PORTAL V5应用开发工具
这六大产品包括:
CATIA V5:产品的数字化设计和数字样机技术。
ENOVIA:产品数据管理和协同工作环境。
DELMIA:数字化工厂,包括工艺设计、资源控制、工厂布置和生产模拟等。
另外还有SOLIDWORKS、SMARTTEAM也可进行数字化设计和管理,由用户情况决定。特别要提的是SPATIAL,专门进行CAA架构的开发和研究。
PPR HUB是Dassault Systemes 3D产品生命周期管理(Product Lifecycle Management ,PLM)解决方案的核心,确保CATIA、ENOVIA、DELMIA三者之间的整合。
Dassault Systemes的这套解决方案得利于开放式,可扩展的模块化开发架构 CAA,使得全球诸多开发商可以参与Dassault Systemes的研发。
对客户而言,CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于用户的使用和集成。
CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程序来完成的。
快速应用研发环境Rapid Application Development Environment(RADE)是一个可视化的集成开发环境,它提供完整的编程工具组。实际上RADE以Microsoft Visual Studio VC++为载体,在VC++环境中增加了CAA的开发工具。
API提供了操作各种对象的方法、工具和接口。
在软件开发领域,使用面向对象的程序设计(OOP:Object-Oriented-Programming)已经成为软件开发设计的主流,它为软件的发展带来了很多好处:可复用性、抽象性、封装性等。软件专家把软件开发看作是对象的组合。
面向对象程序设计是一种程序设计方法,而建立在面向对象程序设计基础之上的组件对象模型(COM)和对象的连接和嵌入(OLE)技术,使程序设计更加容易且趋于标准化,使程序的使用更加简洁明了。Microsoft是COM和OLE 的先祖,基于此种技术的应用软件,如Microsoft Word,Execl,Access 得到广泛地使用和承认,而且许多应用软件也是基于这种技术,CAA就是基于这种技术的Windows应用软件。

图2
CAA产品的架构可用图2表示。它全面反映了Dassault Systemes几大产品之间的关系。在CAA架构的支撑之下,Dassault Systemes系统可像搭积木一样建立起来,这种结构非常适宜于系统的壮大和发展。表1列出了在CATIA V5应用方面为Dassault Systemes开发应用程序的部分公司。
在商业运作方面,与Dassault Systemes系统的其产品一样,CAA也被划分为软件包(Configuration)和模块(Product),用户在购置CAA时要根据需要选择合适的配置和产品。
目前CAA有五个配置软件包:
- CAA-Multi-workspace Application Building(简称ABC)
CAA应用的基本配置.
- CAA-C++ Extended Development(简称CDC)
提供与C++共存的的开发环境,即对C++开发环境的客户化,用户除可使用C++开发环境的所有工具外,还可使用CAA提供的独特的开发工具.可用于CATIA和ENOVIA的二次开发.
- CAA-C++ Base Development(简称CDV)
与CDC类似,但规模小,针对中小市场,可有限地运用于CATIA V5和ENOVIA LCA的客户化工作.
- CAA-Java Base Development(简称JDV)
运行于JAVA开发环境,适用于ENOVIA LCA客户端的定制.
- CAA-Legacy Data Integration Development Configuration(简称LDC)
提供数据接口工具,可使用户继承原有的数据.

图3

图4
CAA提供的产品(模块)包括:
- CAA-C++ API Documentation Generator(CDG).
- CAA-C++ Source Checker(CSC)
- CAA-CAA Data Model Customizer(DMC)
- CAA-Java UnitTest Manager(JUT)
- CAA-Multi-Worksoace Application Builder(MAB)
- CAA-Teamwork Release Manager(TRM)
- CAA-C++ Interactive Dashboard(CID)
- CAA-C++ Unit Test Manager(CUT)
- CAA-Java Interactive Dashboard(JID)
- CAA-Web Application Generator for Legacy Database(LWG)
- CAA-Source Code Manager(SCM)
图4 表示了CAA产品配置及其所包含的产品的矩阵图.这里对各个模块的功能不再作详尽的解释,如果读者需要可参考相关资料或访问关于CAA的 站.
CAA的安装包括两大部分,一是Dassault Systemes相关应用软件的安装,如CATIA V5、ENOVIA;二是CAA本身的安装。
在安装CAA以前,要确认Dassault Systemes应用和CAA版本的一致性,甚至要考虑二者补丁的一致性,否则将导致CAA无法使用。下面以Dassault Systemes的CATIA V5R9 GA版应用程序和CAA的CDC安装为例,简要介绍CAA的安装过程。
假设用户购买了CATIA V5R9和CAA CDC的使用权,并拥有相应的产品License。
按照下面的步骤安装CAA一般就可使用CAA了:
- 安装CATIA V5R9 GA 版,如果以前已经安装过,可忽略这一步;
- 安装CATIA V5R9 API(此产品属CAA范畴),API自动安装在CATIA所在的目录下,由于CAA RADE不识别带有空格的目录名,所以在先前一步安装CATIA时,一定要自定义安装位置,且目录名不能包含空格。
- Microsoft Visual Studio V6.0的安装;
- CAA RADE的安装,在CAA RADE 安装前,必须安装Microsoft Visual Studio V6.0,同时注意不要把CAA RADE安装在CATIA的安装目录下,安装路径不能有空格。
通过以上四步,完成了CAA的安装,但要使用CAA,必须进行RADE产品的认证和环境的设置。
- RADE产品的认证,通过命令启动RADE Tools Licensing:
C:>$RADE_INSTALLATION_PATH$/intel_a/code/bin/CATVBTLicenser.exe
这里$RADE_INSTALLATION_PATH$为RADE的安装路径。

选择有效的License,确定即可。
- 安装联机帮助,以便在RADE开发环境下提供CAA帮助。
C:>$RADE_INSTALLATION_PATH$/intel_a/code/bin/ CATVBTSetup.exe
这里$RADE_INSTALLATION_PATH$为RADE的安装路径。

选择Documentation,指定帮助文档的路径(在CATIA安装目录下)。

下面简要介绍一下CAA RADE的使用流程。
- 启动Microsoft Visual C++,选择Tools->Customize…,在弹出的菜单上选择
I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Add-ins and Macro Files,选中有关的插接件,关闭窗口,退出Microsoft Visual C++。这一步骤在首次使用CAA RADE必须进行。

- 重新启动Microsoft Visual C++,出现CAA RADE的帮助窗口。在菜单栏上增加了两个新的菜单项,CAAV5 Workspace和Source Code Manager,这是CAA RADE添加的菜单项。

另外,展开其他菜单项,如Project,可以到看以图标打头的菜单项,也属于CAA RADE的菜单项。到此为止,我们就可以使用CAA RADE来开发CATIA V5R9的用户客户化程序了。

为了帮助用户熟悉CAA RADE的开发环境和工具,Dassault Systemes各个应用系统各自提供了许多应用范例,如CATIA V5R9提供了与开发CATIA 有关的范例,用户甚至可对范例稍加修改而变成自己的产品。在安装CATIA API时,应用范例被安装在CATIA目录下的CAADoc文件夹中。所有范例的文件夹以 .edu结尾。为了防止原始范例文档的破坏,可以把CAADoc文件夹的用例拷贝到其他地方(比如,把CAASystem.edu拷贝到E:V5R9UsercaseWorkspace),并以此作为目标进行编程练习。
- 启动Microsoft Visual C++,选择File菜单下的Open CAA V5 Workspace命令。

a、 在Open with选项列表中选择Mkmk,Mkmk是CAA RADE提供的连编命令。
b、在Workspace Directory文本框中指定范例所在的文件夹,如本例的E:V5R9UsercaseWorkspace。CAA RADE中的Workspace是Project存在的地方。
c、在Toollevel选项列表中选择V5R9_T09。
点击OK,RADE进行关于本用例的初始化工作,显示相关窗口和信息。

因为在新建的Workspace中不存在项目Project,CAA RADE将为用户生成一个,并给以提示。

- 选择模块
Project生成之后,CAA RADE要求选择项目所包含的模块,这里我们选择CAAsysCallBack.m.

点击OK,RADE提示用户需连接的资源库,RADE称其为prerequisite workspace。这是可想而知的,因为范例及其用户编写的程序,要在Dassault Systemes应用系统环境下运行,必须把Dassault Systemes资源和用户的客户化程序整合在一起。

点击OK,RADE显示范例程序的结构,包括类和文件。


定义Prerequisite Workspace,在CAAV5 Workspace菜单中选择菜单项Locate Prerequisite Workspace…。

- 选择Mode下Access prerequisites from their origin location。
- 在Origin for prerequisite Fr
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!