CATIA应用开发教程.docVIP

  • 1
  • 0
  • 约2.29万字
  • 约 52页
  • 2026-02-28 发布于湖北
  • 举报

PAGE

PAGE44

概述

CATIA二次开发方式

CATIA的二次开发方式主要有两种,一种是采用CAAC++技术,另一种是采用CAAAUTOMATION技术,两种技术都有其优缺点。

CAA(ComponentApplicationArchitecture)C++是CATIA的一整套C++函数库,该函数库在CATIA运行时加载。用户通过安装RADE(RapidApplicationDevelopmentEnvironment)模块,用户可以在VC++编程环境下编制程序,与CATIA进行通信。

Automation技术是建立在COM基础之上,由OLEAutomation(ObjectLinkingandEmbeddingAutomation)发展而来的。Automation的核心技术是允许一个应用程序操作另一个应用程序。Automation技术并不是直接获取及处理数据,而是间接地通过暴露的对象和属性,利用对象的方法和属性获取、设置及处理数据。Automation技术包括两个方面:server和client。Automationserver是一个实现了IDispatch接口的COM组件,而Automationclient是一个通过IDispatch接口与自动化服务器进行通信的COM客户。如CATIA我们把它看成一个server,客户编制的应用程序则是client。两种技术比较:

从图1可以看出使用CAAC++可以进行最有效率的应用程序开发,但入门困难。CAAAutomation功能限制相当大,但入门容易。所以建议开发工作尽可能使用CAAAutomation,不足之处再以CAAC++完成。

CATIA二次开发的基本方法

CAA是第三方产品集成和一般客户进行客户化、个性化设计的强有力的工具,利用CAA完全可以实现DassaultSystemes应用的深层次开发。但是,由于DassaultSystemes应用本身的复杂性和CAA所涉及的深层次内容,利用CAA进行二次开发必然具有一定的复杂性和难度,用户在熟练掌握DassaultSystemes相应的应用系统,同时还具备了软件开发的基本知识、C++(或Java)的基本编程能力、COM技术的基本知识等基础上,需要做到:

(1)熟悉CAA架构(图1)中的RADE。

RADE包含两个模块:Tools和Guides,前者介绍怎样创建运行环境、开发平台上各个功能菜单的作用、对话框的创建等等;后者介绍编程时的相关规则、不同层次的组件、编写代码时的一系列建议等。

(2)熟悉CAAV5开发平台中的基本知识。

如熟悉Framework的组成原理(图2),客户对象、接口和实现之间的关系(图3),命名规则,Workshop、Workbench、toolbar和menu之间的关系,创建session的目的,以及文件树(FileTree)(图4)的逻辑结构等。只有熟悉这些相关的基本知识,才能够了解CAA的这套实现机制,才能做到有的放矢,从而正确地实现自己开发的目的。这些基本知识位于。

(3)掌握其基本编程方法和相关技能。

如:如何创建Framework和component、如何创建一个接口、如何创建session、如何获得一个API函数的指针、如何实现交互等。这就需要熟悉CAA组成架构和接口的逻辑关系。要掌握这些基本编程方法和技能,需要仔细研究并进行相应的编程练习和探索。

(4)弄清楚CAA提供些什么函数,各函数分别位于哪个component中,怎样才能获得相应函数的接口。如何获得相应函数的接口是比较关键的;而比较困难的是如何利用CAA所提供的这些函数来实现自己开发的目的。这不仅需要仔细研究CAA所提供的C++API中的各Framework下的各种类型的函数和相应的接口关系,而且还要进行大量的编程探索,才能熟悉和掌握。

CATIA二次开发知识准备

CATIA基础知识

C++基础知识

指针

构造函数与析构函数

继承

多态、虚函数、重载、抽象类和派生类、纯虚函数

COM基础知识

COM基本概念

组件

组件对象模型(COM)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块;等等。

COM是开发软件组件的一种方法(也有称其为一种标准,而不是实现)。组件实际上是一些小的二进

文档评论(0)

1亿VIP精品文档

相关文档