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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
# \) H/ o, g: l& s8 i: R
1.主要规则
* `! T: q% }8 l3 O, yCAT 代表 CATIA   作为前缀(prefix)
6 D9 h( s% h' r' w1 oFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   ( B; N& Y' X% q, l: x; c( D
全部用英文( C3 M# J9 r" q) y; `- _% y. Q
2 e9 Q  M# H5 w( @' |9 d/ h
2.目录实体的命名: [+ X5 D- `2 o/ r6 X
Code Framework                     <prefix><FWName>
5 a$ {4 G, X$ W2 tTest Framework                      <prefix><FWName>.tst* d, t. w& W" T1 y& v! {5 B

5 _$ Z. v5 ]# b1 [+ F3 B* QCAA Frameworks                    CAA<FrameworkName>.edu6 C( ~5 E; [6 E/ R0 o5 n  b
CAA<FrameworkName>Doc.edu
6 R* e+ O( U9 @& o: d CAA<FrameworkName>.tst  w4 {6 e4 @! l
6 f4 J) O4 G3 N# }
Code Module                        <prefix><FWAlias><ModuleName>.m
5 j3 `% Y. X% x# Y% `$ _Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
. }) K$ c6 k0 j6 {9 F" e) _Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m( ^: ^3 e' x( Q, @$ f4 V" I+ i
Code main module                   <prefix><FWName>.m% d8 u+ D2 i' A
  X& f" h. N! D9 e4 X6 E
Doc Module in education FW         CAA<FWAlias>TechArticles.doc
: Z. T9 f! T% u% _: w+ W CAA<FWAlias>UseCases.doc
0 s* J- N  b' z3 E2 F% @ CAA<FWAlias>QuickRefs.doc2 b. f2 [, S  }! |( K
CAA<FWAlias>Base.doc
9 B3 @' C. n0 \, `
  R9 u% ~" B% P% x1 K1 R
5 \( f, ^4 L+ l" E& ~' F4 J' E3.文件实体命名
7 t: Z3 P. e: y5 B' B   Simple Classes                      Class: <prefix><FWAlias><ClassName>* Y0 ~/ F0 I5 Z- Y
File: <prefix><FWAlias><ClassName>.h7 n1 ^4 m0 g6 G+ {0 ]' i4 {% |
File: <prefix><FWAlias><ClassName>.cpp
% \- ^+ L; s4 y+ R& T. B# c8 y
* v' w0 Z- a5 A* AExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
; b  o9 s  T* O$ ?" J5 Q File: <prefix>E<FWAlias><ClassName>.h' K1 v! h3 Y* I/ f
File: <prefix>E<FWAlias><ClassName>.cpp, ~5 E5 D2 L% t# h4 w; h
' Q- G0 i% |! h, R, }
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>' W9 r( o4 u' L1 q; X, z# u' I( Y! D
File: <prefix>I<FWAlias><InterfaceName>.h
% a; r( k+ G6 h' L. ]% m2 Q% `File:<prefix>I<FWAlias><InterfaceName>.cpp
0 ~& S% n* |$ V7 F+ y1 T6 K8 O; d' |' E0 I; @5 u
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
6 @0 ^; U! }0 q! ZFile: <prefix>IA<FWAlias><InterfaceName>.idl, \6 Y# c+ d5 X, l; F& o
File: <prefix>IA<FWAlias><InterfaceName>.h
& ~: e; x- g4 I2 ^ File: <prefix>IA<FWAlias><InterfaceName>.cpp
+ @+ ?3 z6 {- J/ o) \# B1 k% P; S, G" l/ }# H5 a% ?5 x, w
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers; E. K7 w. \8 S" ?, O
File: <prefix><FWName>.dic for DS
3 D, q" X" V  k1 Y0 R2 i# `' ]1 j1 |9 |0 k6 C
Factory Dictionaries                  File: <prefix><FWName>.fact
  r: X! a  g+ V4 A) iGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
- O, Z- B' k1 U9 c' k% D" _ File: <prefix><FWAlias><FunctionName>.h
' s# e+ @% T/ X7 i4 V7 c, E File: <prefix><FWAlias><FunctionName>.cpp0 F  R! Y) p4 S

+ J+ _* B, S1 J) w" Q' g2 s; tEnumerated Types                   Type: <prefix><FWAlias><EnumName>
' }8 |, A8 C2 ]- `8 g' S Value: <prefix><FWAlias><EnumItemName>. }; n+ g" X; N/ B3 g
File: <prefix><FWAlias><EnumName>.h, C3 Q. G- S, S- I  q5 T6 T+ g- g
# [6 s6 @) N% `3 K2 |) F5 l
Macros                              Macro: <prefix><FWAlias><MacroName>
& U' C; L0 w/ N" ?( r. A File: <prefix><FWAlias><MacroName>.h
0 H! S/ F) O8 a/ g9 b4 v) G$ G# q* I6 F3 b8 a! w1 {- Z- ?
Typedef                             Same as substituted name! w2 L4 v& k' d/ ~% H
NLS resources                       File: <prefix><FWAlias>Name.CATNls- z3 n+ \) @/ e4 }" \
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc) v+ i, _6 f3 E8 }8 _

& n9 J* H9 B4 q7 {2 D' o; d% R% G3 dFeature catalogs                     File:
! S- B' b- h9 v <prefix><FWAlias><CatalogName>.CATFct
+ c& @, ]% }0 r& x& Ofor CAA customers0 m. q' N9 R9 k0 f
File: <prefix><FWAlias><CatalogName>.feat for DS
, X- P. u( H  Z# w9 D3 z) y) Y0 j% p7 |6 P0 x
4.用户界面实体( n8 k: X  K- A# P% E7 Z) R
   Command Header                   <prefix><FWAlias><Name>Hdr
1 l/ [! q, c3 H$ _   Workshop                           <prefix><FWAlias><Name>Wks
; W' [5 l" \: K. e& P8 K   Workbench                         <prefix><FWAlias><Name>Wkb7 }: M: a: H( |7 t: X! w) C2 s
   Toolbar                             <prefix><FWAlias><Name>Tlb; B+ P; y$ W  W8 k: B3 X  t
   Command Starter                    <prefix><FWAlias><Name>Str) V+ g- I/ g# k2 k$ p( `
Separator                           <prefix><FWAlias><Name>Sep* N) v( p; `/ N2 b- g6 X$ g! A. |
Icon Box                            <prefix><FWAlias><Name>Icb
# l- f2 f! q9 h) b9 n0 A( O0 VMenuBar                            <prefix><FWAlias><Name>Mbr4 u5 @0 N5 ]$ Q; r
Menu                               <prefix><FWAlias><Name>Mnu3 w; k+ X+ ~; V# J: B
SubMenu                            <prefix><FWAlias><Name>Snu; F' w8 v, e1 U) j
* o# {/ J  R6 |! Y) R! K
5.其他实体4 d5 @  P; Q" o  P5 r0 D9 p
  Features and Late Types               <prefix><FWAlias><FeatureName>
2 T; ^# f) l" I5 ]+ M# [ <prefix><FWAlias><LateTypeName>
  j1 D6 t7 D8 c7 s* d* X, r8 }' E
! s- K( Z+ c. g( X) T) pApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>- H- e. C: z0 h1 d
Data Members                         _<DataName>1 q4 f  z: S" d4 w0 n0 w$ N2 F
! X  q, U, M/ {% c9 o- k
Method or Function Arguments         The i prefix for input parameters
/ A; @$ M, a3 Y# LThe o prefix for output parameters 4 J: \/ f: h" }3 @  w9 b! P* q( B
The io prefix for input/output parameters
" }% x& i) @. h9 M9 x. @" v/ w; u! I( g; k* |
6.名字的变化
( n0 J/ N! |, `- [8 H变量名字要以小写开头   int counter$ c, P8 t3 P; U5 x8 k
函数名字要以大写开头   void CountItems()/ f$ I1 U8 Q0 N
数据成员要以下划线开头 并且不能是public   int _length
& C1 o% v) W" G) d$ W& u. d2 x9 \
4 V" K: Z  O: l* l" c+ M
6 M) C; k$ w3 m, A  o8 U$ ~" C6 j
9 _8 ]& V. X" T8 e; X# F" t0 N0 \4 h9 Y
7.指针8 m/ k1 e4 k7 E
6 I1 @! p! ?2 l: [" K  {

  c$ z0 a9 d, K( }4 k! V* d" g4 ]4 i  ; v4 H1 g* x# d2 j
Prefix2 b! Z4 }. b3 h8 a2 D0 e; ?
  
. i- a7 J7 ]* `9 O) d. ~Means
9 g5 A" z2 I. m. _  
  s0 B9 q/ Z# R6 x3 R6 Z# aExample# v' {) m$ p/ i# m6 W+ K& H
' t" M5 W/ [+ b  a7 m$ L
  
% ^- N0 R6 C# t1 G+ c( V" Up
  B" G& ]) s  w- O% z  
3 k  K% \% N1 v1 E& B9 ypointer% k. K( I0 @* K1 U- e7 W. s
  
# Y' F3 N  V+ ^! D+ ]  _) eCATBaseUnknown *pTarget;$ M( R7 f  j! c, t

* N+ f- I1 w& J: b8 f- A& e  ; k; T: C1 T$ N" w1 W6 K
pp
# B4 z7 j; F8 j4 w  
5 Q* a; l$ |' M- r; V1 N0 B- xpointer to pointer
8 f, N" ?. X- H  
7 D' E/ `* ^2 r' d. P0 @( Fvoid **ppTarget;( ~1 P( I9 v  S- T+ G

% b0 f8 `9 U( R1 H5 N" ^4 f  
: V( [4 n; B9 upi% `+ B5 K5 \9 T+ M
  
( g9 w$ K6 |: [1 N6 Y# zpointer to interface
+ B2 c: C- H; w0 M: g  * w  y' v' v0 X) d$ V
CATISpecObject *piTargetFeature;2 w' H! E- C# A1 |2 }

# C7 C% @# B% U- N* o; O2 d  
" C! h, c0 O" ]! x  f6 Ysp5 K" Q/ ~) c, K
  
/ L5 t8 ]% i2 j% W. Hsmart pointer || handler4 H$ E* g# ?! C0 h. v
  
0 x& w( z+ g* t' j2 \3 {CATISpecObject_var spTargetFeature;
5 n. j* [# t/ P% |8 J. M - [6 f0 Z3 _3 Y( \8 ]2 O: ^
  , q/ L1 y3 b% b8 n+ o5 M
a8 [; l1 z8 L$ t  F7 Z+ P! N  c: H
  . S; r4 Y) c9 N
array
) l; v. n- N" m1 `1 c  
% Y8 q) [5 @, d! \) `* p, Gchar *aPath;, I8 }2 {3 F) f
$ q: l& w0 m8 P5 f9 y
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起$ G( |# [4 |1 o& Q8 R+ {, z
8.接口指针的命名
5 ?4 k: h! y2 ~. H  ~% N4 W1 h1 d格式:pi<InterfaceName>On<RootName>
% W: @' H: Q0 ^. [指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的* x8 T" D5 L5 [7 ]" t. h
跟名字是用的三个字母的缩写 如上用Doc代替document7 \( N  t# Y/ L* t  {
# R2 W4 x, n& f
8 `: O' v  g! U3 j* R
2 w4 }* E, Y- Y0 H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了