|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
CAA的开发提供了两种模式:批处理模式(BaTCh Mode)和交互模式(Interactive Mode)。我们开发主要用到的是交互模式。; }0 e6 D: [# S8 L9 q
+ G" P4 F& b" l j
在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令6 k; G d0 _0 z1 n
7 F, e0 _! C$ `' q7 U$ d! A! K X
' I! c, s1 u1 K0 R' G7 yPublicInterfaces:公共接口,在这个文件夹中是类的声明,即.h头文件。这些类可以为整个Framework的各个模块共享,也可以被外部Framework使用。, K' j& ?! Z5 F! v0 `8 T, u
PretectedInterfaces:系统自动生成的module.h头文件,供编译连接时使用。这些模块只能在本Framework使用。 IdentityCard.h:本文件定义了所有用于编译使用此Framework的预定义Framework。即,在开发过程中你使用了系统或者外部的API,你必须包含此API所在的头文件,module和Framework,其中Framework的预定义就在这个文件中进行。其格式如下: AddPrereqComponent("ApplicationFrame",Protected);$ U' J6 G/ F q' q* G {
// ApplicationFrame即为所连接的Framework
- y& F4 y# x. p5 Z# y- e( B: z- V R9 P4 A! ?8 R
Cnext文件夹:包含了Resources和Code两部分,其具体的作用下文会具体阐述。
' F- q4 A6 e6 c, y4 ?Module文件夹:Module为组织程序代码的一个基本容器.其中:8 P1 k9 [4 _: \! K# s5 M k
LocalInterfaces中是仅供本模块使用的头文件集合;
- j0 x/ H* ^% S$ U0 ?1 FSrc是所有本模块的.cpp文件集合;
- R) s8 G+ \) [! H$ b% u! {" |Imakefile.mk文件是所有本模块所包含的头文件所在外部Module的定义。在上面提到的IdentityCard.h中定义的是API所在的Framework,而相应的Module即在此文件中定义。
y0 U9 }7 j: w* p$ U4 n/ y, m: Z在LINK_WITH后面添加需要连接的Modules。6 c# z; X5 G! m1 U& F: Q/ j
! z4 \8 i, H6 r) h& x, [
+ j$ J: L# P* f9 ^) n
注:我每用一个新的API都得在相应的module下的imakfile.mk里添加其所在的模块名,在frame下的identitycard.h里添加其所在的frame名。
# ]/ |- E: A9 q/ R/ J; x
/ {3 R) l5 T* u& `2 x" p) ^# B1 B6 B9 q! c; u. L
下面是几个值得注意的地方(也就是定义资源,同一个frame下的所有的资源都放在Cnext/resource/msgcatalog下):6 m& N' _4 I8 A* \5 J3 \
l 在文件:TestWb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为: 1 h8 o0 K* t0 h; e* ?9 p8 e
TestWb.Title=”test”;
' T; ^$ {8 `& O2 I x l 在文件:TestWb.CATRsc中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下:( |3 V" \- T5 b- n
TestWb.Category="Infrastructure";
8 r! P+ y( w4 B! e: `5 A Category可以为:Infrasturcture,MechanicalDesign,Shape,……。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。 n/ D: M* u) B0 H3 \5 j9 p
在文件:MyFrame1.dico中( Cnext/resource/code/dictionary ),定义了此Workbench的连接库。/ V9 s3 d! Z+ I" f& p8 C6 P" C
1 ^. s# I% X9 r( C6 T3 F& w( z
& z9 w9 j; ]) }: Q/ m; [
: ~, D$ q( R$ J# M
- [; J# z( S7 x& z6 X& C( @$ `) u1 o
9 I" \' z+ ]. P& ^/ n* X2 Z8 u
( k( |; \5 E+ f6 b& E
" T/ Z' I0 }2 ~( }, m. [8 N
|
|