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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
1 A* r' \% [8 R  z2 N6 l" `
1.主要规则# f  F$ ]  y2 J
CAT 代表 CATIA   作为前缀(prefix)9 L) B1 m  v$ e. ?: }5 X5 A
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
) P  O% S) r% Y3 _' a全部用英文3 D- o$ R( A# \

; {4 r' s) j& F4 {2.目录实体的命名
) K' A( `& g, D. jCode Framework                     <prefix><FWName>/ w' u; ?* \  z' h
Test Framework                      <prefix><FWName>.tst+ j0 u: |! Y3 `$ G. K/ N8 n
, J1 k, u/ A( z6 d7 I2 \+ p
CAA Frameworks                    CAA<FrameworkName>.edu
6 F& M6 Z+ }1 P" r! { CAA<FrameworkName>Doc.edu
$ M6 u4 h/ ]7 x$ O# q# i5 e CAA<FrameworkName>.tst) ~( W  Y! U$ r
: H- d  O( y- a' t0 m, F# O& c5 W) \8 Z" d
Code Module                        <prefix><FWAlias><ModuleName>.m# R1 {: k% l9 R$ }! q: |8 a
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m8 h  [* o: Y! r4 Z
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
% k( P% G5 z( o& j) B5 v" VCode main module                   <prefix><FWName>.m  Q" L7 m# P9 k$ o0 A, b
- X( H: h* t2 o7 O9 K9 G1 [
Doc Module in education FW         CAA<FWAlias>TechArticles.doc( `, F" G3 D2 e( T* ?3 @
CAA<FWAlias>UseCases.doc
& \/ s' O; i1 b, T  ^6 v CAA<FWAlias>QuickRefs.doc" Y. H& @% p5 ~: e9 L+ _
CAA<FWAlias>Base.doc
7 R' C# k6 d' K$ g8 v1 ?/ o5 c) X5 Q4 T$ ]

& _, a3 U) T) B/ y3.文件实体命名5 m7 u' z6 W) e8 v5 Y
   Simple Classes                      Class: <prefix><FWAlias><ClassName>' Y5 y9 q, t# X9 v9 @+ v3 T" Q- s
File: <prefix><FWAlias><ClassName>.h  R- l! A" _' y( {, T
File: <prefix><FWAlias><ClassName>.cpp9 M# |* |7 C6 p4 V+ N9 g8 S
+ D5 y* i" f) E
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
# g- |% w# ^2 g% ] File: <prefix>E<FWAlias><ClassName>.h% C6 z1 i6 v- @& i3 ~' m
File: <prefix>E<FWAlias><ClassName>.cpp- X2 t+ j" R$ U- j+ j  ^6 D
% V) |, I, ?2 [$ \3 q! X
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
6 \: p; N. l1 {7 j7 T: D File: <prefix>I<FWAlias><InterfaceName>.h
) u9 J* e* k( B- Q4 g' RFile:<prefix>I<FWAlias><InterfaceName>.cpp0 S; K; x) W" c" T  m( H/ ^: n5 k! z
9 s/ m& v. U# t
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
5 L2 l; a9 W5 zFile: <prefix>IA<FWAlias><InterfaceName>.idl
1 }) o% B6 W1 [& }5 c' f$ d& s) V0 a File: <prefix>IA<FWAlias><InterfaceName>.h6 h4 @0 p$ U5 Q3 i
File: <prefix>IA<FWAlias><InterfaceName>.cpp" O3 T- q- c, F. L$ @, A
* |. u: S2 k3 P9 k& J
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers& S- ]# C* c# Q
File: <prefix><FWName>.dic for DS2 T- p( m+ ]" ~% A+ Z* `/ Y

2 G; j, v' ?% z7 P6 QFactory Dictionaries                  File: <prefix><FWName>.fact
1 A. v  l) D) o5 C5 f* Q2 sGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
8 S1 c& T; V- L6 I$ R  E File: <prefix><FWAlias><FunctionName>.h  b7 c- E  P3 y% h/ Y, c0 S
File: <prefix><FWAlias><FunctionName>.cpp
& x& `! k% g) `3 J8 t; l; a/ k+ z! o6 K( H3 u" x) m. S
Enumerated Types                   Type: <prefix><FWAlias><EnumName>3 t3 K" R/ z- i( {5 J7 A$ ]. x
Value: <prefix><FWAlias><EnumItemName>6 z+ t  Q* w1 e
File: <prefix><FWAlias><EnumName>.h, L- ~3 B7 w% r, h+ B! J

% r4 a# f9 H0 K7 [Macros                              Macro: <prefix><FWAlias><MacroName>: s7 a, _( r8 ]5 c/ x' ^! ?
File: <prefix><FWAlias><MacroName>.h
, E4 B, p# {% W1 O8 v* S4 \, N7 P0 J' J5 Q9 R  `) \
Typedef                             Same as substituted name
6 w& u) D& L5 i5 VNLS resources                       File: <prefix><FWAlias>Name.CATNls8 I# X3 I" @' o
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc" `. t, r: F4 n# k

/ T9 O" ?! n1 wFeature catalogs                     File:; J3 `! {+ K$ }0 a1 e3 H
<prefix><FWAlias><CatalogName>.CATFct
; c5 {6 L$ n5 h+ y% v' H5 f& F9 ~for CAA customers! S; u6 r* l0 G" d) a! R3 z
File: <prefix><FWAlias><CatalogName>.feat for DS
1 k' y( `8 n4 B& H
: }& t7 i: j) O- w4.用户界面实体& S% g2 d1 f) f$ j1 ^  W
   Command Header                   <prefix><FWAlias><Name>Hdr
1 `/ k* D7 M9 B+ g5 O. l   Workshop                           <prefix><FWAlias><Name>Wks8 h& u9 Q6 J4 L
   Workbench                         <prefix><FWAlias><Name>Wkb% I  }  ^/ e3 `1 Y( j, G; L9 X
   Toolbar                             <prefix><FWAlias><Name>Tlb/ J+ m9 @' c2 Z# M
   Command Starter                    <prefix><FWAlias><Name>Str
2 n* N* O4 p6 J7 S' H' lSeparator                           <prefix><FWAlias><Name>Sep/ ^" D, r6 N. s7 w
Icon Box                            <prefix><FWAlias><Name>Icb
. l1 u# k. p) j0 u# h9 s& eMenuBar                            <prefix><FWAlias><Name>Mbr
2 b! D7 l/ n9 l0 K/ c# t/ [7 G4 h, oMenu                               <prefix><FWAlias><Name>Mnu
7 P& Z. l% L2 h  \/ eSubMenu                            <prefix><FWAlias><Name>Snu
) z' j: c- ^' N8 r5 N' Q- s1 J4 o* U) A% P7 B2 v; J; o
5.其他实体
7 b/ X, Q$ b8 n) ^  Features and Late Types               <prefix><FWAlias><FeatureName>
0 h- a/ m4 h, Q5 F2 Y  R8 } <prefix><FWAlias><LateTypeName>9 L% p3 m8 j4 @+ @3 {2 n7 ~4 P! G* A
% S8 h- }  v9 e4 x) }, w  E* }. g
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
# S* O; ~, z" U4 E: W$ JData Members                         _<DataName>$ F( G5 Q& q3 ]+ s

2 v. T$ Y4 {. ~; QMethod or Function Arguments         The i prefix for input parameters 7 T! E+ d7 [4 [& D
The o prefix for output parameters & y2 w0 k, a7 y2 T& B" i! A9 \: R. w
The io prefix for input/output parameters * r$ y! d2 t# o7 B1 x9 v

! p' A* y: W! D2 |$ x6.名字的变化  A9 Z- s# R& G# v1 h$ j8 _$ I; d1 a
变量名字要以小写开头   int counter! p1 K; D) I* o! [3 y+ d8 ^
函数名字要以大写开头   void CountItems()3 c( M* R1 c- D
数据成员要以下划线开头 并且不能是public   int _length: U$ d2 q  Z2 C" [; ^
7 v2 u8 O8 @1 a( O  R
8 a4 \5 t2 l& d# q' [0 v
( O$ g. V6 y; k2 Z- C

, M# `; b5 O) ]$ i- F4 K. Y& L7.指针3 C0 B5 `, K6 O" j

  C! ?2 I/ B8 i0 B9 E5 n  _9 ]7 C2 e7 g
4 T  K6 r/ X. N4 Z9 d  `  
0 t# `; V* d9 q3 \5 k$ @Prefix
6 U" k% U$ x4 W1 Y: A  % M& F, T2 o9 o7 V3 R
Means+ Y6 \* Q6 T2 F7 M9 L6 L
  
7 b3 \# }  {' [/ c3 s  r, S( A. U. X, oExample
* D( K1 B, o6 D+ A* N9 S4 w+ U% Q / h& P/ d9 H# y
  9 B  h% d9 h) s9 V1 n
p  f% [" n# A, O
  % u( ]4 w3 u; ~3 G& ^% i
pointer
" c& \9 z5 |; E# p/ v' Q5 E) z  " r7 o3 Z7 r8 T7 M& a  V; Y, R2 J
CATBaseUnknown *pTarget;
" k8 _. w! ?, N. j/ n/ \% ^ 0 y* `; c, F9 Z6 \4 |  ]
  
) {& U  [3 g- a  e# Y& B9 ?1 ?pp" U5 V; @9 |. Q4 R  s
  . }6 |' _7 t2 s
pointer to pointer
- H  S% N2 S0 i& K$ q  ' w$ c% }0 e& a) p; I2 i, ?: m
void **ppTarget;$ r% [( F" H4 v8 O8 p; z

5 m/ n$ ]+ l8 l; h% N  
3 C" P! g4 H/ [5 c9 s2 api
( ?5 B5 a3 v* z: G3 l. I. g  ; g& N# S7 K/ j) c6 u' L& J: `2 k
pointer to interface
( h& ^& L! {. i. d  
  P& K  k, u0 v7 e0 i/ wCATISpecObject *piTargetFeature;8 H3 e# @; X& M( V9 l

8 A3 A2 l, k9 y  
8 a: n+ i+ Z7 Q8 usp! ~: |" Z$ r$ H8 \2 f
  
. t( T% M6 O2 x$ ismart pointer || handler
2 Q* T3 ?1 G) ^6 d* U1 i  " A: w, j) j( g% U
CATISpecObject_var spTargetFeature;# _% t# b5 r5 c3 G$ {
7 b+ ^5 f% D; Q( z
  ) e/ s8 `- ?5 d  [3 w. }! s
a1 T9 N% Q6 f: _; R
  & r  h* \* r' t
array
5 |6 V# w/ U1 [+ M# M  
4 a8 H( y* d: T9 J. A2 P& t, r1 ]char *aPath;, {4 O' d0 y( D1 k: }! O6 V( l% q9 X
  g% f+ T* n, v6 {: ?
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起  S0 [5 B1 R+ v3 }
8.接口指针的命名* {: t7 ^4 m! z
格式:pi<InterfaceName>On<RootName>
! M0 p$ m6 h; E* A! {: j. J指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
# O0 d1 ]1 z6 n, n7 m/ P跟名字是用的三个字母的缩写 如上用Doc代替document
( b2 o6 t3 `4 K! i3 {2 o2 E7 K. W8 r8 k- Q7 w- b0 g
$ U% M8 x) Y8 y. R" t

9 L) Y2 y4 J) V6 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了