PLM之家PLMHome-工业软件践行者

Catia CAA二次开发命名规则---

[复制链接]

2017-2-9 19:57:56 3152 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82166
QQ
发表于 2017-2-9 19:57:56 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

8 b0 T! j% C/ E& [! C2 T3 K& S1.主要规则) i! `- E. j  W% s! e( p+ s  |+ X
CAT 代表 CATIA   作为前缀(prefix)
) L6 g' s5 x2 E: a1 Y0 }6 I: KFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   ' [' \$ W) |1 ~7 h- K9 w" T& C1 d0 J
全部用英文: c/ i- e& |2 |+ a) D1 M: u" {

3 j& h) K( g5 @0 M2.目录实体的命名' o' o2 ~/ `. p2 E5 b
Code Framework                     <prefix><FWName>
' S: A9 J$ M2 u6 |5 Z% bTest Framework                      <prefix><FWName>.tst
$ o1 |* e. n9 y# h3 J7 O/ \. H* `9 m: `
. m' R) t! o0 r- B4 R8 aCAA Frameworks                    CAA<FrameworkName>.edu4 a+ Z: c% ]/ P0 w! b3 n/ X8 `" D% r
CAA<FrameworkName>Doc.edu
: s% ?. }+ V8 L! J; d- W: J CAA<FrameworkName>.tst5 U$ [, h3 v8 V2 t* T
6 R2 i8 @9 a" f) J$ {" y1 W  x2 M
Code Module                        <prefix><FWAlias><ModuleName>.m0 F( B. U, C* K; A! k2 D/ v7 r
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m8 [  z7 t) C8 T1 T: a
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m  y( f/ E5 a' O$ ]; p3 @
Code main module                   <prefix><FWName>.m
" f7 d! L% o; m
' C$ b2 j& I. O; @8 j' eDoc Module in education FW         CAA<FWAlias>TechArticles.doc
7 k4 {/ e/ a$ N# ] CAA<FWAlias>UseCases.doc$ d7 H3 G" k' p/ o3 `' x
CAA<FWAlias>QuickRefs.doc% J, o+ S! y$ g) T$ `
CAA<FWAlias>Base.doc. g0 O$ f" R! Y1 c3 {: U/ r0 h
5 W/ J) x6 a" u. Q0 U) p
) ]$ U4 @- O. F4 {; D& A/ v+ A, p
3.文件实体命名' s( G* p% S/ o* O( H; l+ @
   Simple Classes                      Class: <prefix><FWAlias><ClassName>. Q, e/ [4 |2 i% Z1 G' R
File: <prefix><FWAlias><ClassName>.h% H8 f% I0 j/ G4 `- r" M% b
File: <prefix><FWAlias><ClassName>.cpp, h' X! w( F0 o. e2 e$ n  l+ [

6 X  X, f" j/ c# CExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
# r' U2 z0 B% i/ h* `$ f File: <prefix>E<FWAlias><ClassName>.h6 h9 _. M- w9 C
File: <prefix>E<FWAlias><ClassName>.cpp0 z7 t" ~1 H! T- ~$ h+ w
; y' j- v8 c5 K* o/ \) O
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>$ o8 M8 Z3 [2 w9 q; @
File: <prefix>I<FWAlias><InterfaceName>.h
  p2 ~& k/ C- P% z+ OFile:<prefix>I<FWAlias><InterfaceName>.cpp! V) e0 G7 u; p% O& X/ k
  o- v" ?- Z2 b- A4 p
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
  a( N' k( Z  c: S& J+ mFile: <prefix>IA<FWAlias><InterfaceName>.idl# I8 F5 m4 d2 D6 h  v+ F
File: <prefix>IA<FWAlias><InterfaceName>.h2 G: v# Y. G& ?; g3 O4 ]
File: <prefix>IA<FWAlias><InterfaceName>.cpp
6 ^: K( J! q( @8 J
6 b$ p6 d6 G) r7 c$ p4 ?) YInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers
' m4 W5 R% n7 B% I5 j- H/ c! h) g8 hFile: <prefix><FWName>.dic for DS8 \& F8 G7 ~; P% _4 Z2 C% F

& ?, k( Z  J8 ~1 n& VFactory Dictionaries                  File: <prefix><FWName>.fact
) ]! d7 @( }4 n1 n$ tGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
" _5 Z3 n+ P' L0 k8 A( b% v7 X+ o File: <prefix><FWAlias><FunctionName>.h! o9 n$ Q  N5 \  A/ z
File: <prefix><FWAlias><FunctionName>.cpp, r6 Z1 a' P+ A. w: T: D+ c
$ C! l. |/ G' e& F3 k! J4 h/ G* {
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
$ M* n/ v4 F+ m! o( u Value: <prefix><FWAlias><EnumItemName>! [/ K7 \; E" L2 n4 d6 O! W- _
File: <prefix><FWAlias><EnumName>.h
6 R* ]8 p6 e0 ?/ C! ^) _0 {
  p5 {% h" d& k5 S# mMacros                              Macro: <prefix><FWAlias><MacroName>
2 h( h" m# t; |( t1 F8 v" I) Q0 n; C File: <prefix><FWAlias><MacroName>.h
! a  k- ~5 d0 d/ O
* D/ ~; D# M  t! cTypedef                             Same as substituted name' g: G; {1 e) p& ~
NLS resources                       File: <prefix><FWAlias>Name.CATNls7 m6 z( W; E! K3 N+ y& U/ ]" G: l2 z
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
" Z: W9 M( ]7 c
2 R6 x$ W% @8 o( O$ W3 lFeature catalogs                     File:
/ M3 M* D9 w/ l' ^ <prefix><FWAlias><CatalogName>.CATFct   u8 M* K. K6 ~" i' o
for CAA customers. v* h6 ^" f7 @
File: <prefix><FWAlias><CatalogName>.feat for DS1 N0 O& q4 v4 }

+ V$ N$ w3 c9 N+ v0 _. r4.用户界面实体
* ?  A' E$ a4 A. c4 i   Command Header                   <prefix><FWAlias><Name>Hdr
- y1 W* M0 P3 I* m& K   Workshop                           <prefix><FWAlias><Name>Wks
: S' v5 t0 w  {: s+ j   Workbench                         <prefix><FWAlias><Name>Wkb( b: l$ e5 i' O: R5 T( `  w
   Toolbar                             <prefix><FWAlias><Name>Tlb1 ~/ f7 ^" _. x. k
   Command Starter                    <prefix><FWAlias><Name>Str
  q4 s, c+ j" D1 r0 h2 ]Separator                           <prefix><FWAlias><Name>Sep
$ K, P/ R8 h5 c% k& q, u: FIcon Box                            <prefix><FWAlias><Name>Icb# Y! @9 M/ w5 N0 [  i- d' P& E/ d+ C
MenuBar                            <prefix><FWAlias><Name>Mbr
( i: B: \/ P0 C9 M3 }6 KMenu                               <prefix><FWAlias><Name>Mnu
+ s& W' r0 j2 d" J9 ?SubMenu                            <prefix><FWAlias><Name>Snu' p0 \0 N# l& Z, Q6 u6 }9 g5 S

3 k1 J9 n5 \0 S6 ^! C$ w5.其他实体, k/ n3 k6 f+ s! C2 B" B  a
  Features and Late Types               <prefix><FWAlias><FeatureName>
/ l, o+ ]. G" y% w <prefix><FWAlias><LateTypeName>/ w" Q' g# d( Y4 @+ U

0 s  k- u/ j3 O; kApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>+ b1 u' {( [+ R4 L* f
Data Members                         _<DataName>7 B2 w8 Y8 g, e) e5 }& d+ s9 F

0 D) ~" a" g8 p( Y7 p: pMethod or Function Arguments         The i prefix for input parameters
1 g8 M0 Z+ M; v, O2 ^' uThe o prefix for output parameters . A+ E0 [0 X4 z( f0 Y
The io prefix for input/output parameters ) j9 z) h$ f% p+ b7 U. r8 S
1 x* b, w. ~' c
6.名字的变化
2 ?' r' X* P5 t8 j; `' E; t变量名字要以小写开头   int counter2 r, A3 ?( j! O# G+ R  B9 y
函数名字要以大写开头   void CountItems()$ C+ i; O5 r( w+ [( ?6 z: q( b4 W
数据成员要以下划线开头 并且不能是public   int _length0 g8 j; K1 ~0 S5 b6 u1 m- B9 h

* W' H2 r4 \* P' H+ i4 @- Z1 P3 z! l0 |# K  `

% A% r7 X: B8 _: k, J& d" ]: f
1 B# K6 }/ q( T. k/ Q. u5 O* A( o7.指针
% K! i2 U( [1 E9 t0 F" A
9 p% C! Q& H: Q% X
$ H0 @6 m) x% L+ q  
4 e+ g! B( E5 n$ S, g) ZPrefix* G, g$ a% D' D& E! D3 r
  
7 O$ }" `+ A+ o2 Y  M2 pMeans; N! ^3 w1 x0 J5 V" J- x: b8 d% T; C
  
7 p1 D' N* l0 |) s. s9 RExample8 L' |% W9 X# E1 D( v9 Y. K

0 A0 e4 L3 j9 S3 X  I  8 i& Y7 V( y& h# q0 P7 C
p
7 D6 o# R/ v" W  : C5 s" v8 A" O# w" F" j6 f3 ?& S( k
pointer
6 R- n. M4 W( J  
' O. j5 }4 V" z' PCATBaseUnknown *pTarget;& T5 F7 H6 g# z+ |3 {( b1 }' Q

! Z0 E4 A; P/ E, N2 P' J% J. @4 g  
& l0 i, Y8 S0 S3 v1 n5 |& f$ tpp' E6 ]  M5 a2 s" k
  & S+ |5 f$ k, {, y0 m$ }4 ~
pointer to pointer2 A& O5 J, x4 D) I, M8 u4 K$ I
  ! ^) S- w' D/ _6 A% w/ ^
void **ppTarget;  _' R8 X' O. E8 R$ f

" H. c% z! Q5 R% [  
  l" z& f7 ^! m% D5 Hpi
& W) F4 }0 A2 n! e1 ?, V  + G! l1 y4 N4 ~
pointer to interface% {1 k0 P: J8 k$ x
  $ L) @+ o- c. _+ V; b! Z1 C4 x9 ^0 S
CATISpecObject *piTargetFeature;
7 a, ^) I2 ?$ {$ [/ K ' d1 }1 Y9 {% f7 Z/ E; }
  $ c4 S7 G# d* d( b- Z: j9 ]
sp
1 h8 V+ h/ x( U. B  7 v* G0 Q& e* W* k& Q
smart pointer || handler
6 Z+ I" I6 O: u! w) c  
5 Y1 w, P& Q7 J! Y: zCATISpecObject_var spTargetFeature;3 s! a. |; E- q0 i$ O

6 Z  }+ c2 S4 O1 a  
9 ]1 J$ T) V' g7 ^4 sa1 o: V3 @' Z0 y) }
  
/ }. P2 J; l+ Xarray
6 z* ?5 Q5 j9 p, N  7 [+ Z2 }( Y/ V+ X/ J5 s8 `) c0 E
char *aPath;
5 T, Y. K. j% ~  z( C& P) O: Q 9 Y5 P6 t9 c) h: t, h/ J% }# C
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
- T+ `, w( m& g+ m1 _- m8.接口指针的命名& `  m; x6 Y# L: T! U
格式:pi<InterfaceName>On<RootName>
: [" z) Y8 v% X. [  Y指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
7 j* S7 a1 l& d; r$ D7 p* O$ t跟名字是用的三个字母的缩写 如上用Doc代替document( \8 x3 r, k2 Z! n0 \- v

6 c# }7 r' l: F% ~3 R
, a1 J7 ?, Q- H3 N
& i# g+ f* H' F8 r, I* U2 A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了