搜索
您的当前位置:首页正文

CATIA二次开发的几种方式

来源:小奈知识网
CATIA二次开发

1.1 CATIA二次开发的几种方式

CATIA接口通过两种方式与外部程序通信:进程内应用程序(In_Process Application)方式和进程外应用程序(Out_Process Application)方式。对CATIA进行二次开发一共有四种方式:Automation API ,KnowledgeWare,Interactive User Defined Feature和 CAA V5 C++ And Java API。

1.Automation API 使用自动化应用接口(Automation API)的宏。用于自动化(Automation)组件,日志(Journaling),Visual Basic和JavaScript/Html的开发,这是一种交互方式的定制。该定制方式允许用户获取CATIA的数据模型。通过提供交互的方式,让用户记录操作过程,通过VB Script or Java Script 来录制宏,从而自动生成代码。Automation API具备了与任何OLE所兼容的平台进行通讯的能力。

2.KnowledgeWare 智能构件(knowledgeware)。是一种反应式的,基于规则的,面向目标的客户化方式。它是一种高效的规范重用,像应用公式一样简单的,实现团体的知识库准则集,并且和V5紧密集成以提升处理能力。它能通过相关的稳定不变的规范定义来实现交互的知识捕捉。智能构件是一套预定义的易用服务,它驱动的管理和重用是从函数、规范到组件和系统来一步一步实现的。它允许定制和外部代码的集成。它用于三个方面:知识顾问、知识专家和产品工程优化。知识顾问是用于参与设计定义的嵌入知识,包含规则集、检查、审查和预定义行为(Behavior)。知识专家则是基于规则的过程,可以实现规则集、检查和报告。产品工程优化是面向设计目标的,它包含优化目标、准则和求解方案。

3. Interactive User Defined Feature 交互式的用户定义特征,是一种编制式的定制开发。通过聚合现存的特征来交互的定义新的数据类型。收集现存规范,指定输入,从而创建一个“IUDF”(用户定义特征)。“IUDF”可以通过引用一个目录文件(Catalog)保存在.CATPart文档中。它可以交互的被客户使用。

4. CAA V5 C++ And Java API CAA V5的C++和Java应用接口。这是基于组件的定制开发。也就是我们所说的CAA(component application architecture)。其具有强大的交互、集成和用户特征定义的功能,并有一套自己的体系架构。

对于需要捕捉用户的一系列交互操作的应用,可以采用CATIA V5的自动化应用接口和CAA V5的C++,Java应用接口。自动化应用接口可以调用“InputBox”和“MsgBox”函数

获取用户输入信息和进行输出,而对于NT用户还可以应用Visual Basic来定义更为复杂成熟的输入输出面板,还可以给宏关联一个图标,并置入CATIA显示框架。V5R6以后的自动化的应用接口同样可以获取界面的对象选择。

CAA V5则可以做精致的交互命令,这些命令可以分组归入工作台(workbench)并展示精美的面板,并能够实现Undo/Redo。智能件和CAA V5可以用来实现企业标准的约束检查。用户定义特征和CAA V5都可以事后定义新的特征,而产生和其他DS特征平等的特征。从而丰富CATIA V5的数据模型。要扩展已经存在的对象的行为则要CAA V5才能实现。和外部系统通讯可以通过格式输入输出实现。而CATIA也是自动化的服务器,在NT下,可以通过自动化接口进行与外部得通讯。CAA V5提供一个称为Backbone的通讯总线结构,该总线通过封装底层的通讯技术实现高层异步通讯。

1.2 CAA简介

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

为商标的Dassault Systemes已

形成六大支柱产品,通过PPR HUB进行集成,对产品的生命周期进行全方位管理。

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提供了操作各种对象的方法、工具和接口。

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应用开发工具

在商业运作方面,与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) 提供数据接口工具,可使用户继承原有的数据. 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)

CAA采用面向对象的程序语言,面向对象的程序设计(OOP:Object-Oriented-Programming)作为软件开发设计的主流,有很多好处:可复用性、抽象性、封装性等。CAA的开发可以看作是其组件对象的组合和扩展。

CAA采用组件对象模型(COM)和对象的连接和嵌入(OLE)技术,COM作为一种软件架构具备了更好的模块独立性、可扩展性,使CAA的程序设计更加容易且趋于标准化,使程序的代码更加简洁明了。

CAA架构可用图5表示。它全面反映了Dassault Systemes几大产品的内部模块的关系。在CAA架构的支撑之下,Dassault Systemes系统可以像搭积木一样建立起来,这种结构非

常适宜于系统的壮大和发展。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top