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

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

[复制链接]

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

admin 发表于 2017-2-9 19:57:56 |阅读模式

admin 楼主

2017-2-9 19:57:56

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

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

x

4 _: B6 ^) K7 J) b7 y1.主要规则
/ ?5 ?6 o: v# }' B. n% o* cCAT 代表 CATIA   作为前缀(prefix)
9 C$ F$ L1 Y8 \0 x6 z. F: IFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   * A3 N  c& S- O3 v* Q5 ]. j* R
全部用英文
( ~, }' ?( f# X
# b" a, {' C2 d7 q* S) U9 v6 M2.目录实体的命名
* Q, Z! e0 P; Q4 a( mCode Framework                     <prefix><FWName>' A# U0 U8 z! v, m& U2 A+ ]
Test Framework                      <prefix><FWName>.tst
. Y4 `) _* A. F  {( ]5 s3 x1 s0 l& M. |4 o
CAA Frameworks                    CAA<FrameworkName>.edu3 a9 ^. [" J9 ~6 `* p  U9 N% `
CAA<FrameworkName>Doc.edu
1 B) c) R! R$ q: j( a& I CAA<FrameworkName>.tst% L+ V  M  e# a; W0 b( v, e
6 U8 K. Z2 g! a4 R$ e5 N6 O
Code Module                        <prefix><FWAlias><ModuleName>.m' A3 L1 U9 }( `6 Z" ]/ s, F* A# N# D
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m0 p" V, {7 t( C) A0 ?  ]4 u. T
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
0 N1 D- ~* G, I6 q7 j* TCode main module                   <prefix><FWName>.m9 I$ T; V- U4 l6 l' W# q) h
0 A- e1 P6 g9 b9 y- W- }
Doc Module in education FW         CAA<FWAlias>TechArticles.doc+ P0 ]2 x" {* [# N0 p' g
CAA<FWAlias>UseCases.doc
1 U8 E* s  F+ A: }1 ]0 i) Z CAA<FWAlias>QuickRefs.doc
4 M" @( t  h. K' g CAA<FWAlias>Base.doc4 ^  n2 E% e4 @# f7 H; W
( _- R) w2 _& C; I) u6 |$ d9 N

' H) Q! J8 ~. u; k, ^* B, K7 c$ B/ U9 }3.文件实体命名
" Q+ E; \6 g- K5 F+ k4 s1 J% q' T! f   Simple Classes                      Class: <prefix><FWAlias><ClassName>
6 Q1 x9 \8 f2 d, q" B File: <prefix><FWAlias><ClassName>.h" ?/ s4 P' j/ m* r* S/ D
File: <prefix><FWAlias><ClassName>.cpp
% u6 I9 B' E1 e- V$ _. `7 U, ^; j) N8 p1 t; ?& q5 _6 V
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>6 K& X* h! c* D; _  @
File: <prefix>E<FWAlias><ClassName>.h# Q) l; s: O1 ?; P
File: <prefix>E<FWAlias><ClassName>.cpp2 w+ p1 q) @2 z% G/ a

2 E/ K0 @$ C5 cInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
7 Z* I$ F6 C; n( j. G3 u File: <prefix>I<FWAlias><InterfaceName>.h
8 |3 e! Z+ y' o3 y1 `2 P% r6 W: tFile:<prefix>I<FWAlias><InterfaceName>.cpp& i0 d: u# t5 U' X5 f' f$ F# K  t6 @" U
& w  L0 d- G. k9 D8 ]: T8 w" f
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
( A) q4 g2 D, y. q% G8 ~3 b, IFile: <prefix>IA<FWAlias><InterfaceName>.idl
$ x& \2 K; U7 N  g2 e2 N( H File: <prefix>IA<FWAlias><InterfaceName>.h
, h. F6 V' ~) K' d File: <prefix>IA<FWAlias><InterfaceName>.cpp
8 U3 t& B1 d0 j5 O$ B! E- h9 D* I
; a" l. K+ U4 C! f, v" e1 kInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers% R& C3 K1 d+ ~- s0 A2 ]* b
File: <prefix><FWName>.dic for DS
  ~: e6 Z2 d9 e" o& W6 j# Z9 ^; ^* T4 }8 I0 X$ ]# N1 V0 u+ v
Factory Dictionaries                  File: <prefix><FWName>.fact
# U2 c+ ?, B, ~Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
% F$ m, d9 R0 R) @2 E0 q9 n File: <prefix><FWAlias><FunctionName>.h4 F+ C* r: C3 _4 D* O! {
File: <prefix><FWAlias><FunctionName>.cpp) G$ W* F/ f, F9 a/ ^! @* n- D
% B% |, M: L' ]
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
4 F7 F$ \) e0 e5 P Value: <prefix><FWAlias><EnumItemName>5 e( o* L( |% m+ _3 [9 n
File: <prefix><FWAlias><EnumName>.h% g/ |0 w# T. M5 S9 Z
- ~0 R# [0 z4 }: p
Macros                              Macro: <prefix><FWAlias><MacroName>- W! [7 ]- b3 e" B* D
File: <prefix><FWAlias><MacroName>.h
! K( W; i6 n4 m4 z6 ?9 ~$ r2 p  f& f( ]7 F1 C
Typedef                             Same as substituted name
* i! b  i/ n1 @' c; g0 p1 i: @2 ^NLS resources                       File: <prefix><FWAlias>Name.CATNls( }5 C& }! g% ]- m9 y' z8 r* L
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
7 ~3 Q! g8 @) ?# P7 K/ z- K/ H$ ]3 |/ c* U
Feature catalogs                     File:- s8 A2 B6 A$ k
<prefix><FWAlias><CatalogName>.CATFct 0 d7 r) m8 [! L: }& r
for CAA customers
! o( ^5 ~6 c: aFile: <prefix><FWAlias><CatalogName>.feat for DS$ k/ C0 u; e9 \' B, K' R8 B; F6 U

, o# c/ k8 y7 S4.用户界面实体
/ a: {) w! }: X$ w. }   Command Header                   <prefix><FWAlias><Name>Hdr0 P2 {5 T" N) ^
   Workshop                           <prefix><FWAlias><Name>Wks
: V/ j: I: a: Z( f6 E" l" j   Workbench                         <prefix><FWAlias><Name>Wkb/ c8 W3 {  V% g# L
   Toolbar                             <prefix><FWAlias><Name>Tlb7 D# p) F& S0 I  y0 O
   Command Starter                    <prefix><FWAlias><Name>Str
* \, e. ~. K3 S( F' {8 \' vSeparator                           <prefix><FWAlias><Name>Sep% K  x; t5 h4 h
Icon Box                            <prefix><FWAlias><Name>Icb. X% u( @: o2 g1 S( q1 g
MenuBar                            <prefix><FWAlias><Name>Mbr( I* f. k, d3 i- j
Menu                               <prefix><FWAlias><Name>Mnu
/ E! `4 D. ^( TSubMenu                            <prefix><FWAlias><Name>Snu
1 {/ j( N. s0 o8 P+ w8 z% F% R
5 G7 `+ d. ~4 Z1 `# Q6 |5.其他实体
" L" z. }' u" ]5 p& ?0 ~( U5 n7 T  Features and Late Types               <prefix><FWAlias><FeatureName>
+ U. ~8 A, r/ T6 V9 f+ m8 c <prefix><FWAlias><LateTypeName>
6 U. y( l0 ?$ F7 N5 v2 @8 @6 N* S, L' R5 {
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
. t/ E3 C! k4 ], K& E+ HData Members                         _<DataName>
  X' u* K% {& f0 J' A( J8 ~4 N% ^  F2 i" a) c+ j/ x! b3 s' w0 U0 w
Method or Function Arguments         The i prefix for input parameters $ {( {8 }  S+ o- x$ _; w/ j
The o prefix for output parameters
9 J) a( U: x3 v# w  v! jThe io prefix for input/output parameters + p* S. S# ?0 N& p3 v# N
0 R9 t1 x" ]7 q
6.名字的变化
8 @# E2 C" y* ?1 O; o6 d9 e- j* r变量名字要以小写开头   int counter
$ V" X! B( l& H/ M函数名字要以大写开头   void CountItems()( p1 ^! }9 a& C
数据成员要以下划线开头 并且不能是public   int _length+ {/ c9 h2 R# X; J# l$ p- ]
. d6 W- \3 }, G

5 o$ T& x! U! V' G: k
- ^2 g3 I+ C) @& w, e
7 d& Q* G" T) r( p+ a# c. T8 |' m7.指针
) T: Y2 o- O: E. G* E5 [
; A8 S# l0 I% M, j
' z1 p4 J9 R) e7 t' g  6 Q' U4 q; J; t5 C0 T
Prefix
1 o9 c5 h" J9 y7 l- s  c* s- K/ O  # j1 j8 E3 s! n# \
Means
/ L! \$ v' y: Y) X# Q0 x1 ]/ V) d% ?  8 \7 g+ G. V5 y0 p
Example( Z% S2 I. B, g' O% T% u/ I

# c1 o" K, T- j# ?0 m* h: l  % X9 d3 b, _4 t" `4 l
p
- F4 g" G" a; Z5 L- w$ Y/ Y  1 m9 Q0 O+ G- H
pointer
, \' \  e; c) E' S" h$ g    S1 G% }& i4 B6 z; q
CATBaseUnknown *pTarget;
* u, X/ |3 e# `) d 8 L0 }# d, }7 M
  
" u( B+ p( Y" U  V- `( [2 x1 zpp
- Y: l5 X: ]* X' A, V" p  : U  D  ~! i& z% W
pointer to pointer
# d8 }, {9 V. y5 w3 |! g: {3 Z# \) `  
4 ]" W& {$ f6 u) A/ g% ivoid **ppTarget;& ]/ U0 o/ Y9 a

) @$ [- {) @, r  4 t  [3 C; u2 l+ E( C  Y
pi
6 C, G  w1 a6 A  3 F. {% B6 M9 F8 x" y3 f+ \, g
pointer to interface! x4 |) I' t, J* G. M0 E0 d+ Q
  ! d/ n+ Z& @2 g1 w" a' w8 ~% E
CATISpecObject *piTargetFeature;) m5 `: V" g, L& b

' x9 q: A( [: @1 g7 a  |- D  
/ `% ~6 S6 y9 M4 t1 p' n4 Rsp
$ a; o) m# K- O6 p! |3 q1 b  9 ?( l4 ^& D  \; y
smart pointer || handler
7 D8 O) s3 {% i9 P" y  + V. Z! v# e: ~6 E$ m5 E
CATISpecObject_var spTargetFeature;6 F: b" s& N3 {- v; ?% T& V

5 s$ M, x# W( M  : M/ B+ \; D7 e" _' P
a# h; ]! l( Z. c' G: A) ?
  
8 _9 r9 x3 Z1 o0 s2 Y/ rarray9 _& H( G: e; R+ j2 O
  
2 [+ E# Z& w; h2 H. s/ B" `$ Zchar *aPath;# {+ U) A) `/ I
* J3 c. @" r  W+ s. P5 D; F
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起7 A1 l  E5 a1 m. `
8.接口指针的命名  W% G8 \7 ^' c: x: G
格式:pi<InterfaceName>On<RootName>/ s' P6 [0 K+ b) ?6 D
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的) d- A; @3 O) c- X
跟名字是用的三个字母的缩写 如上用Doc代替document
/ g: O# X& Q+ ^" {6 N; {# k
, r; ~+ U, {3 Z* H( J3 I! E% n; Q) V# D2 s' D. m$ j" L2 f6 n
" R) D: O0 {/ c. h; {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了