PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
9 B6 u2 [: \9 {# X; f/ Y
1.主要规则- q2 u* l$ P: O8 [: t8 S$ M
CAT 代表 CATIA   作为前缀(prefix)
% U5 z" K- _1 H- PFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
1 O% E4 R# J& g# r! c, a& |全部用英文
, t; P+ a, M$ m2 P: N7 c# H7 N
- d% V2 b: T* L3 T: h2.目录实体的命名
/ H' _9 x. p, U" C; k& ZCode Framework                     <prefix><FWName>- g) a3 G' i* k- E  A
Test Framework                      <prefix><FWName>.tst
2 V/ x( O: F; ?8 w5 @* t
* C& g' U% z$ y7 r+ N" ^CAA Frameworks                    CAA<FrameworkName>.edu1 A& ~! H+ E1 ~" h; a4 f
CAA<FrameworkName>Doc.edu
3 U, W! T8 s" i% Y; ~- r( V CAA<FrameworkName>.tst
' ~5 V2 u0 r& w2 e9 {( \; |9 v+ C4 c9 g/ Q3 _6 g: [
Code Module                        <prefix><FWAlias><ModuleName>.m
/ q4 J' j3 Y& T& T* q& ZCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
- i" p: u5 k& C1 C7 F( u: N) }Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
( b$ m% s' D) u5 {& dCode main module                   <prefix><FWName>.m
" m( k7 O# p0 O5 s
6 G$ _' |0 ~4 s0 E9 K0 mDoc Module in education FW         CAA<FWAlias>TechArticles.doc
+ c( X$ j  c+ O6 n CAA<FWAlias>UseCases.doc
( D. d: T* o! U, A9 }7 O CAA<FWAlias>QuickRefs.doc
2 f! u. G- E5 Z. M$ m CAA<FWAlias>Base.doc- q& r, ^) `& t2 u" J( g

9 @$ Y) O- C. s7 ?" k6 h) y1 e! D4 }0 \: T
3.文件实体命名
7 W4 H# x, j5 p: P   Simple Classes                      Class: <prefix><FWAlias><ClassName>) r, N) }, A; U: ]3 N$ }3 @9 e! ]
File: <prefix><FWAlias><ClassName>.h, Z8 H" S( {+ J
File: <prefix><FWAlias><ClassName>.cpp
8 E, ]1 e' {: G. _5 M3 M" E2 A: j3 D1 p
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
4 T* C+ r3 X# s  K  }& Z2 s0 r" C File: <prefix>E<FWAlias><ClassName>.h
) W+ n; L8 u- Y8 } File: <prefix>E<FWAlias><ClassName>.cpp9 J& N" [+ A3 p  V* w
+ W! Q9 }5 J$ c3 M; u" [
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
. z8 x' q) b1 z File: <prefix>I<FWAlias><InterfaceName>.h# e2 ?' @! ]! e. I- w& X3 N+ s
File:<prefix>I<FWAlias><InterfaceName>.cpp
% Z. Z* p4 T; O$ O- t& b5 M' L
- R. P6 {! {& b% yAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
& F& `- A2 G; O; v3 w3 l7 e, I. n, J0 iFile: <prefix>IA<FWAlias><InterfaceName>.idl( n3 _8 K: m2 |2 Y$ l  c* J) }
File: <prefix>IA<FWAlias><InterfaceName>.h6 I) v3 n& }5 ^# Z9 U& S
File: <prefix>IA<FWAlias><InterfaceName>.cpp
" J1 o2 y3 B7 H* h2 o& h- [0 g/ o. S+ F5 O5 ^$ a& ~8 {
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
2 Y% T( K, o4 T, e+ h% S  q, kFile: <prefix><FWName>.dic for DS
4 y5 X- q/ U. I) D6 h: b- d4 e" N- Q! ]( X3 h% o
Factory Dictionaries                  File: <prefix><FWName>.fact
7 \/ y9 D% j7 {; \  ?6 HGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>5 {6 R8 F: |( J& w
File: <prefix><FWAlias><FunctionName>.h
% V9 D. O7 U; u& E( B  ]7 R5 Z( h0 D2 s File: <prefix><FWAlias><FunctionName>.cpp+ I; P& s4 J& |7 i* ~, S6 Y& `
" s* A) {8 Q) d: [  E, k
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
, ]6 q# i% w+ u6 o7 r Value: <prefix><FWAlias><EnumItemName>
0 N+ Y0 G! ]3 g- y File: <prefix><FWAlias><EnumName>.h
* }# o: d6 x7 \4 x  E
, H& H5 x6 n. Q7 B' K1 a- s/ cMacros                              Macro: <prefix><FWAlias><MacroName>
" j. H8 W) M. y; Z9 X3 ] File: <prefix><FWAlias><MacroName>.h; }% {# H) `# N( H

" x- x! K) Z5 B  i7 [! j" Y' {Typedef                             Same as substituted name
* D& d% ~4 V9 m0 l) ~3 `5 pNLS resources                       File: <prefix><FWAlias>Name.CATNls1 O5 O0 q6 L5 ?) y
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc+ }7 s- @7 d7 B
& M: @# @8 N* o1 @' w
Feature catalogs                     File:! C7 g% P5 E+ i. b( B# d
<prefix><FWAlias><CatalogName>.CATFct
9 N, F# m5 s' v" ^1 o* ^: gfor CAA customers6 g+ m# n. [% E) X5 l. K0 X. E
File: <prefix><FWAlias><CatalogName>.feat for DS
5 c1 E. I7 P3 |7 [1 H5 X; B3 F  I9 v1 @/ I8 J: e" G1 B
4.用户界面实体4 R/ Y6 p( e5 \  O" u
   Command Header                   <prefix><FWAlias><Name>Hdr/ u* ?8 ~2 a2 H: K, E; N& k
   Workshop                           <prefix><FWAlias><Name>Wks  E  x6 N  b* H: V& O6 P% M
   Workbench                         <prefix><FWAlias><Name>Wkb7 l6 K) ?6 H8 `$ ~8 d+ i
   Toolbar                             <prefix><FWAlias><Name>Tlb
! _. d3 r$ @$ a   Command Starter                    <prefix><FWAlias><Name>Str
# |. T5 S1 p: `Separator                           <prefix><FWAlias><Name>Sep7 s' s( G/ E0 Y5 F9 c5 i
Icon Box                            <prefix><FWAlias><Name>Icb
$ U  T# s0 Q- n' K) wMenuBar                            <prefix><FWAlias><Name>Mbr
) i- O$ v5 c" m: w" [0 xMenu                               <prefix><FWAlias><Name>Mnu
" C% ]+ F4 \  g) Y7 T/ H2 Z  _; G8 WSubMenu                            <prefix><FWAlias><Name>Snu
3 Z" e$ z6 A& D. t: U- d  L/ ~  ^; ~; v5 e' F
5.其他实体1 v1 W3 `7 @# G1 x. i' G6 Y
  Features and Late Types               <prefix><FWAlias><FeatureName>
( f$ x. h9 ~. u! t8 _3 t <prefix><FWAlias><LateTypeName>0 G8 h+ Y8 E. ^  c+ ^

' i3 f- f; O$ ^Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>; m8 ~* S, C" N' d2 Y% h
Data Members                         _<DataName>
, e+ i, j. B- a0 I" B7 B6 S6 f7 l, ~/ r/ H$ F+ ~
Method or Function Arguments         The i prefix for input parameters
" k7 g1 w3 y5 ?+ W  }  }The o prefix for output parameters 7 m% X) C* b; ^8 u* i; z
The io prefix for input/output parameters 1 @) J) J1 f. t' I1 g1 e

: R8 l/ G/ z7 o+ H6.名字的变化
- ]& h% a! C* r& n& I变量名字要以小写开头   int counter
' ^" a- X7 E0 Z' K7 W函数名字要以大写开头   void CountItems()
$ n5 Q4 N9 m$ ^. q9 U: e% E* l数据成员要以下划线开头 并且不能是public   int _length- p' \7 v9 o/ U) {2 v/ y
1 C9 W- p1 F% a/ [
* d+ t6 d$ u! E6 P1 Q

+ V) C( ], B$ F1 ^3 Q
; \' E; C0 K0 h7.指针
9 Z; [4 r6 h8 X3 y1 ~* q" j  C& I) \

/ |( o2 t0 Y: z! v: H& O& P3 ]  
* F* l+ l. E" F" ^Prefix
9 h! X; g  ]7 B2 R+ ~2 o8 D  
  M+ f6 p: X" ~8 W2 k& wMeans
! v+ g" R9 S- v5 g) D9 @  2 I! D2 V2 l* D
Example
$ }  l, ?/ I( Z. f $ ?  E+ Z$ ?; y& b# H- D7 o
  * @7 ~1 U* ?9 ~9 |
p# K3 I$ q5 [. _) C: S
  
) s2 t# L9 T! j3 r, fpointer
4 P7 G! ]7 M. C; g2 d  
# N8 g1 {5 ]; H9 d" Y* A( [CATBaseUnknown *pTarget;
4 J# I" C/ R$ k( f1 _ ! M7 U9 m  k0 Y/ F. u( o; J
  
+ `6 F! D# {% `/ R# c$ M- Gpp
; b2 `% N% ~0 O  l  
9 I9 l- t- C0 S# vpointer to pointer
/ x' N" {% |6 P4 U  
5 S5 `$ ~* n; j. Yvoid **ppTarget;* g7 ?5 q2 o% b; [  e

7 J$ R4 c/ D1 C4 o% H  ; U, Q7 v2 m  a0 p0 N" z+ Y
pi
: g! U/ a' X( H% {# v6 X  ' u8 E7 ^1 @1 h* i) ^) M
pointer to interface0 r6 J1 @: m1 g1 X) r" ]
  
4 _" C9 w! |; ~, c- {CATISpecObject *piTargetFeature;! U8 ?. n2 L) r# Q. E0 U: Y

/ x, P+ K$ e# l$ x/ V% Z  / L/ q) C. M6 _0 c
sp5 H  F4 f8 R9 u% w2 c
  
* ^" k& P% c0 G7 a: Nsmart pointer || handler
, ], \, m: @6 `. F  n+ \3 n* \; _  
6 s" J4 }0 @$ t# W5 H& \* h$ k0 jCATISpecObject_var spTargetFeature;$ D. r( F2 f# J- }: p  K

: u1 x: U; F8 n* o/ i2 a& n  + T6 B. @; C( }
a0 S9 N9 V4 Z% a$ T+ i
  . ]7 s- U: M7 s8 I7 q2 A( k' L& U
array
" o' \  ^- C1 \- f. i  
, i" D0 e$ {, f4 J1 h: H. jchar *aPath;- ]$ h7 e# I9 Z6 ]
" {& S: f% u# l. z1 p: m" [# b
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
( o0 ]% W: p( k  |6 U8.接口指针的命名
$ l  t( g2 ?# `. l- \9 O, B格式:pi<InterfaceName>On<RootName>
7 T1 j7 _+ j5 b指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
, d6 n+ ~* [* y% h4 w7 |; H; r6 h跟名字是用的三个字母的缩写 如上用Doc代替document8 J; b/ w2 D/ _$ Z, Z! }1 H( P+ Z
, X. `! q* Z( r. T; u

" j1 f7 z$ |8 Z  U
0 z2 l( l& ]: }; l' 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二次开发专题模块培训报名开始啦

    我知道了