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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
- [" Q; e2 s( q( X7 }
1.主要规则
$ x. L9 b  D5 j- \CAT 代表 CATIA   作为前缀(prefix)
4 d2 m0 V* k2 NFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   * H* F% P! r2 _
全部用英文! Q) h5 z0 O5 l: j! _1 `0 C
1 ]; R' A' k+ E: ~2 n1 r0 z7 l7 e
2.目录实体的命名- m) ?. ?9 z$ V/ S
Code Framework                     <prefix><FWName>- j2 n9 P4 X& G6 {# ]. I- X
Test Framework                      <prefix><FWName>.tst
; F6 P- T! q! K) H- N
, Y9 O! ^3 V7 t" MCAA Frameworks                    CAA<FrameworkName>.edu
- d( g$ F( {8 \7 ~  z2 l+ W# \ CAA<FrameworkName>Doc.edu# X. r3 L: l) O, ~
CAA<FrameworkName>.tst
0 m8 d  i! a. R* u, d4 I! C0 s# ^- F. T8 u
Code Module                        <prefix><FWAlias><ModuleName>.m( e. y) |" v- x. N, V9 j
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m2 z! u: K0 f' Y& M) p
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
" J+ a! W& m9 P( [& H" m% GCode main module                   <prefix><FWName>.m. s' a/ P+ W+ h- y" h! w& v) Y
4 \# e; x# W7 @, i9 |: V
Doc Module in education FW         CAA<FWAlias>TechArticles.doc
% t! |; P0 _) K  W- \1 x CAA<FWAlias>UseCases.doc; r& l! D( r8 O. N
CAA<FWAlias>QuickRefs.doc; b% F' D# ]  u- O9 d
CAA<FWAlias>Base.doc$ U3 r1 Q& l) k" D8 R6 k: E  N

" u; a. s- A5 b- z6 f7 n3 a1 h" W; t- s! B8 K! T, F" c0 N
3.文件实体命名
1 a% J4 P: W) l6 [+ e, u   Simple Classes                      Class: <prefix><FWAlias><ClassName>
/ V! @: p! Q2 G) i" s6 h$ t7 C File: <prefix><FWAlias><ClassName>.h: [1 _) j7 M! O3 I5 p, K
File: <prefix><FWAlias><ClassName>.cpp' u* q' \/ R2 F. N* }! R0 x
* X# k5 |/ Y' V8 ?; r2 K3 C, i
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
! F0 l6 j, X8 \+ G File: <prefix>E<FWAlias><ClassName>.h4 W4 u( b- {  F, K. L% b! b6 J
File: <prefix>E<FWAlias><ClassName>.cpp
7 ^! h# S6 c2 t" h6 i) R' a" }; f+ @7 I4 E
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>* E$ D, {" Q( C- U) N2 {
File: <prefix>I<FWAlias><InterfaceName>.h- Z  T+ B* m  E% j" ^2 O2 W3 R
File:<prefix>I<FWAlias><InterfaceName>.cpp( n* J. g9 O3 ~: \7 l& a/ `+ Q
- g+ E1 r- {3 |, ?
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>; O: Y6 c2 J! c8 [" }0 w5 [- }: m
File: <prefix>IA<FWAlias><InterfaceName>.idl
8 `( I' E# W* M0 X5 H File: <prefix>IA<FWAlias><InterfaceName>.h
  o7 j7 P' i. R. q File: <prefix>IA<FWAlias><InterfaceName>.cpp
& J+ C& h  P# y! [4 Q: g: C' h- `" h, u; N" D
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
- g& q$ ]% {# x1 g( l# I1 \8 CFile: <prefix><FWName>.dic for DS
' n$ [$ W- [& R# e, i
. [3 ~1 Z- b9 G4 u3 t7 FFactory Dictionaries                  File: <prefix><FWName>.fact7 [, [$ E2 u4 c& m
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
: O* q6 M( E7 A" T$ h7 S+ [ File: <prefix><FWAlias><FunctionName>.h
8 @, F/ l# d5 D7 B File: <prefix><FWAlias><FunctionName>.cpp1 _' d9 h- [# p! C4 z9 b

: @5 u+ X: h' zEnumerated Types                   Type: <prefix><FWAlias><EnumName>/ \* x8 P+ ?- q& Q
Value: <prefix><FWAlias><EnumItemName>
# ~: q: h1 _9 Y0 H$ j$ [ File: <prefix><FWAlias><EnumName>.h9 F$ e2 w3 ~4 ]- Q
0 G+ i. j4 |; l/ @  I0 m
Macros                              Macro: <prefix><FWAlias><MacroName>
# P, {: Y  L3 S1 e File: <prefix><FWAlias><MacroName>.h( p5 k1 A8 A2 z6 l
7 U6 w1 G/ _! E
Typedef                             Same as substituted name- f& V3 m1 x' C& d% }
NLS resources                       File: <prefix><FWAlias>Name.CATNls
) u5 @) Q5 h& t: O# X& |' bResource catalogs                   File: <prefix><FWAlias>Name.CATRsc: u& C* z, l2 ?3 ^/ n

6 V1 E7 V. k. c' Z3 e% ]) EFeature catalogs                     File:  c) k( n' ?- N- g; }
<prefix><FWAlias><CatalogName>.CATFct
5 a, o9 m! H% T' x* f7 R0 y; V) L6 Tfor CAA customers: g6 v/ P: G) ]4 `% \% j7 N7 U. n$ y
File: <prefix><FWAlias><CatalogName>.feat for DS
, b- Y$ w# m% K6 \9 m% }0 Y7 a! z( ]0 S3 `( m/ w. A: C0 h
4.用户界面实体
) W! K: f- j2 F7 L. \% _   Command Header                   <prefix><FWAlias><Name>Hdr
8 R2 o3 O  H3 t8 h! l  }) x$ p* q   Workshop                           <prefix><FWAlias><Name>Wks
* L% f- ~8 O8 f5 ]   Workbench                         <prefix><FWAlias><Name>Wkb; f! U8 e" L( q8 N' Y
   Toolbar                             <prefix><FWAlias><Name>Tlb$ L2 q9 a2 X( c6 X
   Command Starter                    <prefix><FWAlias><Name>Str0 v& R, ?* M; U# ?" [, m# K, ~
Separator                           <prefix><FWAlias><Name>Sep: v: B. b2 Y0 j  U  a$ y# ?9 {
Icon Box                            <prefix><FWAlias><Name>Icb
8 N" h$ i1 Y! `" |MenuBar                            <prefix><FWAlias><Name>Mbr0 d: N; j  T& t
Menu                               <prefix><FWAlias><Name>Mnu" E2 M. U" s+ ]6 |, G- E
SubMenu                            <prefix><FWAlias><Name>Snu8 u. H) u' i5 _* Y

, _* i, f5 }3 o6 u" [1 j& p5.其他实体, o+ k2 V$ Z2 ], {' b
  Features and Late Types               <prefix><FWAlias><FeatureName>
- j# s2 r+ B7 k+ V4 u+ m <prefix><FWAlias><LateTypeName>3 j1 ~8 o6 Z5 [( M5 @6 s, O( E
5 U  m# O5 q: I2 Z1 v: S9 J
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
" s9 f0 b5 O9 A4 FData Members                         _<DataName>
9 O8 i5 H4 h. W" M# a" j% I: d$ A0 |$ L3 Q
0 a" h1 e: s* u' `3 LMethod or Function Arguments         The i prefix for input parameters
& ?/ ?# R6 i' \, Z/ y' g( e" |The o prefix for output parameters
0 J' d& z# P: \' |The io prefix for input/output parameters
& j5 b. m+ {" q' P! H7 M
! k# F/ |- }# p( K" ], P7 H3 e6.名字的变化0 _  `4 H# o* ]5 Y) n4 E' i/ O8 r
变量名字要以小写开头   int counter
4 F) }3 o/ [" G& }. W  X函数名字要以大写开头   void CountItems()) B0 u! G, ~3 {& J- w0 H
数据成员要以下划线开头 并且不能是public   int _length. [' g& ~) |$ o6 z

8 b$ A9 i' g( |  q0 d5 x/ _' P% I# M/ |- V, ^4 `

0 [( i7 m; {. r  e1 p4 r  r& _9 b# \
7.指针
5 H+ \1 ]0 W/ ~) B6 L: U( X0 R- ~
6 N. n2 S/ Y9 `
- {% l7 a8 w# ~( ?  
3 N( f9 z& m: B1 V& FPrefix7 S" A% M5 N6 a; V0 P# h) g0 \
  % m: p# a( I9 `7 R# u3 K& d3 v: B
Means
( g$ P( M6 x: ?  ?  . z: B3 P9 ^& x3 L$ c" Y6 p
Example
( J7 ~, h8 l" n3 C4 U
  }& e2 k! a( g+ T. i  
, R3 S# _* ?% C! b1 z, Kp7 ^) Z1 l% K7 `
  
2 ]1 z3 L3 t: gpointer3 \4 D" K* g3 W2 K# G
  4 u$ i6 g& k" h6 V) [" g
CATBaseUnknown *pTarget;0 x% X$ Y9 E# k* K
! M+ @  O& X: @  |; m! y# O5 |
  4 z+ Z  C* o6 P* x: P2 m- ^
pp8 a* W1 |$ R% H4 h5 [
  
% \$ d/ U) q8 `pointer to pointer) [  v# t* X/ K
  
7 j( n# N/ T$ A4 Svoid **ppTarget;3 m0 w3 g; }" s& p0 b: W, [$ ~( a0 v
$ k' q1 n: i) {9 V* h7 @
  
4 T/ ^, V8 |1 l3 A+ ?pi
- u  q6 @* [1 p2 j: Z. p& a  
" u- q$ C6 g6 e0 n: H3 Tpointer to interface
. l- }+ m# O) n) O' k4 T' G" x  % }" l, i- _* J
CATISpecObject *piTargetFeature;* C/ Y6 ?% k- U' c, J! ^: k
5 u1 a: P; O, M' ~
  - V8 ]# k8 f# D5 C3 F+ y
sp0 T- V' J" b! c4 ?+ w
  
, e0 c) S' x% a# }( U2 esmart pointer || handler- P6 K5 H; T/ A( g
  # z7 z" Q5 M4 ^5 T& V% E; J
CATISpecObject_var spTargetFeature;1 M1 R& Q. ]" b( V, z: w0 z5 p
; u; @" K% c9 R. n
  
8 E+ \: {% E0 c) k7 u; V4 }. K: l% Na
# s5 Z; w" E5 m% W7 P  : i% a; ]& F7 t3 ]: b
array" }" ~% _9 H/ x& G! \
  0 n1 a! v7 j, V* S; {1 D# U
char *aPath;' h) b- |% o' K7 ^
( f8 \7 [# X1 O7 o8 z
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
+ ^, b5 k& z* P' I$ r$ b4 l& v4 [( J6 E8.接口指针的命名0 M/ K8 F+ S* q* o5 E" n: M
格式:pi<InterfaceName>On<RootName>
9 }9 a6 ~( u1 k& E5 L指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
! r+ M. U1 S$ |7 ]# x% H, m9 h跟名字是用的三个字母的缩写 如上用Doc代替document
- B2 N5 @, f. T, P8 A$ \) {" D- }! t5 z7 O( F+ r( Z' h7 C

8 i: T6 A* z5 r6 l: T; K& U- E4 h" z7 P- Z. x9 [3 f" D1 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了