|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
CAA的开发提供了两种模式:批处理模式(BaTCh Mode)和交互模式(Interactive Mode)。我们开发主要用到的是交互模式。
; G, t3 X6 r- z+ q1 G
/ o3 y0 ]- S, |# F# p) v在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令
/ J2 J( B7 [8 I) a& x9 \- M4 I* O* _% k) a5 X
! [' m ~, T% x' V- _
PublicInterfaces:公共接口,在这个文件夹中是类的声明,即.h头文件。这些类可以为整个Framework的各个模块共享,也可以被外部Framework使用。
9 m3 I+ E- s4 h7 @PretectedInterfaces:系统自动生成的module.h头文件,供编译连接时使用。这些模块只能在本Framework使用。 IdentityCard.h:本文件定义了所有用于编译使用此Framework的预定义Framework。即,在开发过程中你使用了系统或者外部的API,你必须包含此API所在的头文件,module和Framework,其中Framework的预定义就在这个文件中进行。其格式如下: AddPrereqComponent("ApplicationFrame",Protected);
( }, d) ~8 s% W// ApplicationFrame即为所连接的Framework" d6 @3 S- c) _! Z/ K! U7 R5 o
v+ ~4 a% z% j' q# \
Cnext文件夹:包含了Resources和Code两部分,其具体的作用下文会具体阐述。# W: N8 b& f X; l2 H% D% Y" N
Module文件夹:Module为组织程序代码的一个基本容器.其中:
$ Q/ D8 O, g6 i$ N- d( c/ qLocalInterfaces中是仅供本模块使用的头文件集合;+ A! n: v/ l0 D$ r% S1 h7 u2 N
Src是所有本模块的.cpp文件集合;8 |! ~% G5 I: S
Imakefile.mk文件是所有本模块所包含的头文件所在外部Module的定义。在上面提到的IdentityCard.h中定义的是API所在的Framework,而相应的Module即在此文件中定义。0 t% E1 q) s1 `0 {. c2 Q# @
在LINK_WITH后面添加需要连接的Modules。
0 n. U/ B+ k$ g+ J6 y$ v3 Y- k0 b# w! O. F1 ?7 }9 |& Y2 d' y
d5 |* e0 r$ O( Y注:我每用一个新的API都得在相应的module下的imakfile.mk里添加其所在的模块名,在frame下的identitycard.h里添加其所在的frame名。
' I2 n: y3 U( ]; U7 E
S4 s6 M; X- L [( K* w
3 V, ~* [5 i" F( ^+ T" b# \: X/ O下面是几个值得注意的地方(也就是定义资源,同一个frame下的所有的资源都放在Cnext/resource/msgcatalog下):
$ `' [, M# H8 S1 e: i) J0 E# U l 在文件:TestWb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为: 8 j6 x* _, }- }( A' x+ h- w
TestWb.Title=”test”;! p2 c4 z& l' C4 |
l 在文件:TestWb.CATRsc中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下:0 C) Q% F% g1 ^
TestWb.Category="Infrastructure";
* t9 [# W3 B$ [ W" i' ` Category可以为:Infrasturcture,MechanicalDesign,Shape,……。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。5 v; a# u/ a$ t/ I# z
在文件:MyFrame1.dico中( Cnext/resource/code/dictionary ),定义了此Workbench的连接库。0 y% s( ^; [1 h, [4 N9 D
1 a- V( A. x/ K( B8 K3 G p4 ~2 ]4 | W1 F
! f' e4 }# b, d' A! P% H' V
1 K0 b' q c& f: a6 A! @) S. t! T# m/ `
# L. _' {$ f- F* \ l- c& j& q
0 G j: O. J% g( e6 [* |1 _3 }& [1 K Q7 `) f
|
|