PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

2 s9 U' @( E4 A2 ~* ]( m% p' C8 }1.主要规则  n  s( `# }9 S( B0 e  A9 d8 M
CAT 代表 CATIA   作为前缀(prefix)
  m6 n. |. X# @: M7 W; cFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
* R2 E  ?* V; ?5 e" f全部用英文
4 r( n4 {7 w7 n' _- a' C- g
- I6 K' S1 K$ A5 j% E2.目录实体的命名2 ~: ^7 {# |# K: ^/ g
Code Framework                     <prefix><FWName>4 e8 Z# R6 M8 Q3 z7 M
Test Framework                      <prefix><FWName>.tst0 v! X- j7 N- j
: M( r" B# t; d- N4 c7 r$ Q6 _
CAA Frameworks                    CAA<FrameworkName>.edu' {" a- ^% t, H6 ?7 _5 S& g
CAA<FrameworkName>Doc.edu
- {7 H0 U1 x+ _" b5 F+ e5 y2 n CAA<FrameworkName>.tst
* T9 V+ v* j- o& ^" j# j
  }: {/ j" R( X4 R" M; r% zCode Module                        <prefix><FWAlias><ModuleName>.m
3 C1 h" }) L4 G( q& P& d0 P5 UCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m' y; u8 F$ p! e
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
9 j( }) S, Q0 h! ?* V9 mCode main module                   <prefix><FWName>.m
% M: G* M* \  H1 m. p
; V9 x. G, W3 ?9 T, `Doc Module in education FW         CAA<FWAlias>TechArticles.doc' R7 v. v8 P+ G2 [$ j8 f
CAA<FWAlias>UseCases.doc( R0 m' c8 |! A# r; D
CAA<FWAlias>QuickRefs.doc: C& S' Q! c4 U% J# P% K
CAA<FWAlias>Base.doc( O) {1 Y/ ]0 d! w
$ k  d( G0 J& p- u. _

1 u$ D+ S4 l: h" A! F+ q5 M# S3.文件实体命名4 U/ y, G) ?! v( w/ A( k
   Simple Classes                      Class: <prefix><FWAlias><ClassName>) q- ?. `& @/ T9 m
File: <prefix><FWAlias><ClassName>.h
0 X, H0 v" F3 d5 i( R File: <prefix><FWAlias><ClassName>.cpp8 k' K' f/ e- X( f$ ~1 z
  e9 Q/ [3 p% {% P- o
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
9 ?% G1 l! e' l* x File: <prefix>E<FWAlias><ClassName>.h
9 u3 h. a4 K$ G8 k) r% T) N9 { File: <prefix>E<FWAlias><ClassName>.cpp
3 \; O2 ]) q2 _4 q
  A5 P1 j: y7 G% \Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>- F$ @5 d, A! F- S+ s' j* E
File: <prefix>I<FWAlias><InterfaceName>.h
  [( z4 K+ z2 Q  _File:<prefix>I<FWAlias><InterfaceName>.cpp
" d8 G' A% \& Z# c* }4 Y! [, E3 `( c& ~, \; ]" R9 F7 J# b
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
* ?* ]8 x6 L( O' RFile: <prefix>IA<FWAlias><InterfaceName>.idl& {, b; T- y8 {1 T  |" L
File: <prefix>IA<FWAlias><InterfaceName>.h: n- W( `6 R' O( I& z1 O
File: <prefix>IA<FWAlias><InterfaceName>.cpp& _/ ]. S$ b8 G4 N
0 A1 Q& e. B3 @! d: d
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
8 x0 S% ?& r) g& B* w; H2 AFile: <prefix><FWName>.dic for DS% u. I2 h& G9 U+ I+ z7 l

# }$ v4 W' ]5 ?3 \  tFactory Dictionaries                  File: <prefix><FWName>.fact
/ @7 J# s! g9 n/ N( _* UGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
2 H1 _# W! @  a/ g/ q. u8 @9 I2 ] File: <prefix><FWAlias><FunctionName>.h
1 Y- o7 V7 {2 x* ? File: <prefix><FWAlias><FunctionName>.cpp
" Y* {3 Q8 o9 k$ w% h" ?$ g# p" d" Z  T
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
; O' c' j# w( t, w Value: <prefix><FWAlias><EnumItemName>
* U4 {* M( C; e3 N# F# \, b0 c File: <prefix><FWAlias><EnumName>.h
8 j+ _. @4 @- d5 v
, h3 O* K- o" J* x( eMacros                              Macro: <prefix><FWAlias><MacroName>/ T% g$ e5 K/ C% z3 f( L. ]5 {7 n9 x7 e
File: <prefix><FWAlias><MacroName>.h8 g- Y1 s9 x0 _: B3 Z( K

- c0 i, I+ R( Q( H6 A6 C) n: Q- gTypedef                             Same as substituted name+ W; H& G  }* W+ X8 x7 w9 w7 e$ P
NLS resources                       File: <prefix><FWAlias>Name.CATNls% t7 C3 ?* f2 {$ ?! d3 e8 ?6 p
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc2 T( W3 a: K/ c4 e2 ]# F

6 p# z. C# l" m; g  N7 cFeature catalogs                     File:
2 C2 @4 ~0 H8 u" r) W7 }% ?* i! b <prefix><FWAlias><CatalogName>.CATFct
4 [7 [+ Y; {# a6 L1 vfor CAA customers
- T% I- [9 s( k+ a& M. a  \4 h  XFile: <prefix><FWAlias><CatalogName>.feat for DS' A2 k* w; l2 W( F4 u9 ?, h
; O: |# o  a9 m% ?! ]
4.用户界面实体
2 Q% u7 ?& i2 v- `8 Q, K   Command Header                   <prefix><FWAlias><Name>Hdr
# q4 J! D6 i5 Y% @1 ^   Workshop                           <prefix><FWAlias><Name>Wks; _1 p3 \) l$ _( Q  m! @
   Workbench                         <prefix><FWAlias><Name>Wkb
6 a8 `" c* S$ C3 y$ |$ V4 ~6 P   Toolbar                             <prefix><FWAlias><Name>Tlb* i/ Q- u4 m5 Y. E& Z* [
   Command Starter                    <prefix><FWAlias><Name>Str$ C6 N2 b$ z, o3 U9 _& L4 p
Separator                           <prefix><FWAlias><Name>Sep
4 \* [; S% @( C+ ^) F% z( ZIcon Box                            <prefix><FWAlias><Name>Icb" U% I; u4 t- V8 Q/ F" P: h- E
MenuBar                            <prefix><FWAlias><Name>Mbr, i+ L6 @% r1 Z: s
Menu                               <prefix><FWAlias><Name>Mnu
4 d5 z5 X* }- }& ~' J4 M# T2 DSubMenu                            <prefix><FWAlias><Name>Snu
* y/ f, y* |& f1 r- ?9 T
+ a9 m5 R, D9 J" A5.其他实体
" X' N, W. Z) k0 P! X4 {  N7 X  Features and Late Types               <prefix><FWAlias><FeatureName>! s/ [, t. b) X# M1 a
<prefix><FWAlias><LateTypeName>4 {3 Z+ I  R  H: m! R  s

  Z- S" W" P2 `7 P2 nApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>  r! W- ~  N9 P/ n" G; y6 k
Data Members                         _<DataName>" B6 r( f. H+ e; x$ f

' W' e$ J; Q3 l' ?- a+ FMethod or Function Arguments         The i prefix for input parameters , [  ?- @- H( Y& s
The o prefix for output parameters
- \4 Q; |4 k8 f8 B: i% o  k- @The io prefix for input/output parameters
5 f" E8 P8 b8 y% s: ^6 b
/ ]' ~* w( j# |6.名字的变化, y& c! ~7 ?) B# |# [
变量名字要以小写开头   int counter7 X5 l2 L, Q; n/ H, H
函数名字要以大写开头   void CountItems(); g/ |, J; Q: A1 P* R- V" \
数据成员要以下划线开头 并且不能是public   int _length6 Y5 T" n4 I5 R* s

- v, K) g4 G* s$ d: ]1 g
' O) g6 L4 v7 p: j, T
# F6 B" x/ \3 e; @) Y
$ P6 W% b# p7 O6 B* z* N6 b7.指针: A; |8 V7 U+ w- m
' v; c7 @& J: n, s

9 }' `4 _7 |+ Q- ?+ e6 a  
6 e: H% J' W% M1 s3 ?. ]& qPrefix* ~' Y2 a! A' N1 J
  $ o% m  C' t  k# O7 ?
Means# q5 x- l+ s! Z. {6 B- W' [
  # s) B; e! k  S* G
Example& f, K, L$ M7 ]4 j: Y# H
" H% l* G# a, [! e0 O
  
# N+ C1 Q3 N5 E9 F3 e, W' p3 K; \p
' J0 k4 ~* u; m0 `9 A0 k  
" X& h! |; P# T: n4 G( Jpointer6 `! a: A0 n6 x+ ~
  
" ^" p4 _6 s/ g2 R9 t. T' p8 ^/ MCATBaseUnknown *pTarget;
2 d. {# l2 B( m, s& I/ F) ] 1 f$ U8 a8 U% ^. Q/ u
  
) L5 c$ E) h0 b- n* |pp% l3 E2 |, a5 g0 D7 d3 e
  
& N- \- \( N3 J. u$ S5 X$ e# _pointer to pointer: J( Y* L4 B% {4 t
    \/ w% O7 C  F' P
void **ppTarget;0 W6 ~' H& O; d& n% Z) [

# g0 s; _; E: q9 r' ^  6 }' a, U! e% \8 C! N) l) |1 x
pi; D8 p! I" r, ]
  
2 T# z. B  g2 p% n; T0 {5 bpointer to interface
# H7 `  g9 e( D' r  
8 i0 }9 r' }  L( e4 j. t* HCATISpecObject *piTargetFeature;
$ u' F6 n' F0 p0 `" W8 C* a ( w1 N5 q/ y& B, a
  8 ~# ~5 `  b9 n) _) t! k
sp
) R! R1 @: L% t9 ~  X: @  
& B0 F9 J' H( J" ]2 Zsmart pointer || handler
# Q' F, Y8 C  ]  # J* y# S; o  z7 S. d% q
CATISpecObject_var spTargetFeature;
1 p: g$ R' c$ C
5 _3 o  J6 A  e! v  
& }! h; S3 }8 A% X, y$ i/ `3 ^# Ia# s) p1 U' j+ E4 F1 g5 ?7 X
  
$ o* o1 U1 d% M  {) Uarray3 h, T; c) [/ p  b' |
  " W# U" A9 C+ T: Q% q
char *aPath;
  B7 M& N. L- I# {0 q% K6 @( D8 Z % V1 j* w$ W$ e4 H; M' b
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
2 W: B7 o, Q8 ^% w8.接口指针的命名
; a  [7 a. d) B: b/ ^' ]+ d* @6 n格式:pi<InterfaceName>On<RootName>
; k. ]6 m5 G4 q: \4 r% a指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
. T( w/ g+ h5 @; Q跟名字是用的三个字母的缩写 如上用Doc代替document
8 e# @. {* x/ }$ q: N. A  m
; W+ n' b4 ]; e& \
1 x+ g7 V& h  j# w2 i
# Q6 J6 B9 |( \* r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了