|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
CATIA二次开发入门教程---2 CAA 架构7 _7 w& S- C9 A6 E# j; P
3 l5 r% m" \2 T3 d! N" j; v& P
CATIA 本身是按照组件模型建立起来的,用户可以通过开发自己的 CAA 组件,对 DASSAULT SYSTEMES 的 CATIA V5 进行扩展;也可以把用户自己开发的 CAA 组件结合起
6 F: k7 |0 f. T1 O) ~5 c% G来,实现用户自定义应用。CAA 应用的框架结构遵从组件对象模型,有自己的框架结构。每个应用有至少一个框架(framework),每个框架有至少一个模块(module)。每个框架里面有一个 IdentityCard.h 文件,
Q5 @: U: T8 Y$ Y) L) [这个文件通过宏“AddPrereqComponent(framenwork,protected)”来声明“声明”这个框架的一些首先必备的其他框架名称,framework 是框架名称。CAA 的编译器就是通过 IdentityCard.h 文件,来把头文件搜索限制在首先必备框架所包含的接口中。) M- O4 n8 b/ @5 |7 |+ I) h
3 J/ ?4 i# z& }/ q; L6 m& X每个模块下面定义了一个 Imakefile.mk 文件,这个文件指明了这个模块中所有文件在编译时用到的其它模块和一些外部库以及为编译器提供如何编译的模块必
& ?- x: F2 N7 e& J须信息,还指定在不同的操作系统下面编译时的一些可能的特殊要求。CAA 环境对 Cnext 能够运行的所有操作系统中采用同样的编译器,这为开发者提供了很大5 B1 G- J( `+ J8 B0 u
的方便,因为他们可以不需要知道怎样用不同的编译器和怎么写 makefile。但是+ P( l% N& D% d% K3 H# J% q/ R3 l
MKMK 并不能做所有的事情,开发者至少要说明他们想要做什么。我们在自己的% g; J( e2 M, Y/ n. N
源文件中用到其它模块的接口,要在 Imakefile.mk 中进行说明。程序结构采用
$ C6 Q# o, K( l/ o- m1 ]$ R- E: H, T了 COM 组件模型,组件模型中有两个常用的概念::接口(Interface)和实现(Implement)。接口是一个包含许多纯虚函数的抽象对象,这些纯虚函数指明了接口支持的3 w5 G2 H& O" U; Z; J( ~9 j
方法。实现是一个具体定义接口中的方法的对象,一个实现对象必须显式声明它
5 \3 ]( k* j- r- {! T/ {& ~支持哪些接口,还必须定义它支持的接口中的所有抽象方法,实现对象可以支持4 f9 e" r+ E9 W9 B
一个或多个接口,而客户应用只能通过这些接口与实现对象发生联系。
! S7 x0 O# H' x6 p, Y7 m |
|