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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2017-2-9 19:57:56 | 显示全部楼层 |阅读模式

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

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

x
5 A/ m1 ?3 @# z0 d0 X
1.主要规则
7 s2 g. g8 x2 a( r2 uCAT 代表 CATIA   作为前缀(prefix)
( k% G' w( h6 DFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
& r) S# y+ e) P' O2 D  \. Y全部用英文2 r  u8 _0 j# @! x  Y/ ~) H$ ^' Y, \7 d
( V' Z/ X5 _' T: `; b
2.目录实体的命名
0 i& A2 z  V. V. b/ Y- W, JCode Framework                     <prefix><FWName>
! F+ v2 P# F5 FTest Framework                      <prefix><FWName>.tst
1 J7 R1 U" }4 G2 t: `+ A
* N8 l; j$ b7 X' r( ICAA Frameworks                    CAA<FrameworkName>.edu' q% l% A+ }6 m7 [) [% F+ p
CAA<FrameworkName>Doc.edu  p7 d6 C2 r0 J' B5 n# _4 Z2 q
CAA<FrameworkName>.tst
- Y! m8 Z- L  h: f7 l9 ]& I/ O: x2 n* W$ c) e1 l. w7 J3 F# h9 M
Code Module                        <prefix><FWAlias><ModuleName>.m
  B; [" K! ?# ZCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m, `6 n1 [0 a7 v: M1 `: E
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
) W! i) x2 Z8 X+ j! G% c" e* w/ dCode main module                   <prefix><FWName>.m
$ P% P4 ?! R- R0 T* W
8 [, Q5 X7 N) Y/ X. |Doc Module in education FW         CAA<FWAlias>TechArticles.doc. s' @7 A) m( I6 S2 ^
CAA<FWAlias>UseCases.doc
6 z! q* \8 W; ]6 o2 {) h# F CAA<FWAlias>QuickRefs.doc1 B# h* a' F7 E( {0 I1 l1 t
CAA<FWAlias>Base.doc
( _: w, O4 r6 f9 }" V. W
+ e7 y. B, S4 I: C: {- b- j4 @
. |3 q/ @: b# D) @" z* r3.文件实体命名
8 ~' t* N/ H8 e; b5 W3 s1 p" c   Simple Classes                      Class: <prefix><FWAlias><ClassName>6 X% w5 \; d; z( x
File: <prefix><FWAlias><ClassName>.h
5 s- i8 Z! i# X! c File: <prefix><FWAlias><ClassName>.cpp$ [+ i& p- Q. t, S
, h5 Z" \2 c7 ?; y0 v
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>$ L+ c" ]$ ?0 S. ^3 g- f
File: <prefix>E<FWAlias><ClassName>.h) j+ Y2 H9 a# x  {: u6 G& S
File: <prefix>E<FWAlias><ClassName>.cpp
. g& c8 u. k0 r% Z) W! G4 Q
. c5 A' E% }' J) y) }7 oInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>  ^6 R6 c/ c7 i- U$ ~8 {
File: <prefix>I<FWAlias><InterfaceName>.h0 t/ k% _" u1 `$ A
File:<prefix>I<FWAlias><InterfaceName>.cpp
- _6 T- j2 @% y4 z7 b. _2 E, U. l. r* M, G
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>1 f! u; O4 f; x* X0 F+ }5 L  W0 p
File: <prefix>IA<FWAlias><InterfaceName>.idl  f( m  Z3 N! a+ e' P
File: <prefix>IA<FWAlias><InterfaceName>.h/ [! ~9 i7 Q4 b! h0 C
File: <prefix>IA<FWAlias><InterfaceName>.cpp
' [8 ?2 p. r: n: ~7 x( w, A- J; L6 g9 Y* R3 |
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
2 Q1 k1 z# v  X$ V! z1 ^7 r! AFile: <prefix><FWName>.dic for DS
/ t0 n; r; J! q- W: C
7 H7 {1 s  {. f. @$ [Factory Dictionaries                  File: <prefix><FWName>.fact
. Q; D9 ^+ s0 sGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>. R0 Y: r) P9 n& K6 L. A0 S' m9 G, t
File: <prefix><FWAlias><FunctionName>.h- ]$ k# Z# Y# `  m, ^
File: <prefix><FWAlias><FunctionName>.cpp: p. I8 w2 }0 T$ G7 `
/ Z/ G, @. J. T
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
( x+ T% E5 s3 X/ X6 w  S Value: <prefix><FWAlias><EnumItemName>/ g, w, B1 [* J: T
File: <prefix><FWAlias><EnumName>.h
' ~! V( \+ O! X
: P! Q% W( _. z# C  I& `) [+ Q5 e$ jMacros                              Macro: <prefix><FWAlias><MacroName>" v/ T; j& M. A# r6 C- [& o
File: <prefix><FWAlias><MacroName>.h; }% `- [2 _- {6 ]  n( s
# K+ ?( y8 V4 p! T  M% d$ l, ~
Typedef                             Same as substituted name
4 z3 R; [4 l  q) ~6 g$ J: VNLS resources                       File: <prefix><FWAlias>Name.CATNls
$ k3 X6 D. {/ t- F7 s. tResource catalogs                   File: <prefix><FWAlias>Name.CATRsc
9 s8 X0 x2 Z  P& M1 O7 E1 Z6 w% U; \; m: d. y5 B* \
Feature catalogs                     File:1 x1 ^& O3 G2 o; u1 r
<prefix><FWAlias><CatalogName>.CATFct % F! P3 l9 T  v( I
for CAA customers
$ L, `+ T9 \$ ?File: <prefix><FWAlias><CatalogName>.feat for DS- [$ O6 X; x% e4 x7 {
6 p9 i1 o; d  o# x) h, ~: |2 l2 @
4.用户界面实体
: L; Q/ x% N% u+ l' L9 }, G$ Z) t* ~   Command Header                   <prefix><FWAlias><Name>Hdr1 z% U/ X- N4 O- z: I- {) H
   Workshop                           <prefix><FWAlias><Name>Wks
+ R& N; ^! }" p, O, f   Workbench                         <prefix><FWAlias><Name>Wkb
# }0 {; a, n0 ?   Toolbar                             <prefix><FWAlias><Name>Tlb
0 Q$ p! P' [. X! W   Command Starter                    <prefix><FWAlias><Name>Str3 V9 x1 O3 M, i( z& }# p
Separator                           <prefix><FWAlias><Name>Sep
  Q% f! }! z4 nIcon Box                            <prefix><FWAlias><Name>Icb7 m  ?9 M" B9 a* G. T3 K
MenuBar                            <prefix><FWAlias><Name>Mbr
/ F/ Y0 ]5 p; ^& B# s! L0 OMenu                               <prefix><FWAlias><Name>Mnu; J5 _, J4 t6 P! e
SubMenu                            <prefix><FWAlias><Name>Snu+ s' F3 ?7 t- p$ V2 S' u( ]4 E
. ?$ o) M# z9 F. ?& k
5.其他实体
# z! F/ H# }' M: B4 \( N$ Z  Features and Late Types               <prefix><FWAlias><FeatureName>0 U% e7 _0 W/ F9 t
<prefix><FWAlias><LateTypeName>
( d2 N) R7 X, |; s
$ n( X; B) ]& U1 QApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
. F& l3 `+ ^1 zData Members                         _<DataName>6 a3 L5 k+ u" r$ f1 R+ ~" d

, m6 r0 r! G; ?$ Q; |- Q3 }1 KMethod or Function Arguments         The i prefix for input parameters
6 w; Z0 \6 @1 d) H; Z/ f4 {The o prefix for output parameters ! x$ s* c3 s, F* B7 ^6 O5 Q
The io prefix for input/output parameters ! g" v: N8 A$ E+ x( r

; D8 Z* `& M* |9 Y, w6.名字的变化5 i1 k, r- U& }/ B6 y% j3 P
变量名字要以小写开头   int counter
; u! ~7 P7 g  l+ A+ o6 D函数名字要以大写开头   void CountItems()5 O; i: A3 `7 l0 P3 B- B* W
数据成员要以下划线开头 并且不能是public   int _length
: x- T9 H1 G5 i& w# A/ F$ Z9 V  s# `! _7 r' v

. m! l) y: u  [; K) J- @
5 E9 e8 X8 \% a9 s9 e9 p$ I' I
9 i2 H" z, b$ [, F8 G  D4 G7.指针+ m7 g6 K) \" a6 b: p
4 y3 O# |+ ~' v! w! K

; z, _" S' O" z0 I( R  . h; F. C% t1 `- C. z5 H
Prefix
. j7 p* y, J1 W; O  0 F1 C: B- c; D7 d5 M; R
Means
8 r: g  Q0 z' a, L0 r- P8 s9 f  
3 ?$ N* [0 ]4 C6 y; ]* iExample
- X- q8 C0 y3 h- `1 s
: e6 H7 G/ }  B7 [' Z  
! {( k/ C* V$ j' X' l. Ap
! @2 I) `/ W" _4 U$ v  * z  p9 Y4 I: q% M3 ~* b
pointer6 U/ D2 X9 M& Q
  
6 W, n! C/ H' s1 H  o$ rCATBaseUnknown *pTarget;! p6 X7 u) Q5 x& z7 g$ h8 N

( ~8 T) h: U9 M9 p4 a, V9 }5 w  & Y/ n3 o9 D6 }
pp
2 G8 T. H$ @* f  2 Q. c! _2 v: L" e, i( y& t
pointer to pointer
7 _9 V) \* P( C( o  " B. b9 `7 s1 I* ]  }& w) S
void **ppTarget;2 a) X: s( o; Q2 W1 l) w% w$ o; ?5 q0 ]

0 |3 u8 t; Q: }6 ^  _1 v$ Z: K& h  ( x% H2 B9 ^$ |+ {# x
pi. f# h7 g8 @, y
  
$ p3 k/ ^" @$ k5 spointer to interface; W' g' p' z5 r( M
  * f$ ^0 P3 y5 h2 A# R
CATISpecObject *piTargetFeature;" S& T; x0 \+ |; D. ~
3 X4 H, b6 r! E% L: V
  
, L3 b2 n6 J& tsp! H+ X7 @/ L0 O/ G0 R
  ) i6 ]$ n3 N+ H" O
smart pointer || handler
( B/ x; m/ \8 w) i: K0 k! M- j4 f2 Q% f  , Q: l6 N, Q$ \0 g! g
CATISpecObject_var spTargetFeature;
* w4 j+ k' ?  {7 S+ Q
( o: T* D2 H  Y2 A- a7 I  ! C6 v) t' S2 ^* d* H3 _7 m
a
! X9 }1 {& \! O1 D/ Z/ b  
6 D, o- [9 g* w5 p8 c) yarray
! ?: I7 t: F' k* y, G2 Q  
  \0 P7 l6 m1 P+ k+ Dchar *aPath;- L8 t0 b2 ^% t' ?$ i! M# o; D" T
8 L; `5 W5 V; L: _& L3 M
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
9 H. x% s, `  r& U. @( D8.接口指针的命名
& K0 t- k& _4 U/ f格式:pi<InterfaceName>On<RootName>
+ b- W/ q- c/ O! R2 _4 G指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的9 k1 i- _: e' g
跟名字是用的三个字母的缩写 如上用Doc代替document
; Y% W  a. b; u$ d) \0 i$ r" V1 n) `% Y/ `- M

% P/ _9 u. {) |8 C( @6 O! H" X+ E+ m; ]6 f1 K$ N4 K3 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了