PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

, \" p4 G+ k8 A0 {( N" u3 y1.主要规则1 R7 s% x: |8 O7 f" ^
CAT 代表 CATIA   作为前缀(prefix)5 k$ \( q  E! K( g6 o
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   1 f( H5 s! p3 k5 M$ u' ?$ `! h4 y
全部用英文. e- c7 {3 \7 ?  J, l
! g% e( N! C6 q2 G
2.目录实体的命名1 i' {( s7 a. N: q( D0 V0 g5 f% A: a
Code Framework                     <prefix><FWName>) g( ]; p  Y% H4 ~" l: s) B
Test Framework                      <prefix><FWName>.tst
$ g  E( T% p: q3 {4 T  q4 r) T+ @/ y1 K% r2 r/ g( Z
CAA Frameworks                    CAA<FrameworkName>.edu/ h' m8 `% i) O
CAA<FrameworkName>Doc.edu7 e, T4 \6 `2 _9 ]) e" m0 f
CAA<FrameworkName>.tst
" M: M' e' h3 n$ _' [
" ?: ?0 D" {5 c5 l4 t% t& |: QCode Module                        <prefix><FWAlias><ModuleName>.m4 \' d5 a6 L/ a5 _2 P
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m* k9 v  A/ P7 C
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m& K: q- N+ `! \, z5 z. M) ?
Code main module                   <prefix><FWName>.m* D  C6 d6 S% h: s& f* C
2 h7 i, g( {2 g/ Y
Doc Module in education FW         CAA<FWAlias>TechArticles.doc- g, d3 o+ e1 ^0 p# K* w
CAA<FWAlias>UseCases.doc
' p' j5 Y- O! W! i+ w, k: u( Z CAA<FWAlias>QuickRefs.doc" s4 M/ B6 a6 U
CAA<FWAlias>Base.doc
9 j0 j) f- r# Y& g/ j/ `4 t. i- X1 _8 H& d

$ t! o" N7 p' |2 O9 G2 z3.文件实体命名3 A: I7 n1 D* K8 @" J- J4 g
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
0 `. ]/ q- ?. U9 z( \ File: <prefix><FWAlias><ClassName>.h# x, `3 K' v- V
File: <prefix><FWAlias><ClassName>.cpp2 e, x2 }+ d% n# n8 w6 L
0 m- X. O: {* ^
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
; G  U+ i* o, K% t$ x File: <prefix>E<FWAlias><ClassName>.h# p2 h5 C- N" K" v
File: <prefix>E<FWAlias><ClassName>.cpp# P$ j1 H5 s# q$ Y9 w" p) ^

1 _' m3 p/ K6 g0 a; lInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
( O/ M3 ?% H2 {3 M* k' I. H/ @ File: <prefix>I<FWAlias><InterfaceName>.h& g( B6 S1 I/ [) A- R
File:<prefix>I<FWAlias><InterfaceName>.cpp
, }- U! o9 J7 M, x
3 S  d: O' p  b" Q% HAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
1 `. S, C. Z* R! \$ H! ^+ y8 tFile: <prefix>IA<FWAlias><InterfaceName>.idl; O1 r0 B% u; p
File: <prefix>IA<FWAlias><InterfaceName>.h
; [& y1 J5 g) P File: <prefix>IA<FWAlias><InterfaceName>.cpp
) c, o& e1 S( l2 z& q; Q9 u, X" O* l: a6 o; `; N  G
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers$ m$ P5 h) m, P' X1 |# O5 r; O
File: <prefix><FWName>.dic for DS. F; M$ I3 g, `' k  Q" f

" n. A. z( I3 F: a6 `+ k7 v2 o0 O' O2 IFactory Dictionaries                  File: <prefix><FWName>.fact- R7 |' O: ]* V3 H7 E# E
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
. N8 Q- }; u* E* @; i File: <prefix><FWAlias><FunctionName>.h  Q1 c3 a% a+ s4 @' y* r6 \1 O
File: <prefix><FWAlias><FunctionName>.cpp7 W+ d9 w. Y+ m. I, k/ r& M& I
7 o4 k. q9 b2 }% H
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
& ^8 m* L8 L8 l( ?$ }7 G2 u2 A+ H) B Value: <prefix><FWAlias><EnumItemName># K. @, G/ z. [( W: a& |3 O
File: <prefix><FWAlias><EnumName>.h
' V6 h- c8 n2 p
3 u- |9 w. c# S! i% m  k* OMacros                              Macro: <prefix><FWAlias><MacroName>9 g. q+ ?% l& ?" q' w3 _
File: <prefix><FWAlias><MacroName>.h
' p7 K, P2 i/ I. E  C: k& N1 T( Z; h% o" b6 U) q
Typedef                             Same as substituted name" C/ x& e: R+ Y  v9 q
NLS resources                       File: <prefix><FWAlias>Name.CATNls( {2 F% [/ D6 |1 v/ f4 P
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
# i: d# X: k. q" F& c. [9 ^
7 ^. s/ \5 N  u2 f% D6 {0 F0 C$ E1 fFeature catalogs                     File:
! O; R$ u1 C7 D6 g, P& |7 N0 Q( E <prefix><FWAlias><CatalogName>.CATFct
& G8 ~  O. R: Ifor CAA customers% D2 ?; E+ l7 C' \% q5 b
File: <prefix><FWAlias><CatalogName>.feat for DS
0 d, z! k$ Z, l. e. \: |6 ]/ |) ?
) d+ T6 [: O1 q; ]5 N4.用户界面实体
5 _& j2 B! i5 ]9 Q! L   Command Header                   <prefix><FWAlias><Name>Hdr
0 f, R* K9 f, J3 O8 B2 z# ]   Workshop                           <prefix><FWAlias><Name>Wks
' @0 g9 |) j0 c$ j   Workbench                         <prefix><FWAlias><Name>Wkb
8 F5 j1 C' B( y   Toolbar                             <prefix><FWAlias><Name>Tlb1 @) c5 P! W) Z4 d+ l
   Command Starter                    <prefix><FWAlias><Name>Str
+ D8 q1 E$ z" e" OSeparator                           <prefix><FWAlias><Name>Sep
# U& W5 L, q. x6 T. aIcon Box                            <prefix><FWAlias><Name>Icb4 t0 X/ [, }; N7 ~/ f  N
MenuBar                            <prefix><FWAlias><Name>Mbr
- o8 V9 J( m7 I, M7 l# ]$ IMenu                               <prefix><FWAlias><Name>Mnu
! i: q7 {% R8 {1 H: t' j$ CSubMenu                            <prefix><FWAlias><Name>Snu9 ~! C! [5 c: E# L

( I# x2 z, T% j) ?) v  J$ g+ h5.其他实体
3 K' K* a3 n( h: j  Features and Late Types               <prefix><FWAlias><FeatureName>% y/ \: E: }/ u3 v
<prefix><FWAlias><LateTypeName>  n4 B+ ?7 t/ Z5 j2 r0 p

0 y8 z* c9 _8 o/ _1 q( ?8 }" @Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>6 ^4 M1 I1 Y4 W, F
Data Members                         _<DataName>
$ a0 V2 s4 o% c7 o# A' d2 G- S0 J
Method or Function Arguments         The i prefix for input parameters 9 e1 D' o# `! Q2 ?
The o prefix for output parameters
8 C2 g7 k9 T/ J2 I9 DThe io prefix for input/output parameters
! @, y* H7 L! y9 }0 f1 a8 @
5 f+ B5 [* \6 B& F# M' s  Y6.名字的变化. a2 `( {4 `( e; q/ p+ Z; x
变量名字要以小写开头   int counter
* V! S9 I$ p/ Y函数名字要以大写开头   void CountItems()
; {5 C9 ?( p5 G+ `9 S$ r3 W1 Y数据成员要以下划线开头 并且不能是public   int _length5 t# c# Y+ c$ X" ?1 d0 Q
$ T' s/ x, m" \/ q" ]4 ?

$ k: w0 j5 b- Y3 S+ {- a% ~3 }

2 m! G* C8 H& Y8 s# j3 ?7.指针
4 ^+ z  k- M' J# [# d5 s- H# w5 r. l! L6 _& s

7 s9 U% e8 e% l) d; s# T7 l  
+ O" F6 y: E0 v- j! GPrefix
6 h8 q" E: C$ u! ~4 ^! O  
+ N7 Y' G- e  p5 s# P3 pMeans* ?% R  Y" t" b6 |1 B6 J  T. ~
  
' r2 D6 U* F8 G8 l1 \Example
* Q0 W( [+ z: K+ }* h$ e# Q. b  C6 T ' S: c* C' C5 ~) H, [( F# \
  4 k. I5 I3 k, r) E9 O
p
& W; Y/ |6 V5 B- T3 Z% a0 A/ z" D  # d' }3 |* {( x, N( h
pointer
( Z# x1 c5 ?! l  
0 ?4 I% V" J+ |' E: `; JCATBaseUnknown *pTarget;8 s, k0 ~- Q" Q4 Z( R

% d: w! M5 Y/ g$ H" N5 i  
. Y0 v0 I0 r; f( a, opp- l  J( m- W5 e1 f1 N3 C
  
; H5 ?6 {$ d+ q$ l& B9 D/ C) Cpointer to pointer
0 ~) G% |/ R$ f  ) S/ L2 r3 V' h/ z% |, n) I
void **ppTarget;- V' \, l" [% ?( v( o
& X! v5 O. _  L% {1 g: L
  % r: @/ H( N" g7 J
pi
* ?1 C( e0 k1 J& J8 C% j' B0 h1 d  ) @$ Z  o" U4 D( e' n9 `1 E
pointer to interface
. I0 r' o0 u' |6 g# T$ L# \# R& A( W: r  
( i. F0 q- V" ], G) rCATISpecObject *piTargetFeature;
4 T( l( c6 [* R/ F7 [- t' t 4 @! r! j8 n, @  j
  # ~$ F/ o: Z1 L( Z+ B1 p* H) s
sp4 |; N2 [# J- p1 z, A
  
1 v& P, e( U1 K5 m- b% Y5 L* rsmart pointer || handler/ b/ ^# {& Q' a6 z, U
  4 u: l- p8 h+ C9 o7 i. u2 ?0 n% e* |
CATISpecObject_var spTargetFeature;
. j/ x' p+ U( D1 | " J% J/ e2 r0 G' B; m6 k
  
, I. ~; I4 H8 }/ h1 @a
, s7 L1 `! V2 W1 v* ^  : D0 N/ y- ]- k- H* F3 r3 p
array! ~8 X9 d5 |4 ~: R4 d
  
" g% V) I, r3 l" x0 T! D5 dchar *aPath;
- q, o) l1 u3 F; g
) F) R; f' l# B0 G* p* k4 N6 \! ~CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
9 V) q' r! L  g# u% D8.接口指针的命名
7 Y" L# S  b2 j0 `) v: W格式:pi<InterfaceName>On<RootName>6 _  I) a: R+ U+ D9 ^( g
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
$ B" F: B1 e& l: z  P5 @, K跟名字是用的三个字母的缩写 如上用Doc代替document0 V; v) I* J7 A

5 k0 v% h" |) \; M, k7 t3 S
4 p+ H+ B" L  |' a% \' S( P
3 L% t, p+ Y; g) i( T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了