第一范文网 - 专业文章范例文档资料分享平台

CAA简介

来源:用户分享 时间:2025/5/23 18:15:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第1章 认识CAA

1.1 基础知识

在软件开发领域,使用面向对象的程序设计(OOP:Object- Oriented - Programming)已经成为软件开发设计的主流,它为软件的发展带来了很多好处:可复用性、抽象性、封装性等。软件专家把软件开发看作是对象的组合。

面向对象程序设计是一种程序设计方法,而建立在面向对象程序设计基础之上的组件对象模型(COM)和对象的连接和嵌入(OLE)技术,使程序设计更加容易且趋于标准化,使程序的使用更加简洁明了。Microsoft是COM和OLE 的先祖,基于此种技术的应用软件,如Microsoft Word,Execl,Access 得到广泛地使用和承认,而且许多应用软件也是基于这种技术,CAA就是基于这种技术的Windows应用软件。

Component Application Architecture (CAA) 组件应用架构,是Dassault Systemes正对于其一系列产品,eg:CATIA,ENOVIA,DELIMA,etc,进行扩展和客户进行二次开发的一个强有力的工具。

对客户而言,CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于用户的使用和集成。

CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程序来完成的。 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应用开发工具 API提供了操作各种对象的方法、工具和接口。

在商业运作方面,与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):提供数

据接口工具,可使用户继承原有的数据.

1.2 CATIA的二次开发方式

1.2.1 CATIA的二次开发方式

CATIA V5 是法国达索公司与IBM公司开发的新一代CAD/CAM产品,采用了全新的、基于组件的开放式体系结构(Open Architecture Products),应用了许多现代软件工程思想,体系庞大但结构清晰、合理,维护、开发、扩展方便,有着相当优良的扩展性能。它开放的组件应用架构允许更多的第三方供应商针对用户的需要特别定制的应用解决方案。本段着重分析了CATIA V5的基础体系结构(Architecture Infrastructure)及其软件工程思想。

CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products, Process, Resource),有效地解决了维护、管理、扩展的困难,并大量使用了最新的计算机技术和标准以及软件工程技术,其中包括基于组件架构思想的JAVA BEAN 、COM/OLE、CORBA 技术和Web技术、C++语言、Visual Basic Journaling 、STEP-SDAI、XML、OpenGL等,这使CATIA V5具有与众不同的鲜明的特点:数据结构单一,各个模块全相关,某些模块之间还是双向相关;端到端的集成系统,拥有强大的专业应用扩展能力。

CATIA二次开发接口是通过两种方式与外部程序通信:进程内应用程序(In-process Application)方式和进程外应用程序(Out-Process Application)方式。进程内应用程序方式下,CATIA软件与脚本运行在同一进程地址空间,比如宏方式(Macro)。在CATIA环境下通过菜单记录宏(Record Macro),宏记录后,生成VB脚本(Visual Basic Script)序列,当宏开始运行,CATIA就处于非激活状态,因此不能宏调用之间存储变量的值,这种方式比

较简单,在CATIA环境就中可完成。进程外应用程序方式下,CATIA与外部应用程序在不同进程地址空间运行。在CATIA运行的情况下,外部进程可以通过接口驾驭CATIA,创建、修改CATIA环境和几何形体的数据、尺寸等,同时支持对象连接与嵌入(OLE,Object Linking and Enbedding).

具体来说,CATIA的二次开发主要有两种方法:使用宏对CATIA进行二次开发和使用组件应用架构(CAA–RADE)对CATIA进行二次开发。

1) 使用宏(Macro)对CATIA进行二次开发

可以用于自动化(Automation)组件,使用VBScript作为编辑工具,这是一种交互方式的定制。可以记录用户的操作过程,自动生成代码。CATIA提供了Automation API用于VBScript对CATIA的二次开发,Automation API具备了与任何OLE所兼容的平台进行通讯能力。自动化应用接口可以调用“InputBox”和“MsgBox”函数获取用户输入信息和进行输出,而对于NT用户则可以应用Visual Basic来定义更为复杂的输入输出面板。运行的时候可以给宏关联一个图标,并置入CATIA显示框架。这种方式的开发流程如图1. 1中所示。

图1. 1使用VB进行CATIA二次开发的基本流程

2) 使用组件应用架构(CAA–RADE)对CATIA进行二次开发

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

快速应用研发环境Rapid Application Development Environment(RADE)是一个可视化的集成开发环境,它提供完整的编程工具组。RADE以Microsoft Visual C++6.0为载体,开

发工具完全集成在了VC++环境中,并且提供了一个 CAA框架程序编译器,但同时也限制了VC++的部分功能。可以说CATIA CAA–RADE是目前所有高端CAD/CAM开发环境中最为复杂、同时也是功能最为强大的一个。

CAA采用面向对象的程序语言,开发过程可看作是其组件对象的组合和扩展。CAA采用组件对象模型(COM)和对象的连接和嵌嵌入(OLE)技术,CAA的架构如图1. 2所示。

图1. 2 CAA架构

1.2.2 组件

1) 软件组件结构(SCI: Software Component Infrastructure)的基本概念

软件组件结构(SCI)是软件工程继过程模型和面向对象模型的下一代逻辑模型,提供了最高层次的代码重用。软件组件结构(SCI:Software Component Infrastructure)有三个基本的概念:框架(FRAMEWORK)、组件(Component)和对象总线(Products Bus)。

框架(FRAMEWORK):框架提供对所有应用程序有用的功能(如接口、存储)。它提供了统一的总设计。框架是对相似应用程序集合的一个部分(统一但不完整)解决方案。开发者的任务是用这不完整的解决方案加上必要的代码建立完整的应用。在领域(DOMAIN)内的一个应用包括不变部分和可变部分。不变部分由框架把握,一般可占到80%,可变部

搜索更多关于: CAA简介 的文档
CAA简介.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c16ejj69ecu6tck09hlj8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top