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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

; u* Y1 P  T. c0 }  h, R$ c1.主要规则4 U5 i! B8 l0 S5 k  Y6 T
CAT 代表 CATIA   作为前缀(prefix)2 F, T9 ]; x" P- s6 D
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   3 M1 T& L' S' ^' L- y% }
全部用英文8 V# B% G- Z3 I& U) p" Z5 s/ a

8 R# }4 G6 _# D( v1 R. [- P. r3 `2.目录实体的命名; o* r# u! t; T( \$ _# H: R
Code Framework                     <prefix><FWName>0 @- S& R: p. j5 _' Y* z  V! L
Test Framework                      <prefix><FWName>.tst
7 X5 z8 [/ E* ~4 |5 X! R8 w, R1 _+ c9 N' r/ b
CAA Frameworks                    CAA<FrameworkName>.edu
" \9 N! e) t% N  \ CAA<FrameworkName>Doc.edu
. A& Q7 L! z# B) M1 G6 I- i CAA<FrameworkName>.tst  s4 S5 g% Y- p  U' k* j' X
* \/ c  M0 v8 c. ]9 U
Code Module                        <prefix><FWAlias><ModuleName>.m* {4 ?! P) i1 I1 [  e6 d
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m) S+ r. Q: m" y. k1 O: Q% b% G0 z& l
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m, F) p' d! P8 n3 `. _% W  j" j
Code main module                   <prefix><FWName>.m
# `7 \* b1 f4 n) t
! c9 y  k6 R& L0 FDoc Module in education FW         CAA<FWAlias>TechArticles.doc1 T/ l4 x; n- W' ~1 t1 i
CAA<FWAlias>UseCases.doc
7 c! E( m# J3 e: T% U CAA<FWAlias>QuickRefs.doc
3 V0 J: `9 |5 O' i9 c' _ CAA<FWAlias>Base.doc
2 J( V! g6 C% M1 z2 l, w! _5 B$ X' `! }6 C" C
. R% E9 @0 L, v/ [7 k
3.文件实体命名3 `- K; ]. T$ w! i! t1 H
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
5 n9 G- l0 \) w4 @* u' S File: <prefix><FWAlias><ClassName>.h
) a. P- u5 ]0 S' G! r! \2 b4 b File: <prefix><FWAlias><ClassName>.cpp: X. z9 z* `1 a6 t9 b( I2 z

4 ]! h$ n3 g$ M8 y* X, l7 `  SExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
- E3 B0 z1 J: _( x$ a8 n File: <prefix>E<FWAlias><ClassName>.h  w7 j# j4 {" |4 x* ^& p# f0 O
File: <prefix>E<FWAlias><ClassName>.cpp0 G/ S( r* o* Y. {

5 q8 k+ A% ^# GInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
% ~: ^8 F8 X- M$ I" z/ V File: <prefix>I<FWAlias><InterfaceName>.h
" [. J# H5 M5 F# G: d$ ^File:<prefix>I<FWAlias><InterfaceName>.cpp$ Q6 o* f/ Y3 K

3 ~6 v7 A+ J, B, `  q) K2 Z% @Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
3 o8 }* C  v7 y/ T8 _File: <prefix>IA<FWAlias><InterfaceName>.idl
) O' E3 w; ?) i8 W  h1 k File: <prefix>IA<FWAlias><InterfaceName>.h2 K. _0 l& |' Y
File: <prefix>IA<FWAlias><InterfaceName>.cpp
6 J: n% k; u! p1 i; @. U+ D6 u, B/ i, p, Z- E( P& c* D
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers% R8 A- T6 k5 r- p1 R
File: <prefix><FWName>.dic for DS. ]7 {( v& j9 J# w
  g/ E& _$ ~6 I) l8 B; \- i
Factory Dictionaries                  File: <prefix><FWName>.fact7 x& Q; \3 c8 @5 N
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>4 b% l* u9 S" t4 w& F4 |
File: <prefix><FWAlias><FunctionName>.h3 p' u: _6 C8 V7 V3 t; d  B  c% C( a1 S
File: <prefix><FWAlias><FunctionName>.cpp% G% m) x2 H5 O: L+ ^6 T

* D- }0 ^; F) ?$ P+ @Enumerated Types                   Type: <prefix><FWAlias><EnumName>- C' |9 [/ J; o, A3 V0 \5 I
Value: <prefix><FWAlias><EnumItemName>
4 V3 ]/ L' m3 Z; b' G% {5 f* w5 ]1 d0 q File: <prefix><FWAlias><EnumName>.h) R. L) F1 N/ K! ?. o

6 H* b' T( G: wMacros                              Macro: <prefix><FWAlias><MacroName>
" D8 J8 i/ q0 \- f8 x) U3 w File: <prefix><FWAlias><MacroName>.h5 Q9 l9 ?4 }1 ]/ q; c

; i7 ?* I( E) e" i. VTypedef                             Same as substituted name
8 m/ I7 d0 M! b5 JNLS resources                       File: <prefix><FWAlias>Name.CATNls( x- Y+ O7 c- W+ `) J$ l
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc- I/ x  U! H/ L6 e5 q, M1 X5 R* o
3 Z/ x8 [. B" S
Feature catalogs                     File:$ W/ q3 J0 S. X  ], }
<prefix><FWAlias><CatalogName>.CATFct
. N7 f5 H; g+ _for CAA customers) Q5 l* R/ m  b
File: <prefix><FWAlias><CatalogName>.feat for DS
  w9 J4 y' z  ~+ @* l" u2 l
, I. G7 D" F# f" w4.用户界面实体* t( z, l* ?: `& b' ^
   Command Header                   <prefix><FWAlias><Name>Hdr+ l* Y5 G$ y* s; N
   Workshop                           <prefix><FWAlias><Name>Wks
9 h* Q: I" F# ~4 a/ \9 S   Workbench                         <prefix><FWAlias><Name>Wkb! ?0 O8 l1 R, k+ j8 s3 e. p4 D
   Toolbar                             <prefix><FWAlias><Name>Tlb
* u" E$ |& X$ w- L% `# \   Command Starter                    <prefix><FWAlias><Name>Str' h% @0 S6 L. j( ~5 a# S! q
Separator                           <prefix><FWAlias><Name>Sep8 `- H4 B% L3 @: h- p) A5 r
Icon Box                            <prefix><FWAlias><Name>Icb
5 E. r; a$ o% r% GMenuBar                            <prefix><FWAlias><Name>Mbr) k8 W" {, {, `' V# d* n
Menu                               <prefix><FWAlias><Name>Mnu
. y7 g" n( n; a& Z+ _4 [3 k; HSubMenu                            <prefix><FWAlias><Name>Snu+ S, ~- `9 Z) r3 I% w  d, P
8 h! f8 {: w7 _# ~# I
5.其他实体
( p4 P( G. l  G- W  Features and Late Types               <prefix><FWAlias><FeatureName>
% l% c4 d# i5 @  J: q5 p) J <prefix><FWAlias><LateTypeName>$ I7 T. j- T, z, o5 w( M
/ A/ c+ |" R$ `. [
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>/ z- h, i( V! u( I
Data Members                         _<DataName>
; }7 V& G' D6 ]4 t1 W5 N5 s0 I' `( N5 j
Method or Function Arguments         The i prefix for input parameters - A( b0 n* w4 D; l: N" L
The o prefix for output parameters
$ s) I+ M" J8 z* J  lThe io prefix for input/output parameters
) p7 _$ \) Q! y
" h3 W& d6 W" c0 i3 f6.名字的变化
/ Q( @3 Y/ v. l& ?; D变量名字要以小写开头   int counter' y' ?/ c) B6 m1 u6 _
函数名字要以大写开头   void CountItems(). p% `! T- j" B+ w" {
数据成员要以下划线开头 并且不能是public   int _length! |. P- S5 m% w; X
9 E5 Q( h: [# t. l
9 m3 i& G6 l3 T. b7 o
% Y* ~7 A0 b# d) W

9 E0 n: m+ b' [7 Z5 C8 @5 O4 u7.指针0 M6 A# D1 m+ w5 c

( [% d8 }! \& ~* j0 Z4 d* ^ ! W- l% s8 v9 d  d( E. R
  
0 V4 ?3 {8 r. \Prefix! G2 `! `. W0 M- E+ Y  A  `, W% Z
  
$ p0 v+ k! J+ P8 hMeans! b/ i$ l/ m8 G* q4 T6 q7 o
  
: h0 ^' B- V/ A* Z4 dExample6 ~6 I7 E: I- X) T; u& }$ m+ J/ T; m
& h) s! Q, ~5 O( I' I
  
9 [( n6 h% Y9 t' Rp
# p" m* v4 Q  u" A. B* r6 \6 y9 Q  + H. B/ V: _3 O
pointer, O+ O0 f. k( V9 W
  # r7 O( P# T/ T
CATBaseUnknown *pTarget;9 S+ _* Y1 s! o; W* C( n
! a2 {, v0 \6 B
  
( J( ^3 C$ |* \: T; W, Q8 hpp4 u; H. Z: c' i& ^) M2 r
  
, ^( L$ Z9 B* a1 U9 H  Q* q4 N1 e8 Apointer to pointer: g' c7 q# L' [* Y- C/ U# c! @) Q
  
* @$ P8 ~+ ?6 Z/ h9 y0 g+ gvoid **ppTarget;8 R2 k) M& z2 k: O
3 O- D+ u# a# ~5 _
  
3 ?0 i6 f5 B+ d% Q' \5 {" j- I) Spi
" O& M% H' D2 Z: B6 v0 K  
3 ?4 L4 y, D6 x2 ~  P. Y  E+ E& apointer to interface3 j1 D# V' a3 a! L2 j
  + F0 S. s: B$ Z" E& p
CATISpecObject *piTargetFeature;
2 o5 M" o+ d8 @ ) w: Z- g, S# i! _7 ?
  8 L/ C& _' N# v* a5 b# |
sp
" \+ Z) A6 J1 D  
/ p( R; ~5 \( M& |8 Msmart pointer || handler2 {% b! v  N6 M8 y3 F
  / A7 o. Z( E5 b& }
CATISpecObject_var spTargetFeature;
7 }- r% F' T. o, _& Q6 e5 _! g
& X  k- v- V' w; _  
% b7 k% S: _9 C- h: V, e7 |% a4 ^a$ i# S- R) ?6 [* g2 p+ ]4 T
  
  l7 [( l- L' V0 x  V8 G$ warray
5 _1 [: C# ^7 q# v4 E  : j; w5 R6 ^" h
char *aPath;
8 b. K5 I1 |% H& K
6 W: H! c8 ]2 W1 K9 P' R6 |' T; q, xCATISpecObject **ioppTargetFeature  输入输出和指针放在一起
2 F3 k1 T* U# ~9 _# O0 [8.接口指针的命名* t* _8 n1 M% D8 }1 U1 ?4 G9 C
格式:pi<InterfaceName>On<RootName>% G; l5 m, X# C3 W. U+ G: U
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
1 ]; U* z( o( s# q' G跟名字是用的三个字母的缩写 如上用Doc代替document
, ]5 G/ n1 g3 [/ Y
+ A7 b& x& u4 F
# G! l4 j* v$ G2 @7 m* W
' {; Q/ h) l$ U* s; r  e  }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了