CAA简介_计算机软件及应用_IT计算机_专业资料.docx
《CAA简介_计算机软件及应用_IT计算机_专业资料.docx》由会员分享,可在线阅读,更多相关《CAA简介_计算机软件及应用_IT计算机_专业资料.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章认识CAA1.1 基础知识在软件开发领域,使用面向对象的程序设计(OOP:Object- Oriented - Programming)已 经成为软件开发设计的主流,它为软件的发展带来了很多好处:可复用性、抽象性、封装性 等。软件专家把软件开发看作是对象的组合。面向对象程序设计是一种程序设计方法,而建立在面向对象程序设计基础之上的组件对 象模型(COM)和対象的连接和嵌入(OLE)技术,使程序设计更加容易且趋于标准化,使程 序的使用更加简洁明了。Microsoft是COM和OLE的先祖,基于此种技术的应用软件,如 Microsoft Word,Execl,Access得到广泛地使用和承认
2、,而且许多应用软件也是基于这种技术, CAA就是基于这种技术的Windows应用软件。Component Application Architecture (CAA)组件应用架构,是 Dassault Systemes 正对于 其一系列产品,eg: CATIA, ENOVIA, DELIMA, etc,进行扩展和客户进行二次开发的一 个强有力的工具。对客户而言,CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常 紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于 用户的使用和第成。CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程
3、序来完成的。Dassault Systemes提供的CAA产品包括如下内容: CAA RADE 快速开发环境,基于 Microsoft Visual Studio CAA CAT1AV5API, CAT1A V5 应用开发工具 CAA ENOVIA LCA V5 API, ENOVIA LCA 应用开发工具 CAA DELMIAV5 API, DELMIA V5 应用开发工具 CAA ENOVIA PORTAL V5 API , ENOVIA PORTAL V5 应用开发工具API提供了操作各种对象的方法、工具和接口。在商业运作方面,与Dassault Systemes系统的其他产品样,CAA
4、也被划分为软件包 (Configuration)和模块(Product),用户在购置CAA时要根据需要选择合适的配置和产品。目前CAA有五个配置软件包: CAAMulti-workspace Application Building(简称 ABC) : CAA 应用的基本配 CAAC+ Extended Development(简称CDC ):提供与C+共存的的开发环境, 即对C+开发环境的客户化,用户除可使用C+开发环境的所有工具外,还可使 用CAA提供的独特的开发工具.可用于CATIA和ENOVIA的二次开发. CAA-C+ Base Development(简称CDV):与CDC类似,但
5、规模小,针对中小市 场,可有限地运用于CATIAV5和ENOVIA LCA的客户化工作. CAAJava Base Development倘称JDV):运行于JAVA开发环境,适用于 ENOVIA LCA客户端的定制. C A ALegacy Data Integration Development Configuration(简称 LDC):提供数 据接工具,可使用户继承原有的数据.1.2 CATIA的二次开发方式1.2.1 CATIA的二次开发方式CATIA V5是法国达索公司与IBM公司开发的新一代CAD/CAM产品,采用了全新的、 基于组件的开放式体系结构(Open Architect
6、ure Products),应用了许多现代软件工程思想,体 系庞大但结构清晰、合理,维护、开发、扩展方便,有着相当优良的扩展性能。它开放的组 件应用架构允许更多的第三方供应商针对用户的需要特别定制的应用解决方案。本段着重分 析了 CATIA V5的基础体系结构(Architecture Infrastructure)及其软件工程思想。CATIA V5在开发之初就遵循面向对象的设计思想(),构建了完全基于组件的体系 结构(PPR: Products, Process, Resource),有效地解决了维护、管理、扩展的困难,并大量 使用了最新的计算机技术和标准以及软件工程技术,其中包括基于组件架
7、构思想的JAVA BEAN、COM/OLE, CORBA 技术和 Web 技术、C+语言、Visual Basic Journaling、 STEP-SDAk XML、OpenGL等,这使CATIA V5具有与众不同的鲜明的特点:数据结构单 一,各个模块全相关,某些模块之间还是双向相关;端到端的集成系统,拥有强大的专业应 用扩展能力。CATIA二次开发接口是通过两种方式与外部程序通信:进程内应用程序(In-process Application)方式和进程外应用程序(Out-ProcessApplication)方式。进程内应用程序方式 下,CAT1A软件与脚本运行在同一进程地址空间,比如宏方
8、式(Macro)。在CATIA环境下 通过菜单记录宏(Record Macro),宏记录后,生成VB脚本(Visual Basic Script)序列,当 宏开始运行,CATIA就处于非激活状态,因此不能宏调用之间存储变量的值,这种方式比 较简单,在CATIA环境就中可完成。进程外应用程序方式下,CATIA与外部应用程序在不 同进程地址空间运行。在CATIA运行的情况下,外部进程可以通过接口驾驭CATIA,创建、 修改CAT1A环境和几何形体的数据、尺寸等,同时支持对象连接与嵌入(OLE,Object Linking and Enbedding).具体来说,CATIA的二次开发主要有两种方法:
9、使用宏对CATIA进行二次开发和使用 组件应用架构(CAA-RADE)对CATIA进行二次开发。1)使用宏(Macro)对CATIA进行二次开发可以用于自动化(Automation)组件,使用VBScript作为编辑工具,这是种交互方式的 定制。可以记录用户的操作过程,自动生成代码。CATIA提供了 Automation API用于VBScript 对CATIA的二次开发,Automation AP!具备了与任何OLE所兼容的平台进行通讯能力。自 动化应用接口可以调用“InputBox”和“MsgBox”函数获取用户输入信息和进行输出,而对于 NT用户则可以应用Visual Basic来定义更
10、为复杂的输入输出面板。运行的时候可以给宏关 联个图标,并置入CATIA显示框架。这种方式的开发流程如图1. !中所示。由校分析松取“教化条忖VB定制界因图1. 1使用VB进行CATIA二次开发的基本流程2)使用组件应用架构(CAA-RADE)对CATIA进行二次开发Component Application Architecture (CAA)组件应用架构,是 Dassault Systemes 产品扩 展和客户进行二次开发的强有力工具。快速应用研发环境 Rapid Application Development Environment (RADE)是个可视化的集成开发环境,它提供完整的编程工
11、具组。RADE以Microsoft Visual C+6.0为载体,开发工具完全第成在了 VC+环境中,并且提供了一个CAA框架程序编译器,但同时也限制 了 VC+的部分功能。可以说CATIA CAA-RADE是目前所有高端CAD/CAM开发环境中最 为复杂、同时也是功能最为强大的个。CAA采用面向对象的程序语言,开发过程可看作是其组件对象的组合和扩展。CAA采 用组件对象模型(COM)和对象的连接和嵌嵌入(OLE)技术,CAA的架构如图1.2所示。CAA V5 C+ Java Home PageMechanical Modelet 8 SketcherAiriq .y:。UJu.fil,cU
12、,7纷。arrdUU993D PLMPPR Hub Open Gateway DocumentPPRFeatures3D PLM , SecuityUser biteifaceCGMTessellationTopologyMathematicsC+,Java API .Automation APIRADE 3D Visualization图1.2CAA架构1.2.2 组件1)软件组件结构(SCI: Software Component Infrastructure)的基本概念软件组件结构(SCI)是软件工程继过程模型和面向对象模型的下一代逻辑模型,提供 了最髙层次的代码重用。软件组件结构(SC
13、I: Software Component Infrastructure)有三个基 本的概念:框架(FRAMEWORK)组件(Component)和对象总线(Products Bus)。框架(FRAMEWORK):框架提供对所有应用程序有用的功能(如接口、存储)。它提 供了统一的总设计。框架是对相似应用程序集合的一个部分(统一但不完整)解决方案。开 发者的任务是用这不完整的解决方案加上必要的代码建立完整的应用。在领域(DOMAN) 内的个应用包括不变部分和可变部分。不变部分由框架把握,一般可占到80%,可变部 分由开发者把握,一般可占到20%。开发者通过向框架添加变化部分的代码把握其动作, 而
14、形成新的特定应用。框架根据是否针对特殊领域还是若干领域,可分为水平框架、垂直框 架、复合文挡框架。组件(Component):是软件的基本量子(单元)。COM是种协议,它建立了一个软 件模块同另个软件模块之间的连接,然后再将其描述出来。当这种连接建立起来之后,两 个模块就可以通过称为“接口”的机制来进行通讯。这些接口既不需要静态的或动态的连接 入口点,也不需要编码很复杂的地址。COM对于接口的定义和接口的实现作了严格的区分。 通过下面的IUnknown接口可以知道,在接口中只有接口方法的描述,而没有实现。COM接口可以分为以下两类:标准接口和自定义接口。COM标准接口的名字以字母1 打头。CO
15、M 定义了大量的标准接口。如 IClassFactoryIDispatch JUnknown 等。其中 IUnknown 接口最重要,因为所有其它接口都是从IUnknown接口直接或间接继承而来的。lUnkown接 口定义了三个方法。 HRESULT QueryInterface(in REFIID riid,out void *ppv); ULONG AddRef(); ULONG Release();COM定义的每个接口都必须从lUnkown接口继承过来,换句话说,任何在COM对 象上实现的接口必须以QueryinterfaceAddRef和Release为前三个方法。其原因在于 lUnk
16、own接口提供了两个非常重要的特性:生存期控制和接口查询。客户程序只能通过接口 与COM对象进行通信,虽然客户程序可以不管对象内部实现的细节,但它要控制对象存在 与否。如果客户还要继续对对象进行操作,则它必须保证对象一直存在于内存中;如果客户 对对象的操作已经完成,以后也不再需要该对象了,则应该及时地把对象释放掉,以提高系 统资源的利用率。lUnkown接口中的AddRef()和Release。负责对象引用计数,实现组件对象生命周期的 管理。每当CQM组件被引用一次就应调用一次AddRef()方法。而当客户端在释放COM组 件的某个接口时就需要调用Release。方法。另外,如果个COM对象实
17、现了多个接口,在初始时刻客户程序不太可能得到该对象的所 有接口指针,它只会拥有一个接口指针。如果客户程序需要其它的指针,则利用lUnkown 接口中的Querylnterfhce。方法是用于查询组件对象所实现的其它接口组件既应当足够小,以便于维护;又应足够大,可具备相当的功能,可以被打包和插用。 由于传统的客户/服务器(C/S)应用不能应付软件应用日益增加的复杂性。它们不能加入到 即插即用的环境之中。组件的特征提供了将一个应用程序分成若干个组件的机制。每个组件 提供了一个相当专门的功能,它向框架的其余部分描述自己,以便别的组件能够访问它的功 能。描述是通过说明性语言如IDL实现的,它本质上是把
18、组件的接口与实现分离开来。由 于组件是可单独维护、升级的,因此,组件不直接与别的组件通信是至关重要的。它必须通 过使用框架或对象总线来实现组件之间的交互。对象总线:对象总线是基本的中间件。它允许成千上万能够相互理解接口定义语言 (IDL)的对象相互发生作用。这种作用対对象来说是完全透明的。对象总线把组件和框架 的能力扩展到开放网络和其它伙伴应用程序。它使成千上万独立的软件单元在由不同操作系 统、语言、硬件平台和编译工具组成的环境下互相无缝地交互运作。对象总线不仅提供对象 之间的连接,它还提供对在总线上所有对象都有用的核心服务集(对象服务)。如:生命周 期服务程序、安全性、持久性、命名等。通过组
19、件构造/修改软件,用框架把握软件结构,用对象总线连接事务,支持即插即用 (Plug & Play)功能的扩展。2) CATIAV5 体系结构(Architecture Infrastructure)CATIA V5的体系结构(Architecture Infrastructure)是种面向行业应用的垂宜框架体 系结构,组件是CAD/CAM系统的各种几何特征和管理、分析单元。CATIAV5采用了多种 支持组件技术的软件技术如:JAVA、COM/DCOM、CORBA等,内部模块全部采用CNEXT (CATIA内部使用的种C+语言)实现,结构单。提供了多种开发接口,支持C+/JAVA、 Automa
20、tion API ,支持各种开发工具:CAA C+, JAVA , VB,脚本语言。采用单继承, 对象之间关系明确,体系结构严谨,维护容易。框架是些应用如:2D/3D建模、分析、混 合建模、制图、数控加工等,CATIAV5也称为领域(DOMAIN)或应用(APPLICATION)。 并通过 3DPLMPPR (PRODUCTS,PROCESS, RESOURCE) HUB 产品总线连接起来。CATIA V5的些框架: Framework Administration Framework AdvancedMathematics Framework AdvanccdTopologicalOpe F
21、ramework AnalysisMeshingModel Framework ApplicationFrame Framework Automationinterfaces Framework BasicTopologicalOpe Framework CATAnalysisBase Framework CATAnalysisGPSInterfaces Framework CATAnalysisInterfaces Framework CATAnalysisResources Framework CATAnalysisVisuInterfaces Framework CATAssemblyl
22、nterfaces Framework CATFunctSystemltf Framework CATHVDiagraminterfaces Framework CATHullConceptuallnterfaces Framework CATIAApplicationFrame Framework C AT I AV 41 n terfaces Framework CATMatlnterfaces框架通过公用接口来实现对象之间的交互。根据CAD软件的特点和实际需要,CATIA的设计模式比较简单主要有工厂模式、层 模式等。在面向对象的编程中,工厂模式是种经常被使用到的模式。根据工厂模式实现的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAA 简介 计算机软件 应用 _IT 计算机 专业 资料
限制150内