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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
$ Q) g& ^6 B6 }; b; J7 p! ^. k) D
1.主要规则& C! ?6 j1 ~7 N
CAT 代表 CATIA   作为前缀(prefix)
& V$ p& m( {  {" \" mFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
& j4 X  Y2 G' J& y& s( L( @- O全部用英文  k$ p) v/ N5 {7 Y1 c3 S3 g
8 l1 b. U# N5 w) s' J% ~
2.目录实体的命名3 B9 ~) I7 k0 J7 ?* e! x
Code Framework                     <prefix><FWName>" |' z) H6 i, O) V0 b2 R
Test Framework                      <prefix><FWName>.tst
* O% m  ]4 A' d" ]9 `
* F3 Y/ S1 }6 I! Y1 ]3 J  ?CAA Frameworks                    CAA<FrameworkName>.edu: h, V( T7 I- k, m5 r  ^
CAA<FrameworkName>Doc.edu
# h! f( n5 i& l CAA<FrameworkName>.tst
. \, P6 [/ V/ u% u" S, f% k- E( e& v7 k" }/ T
Code Module                        <prefix><FWAlias><ModuleName>.m+ F- r! _% T* d1 g: {& [
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
+ E: i+ k3 ]$ u( |' e9 t; Y$ b0 `Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m( W9 _/ L9 L# G* n& ^5 d
Code main module                   <prefix><FWName>.m; }, Y, W# M4 ~* y/ f
0 x, [$ V5 k  o3 d9 _
Doc Module in education FW         CAA<FWAlias>TechArticles.doc
0 Z7 O& G: E7 {+ }; w3 v CAA<FWAlias>UseCases.doc" g# N" z9 |4 Z2 ?6 O5 b
CAA<FWAlias>QuickRefs.doc
5 Q8 g5 v3 x" I* }6 J" H1 c; g$ z$ b CAA<FWAlias>Base.doc
/ _* b4 G2 |# Y( e9 [+ b% k7 b$ _8 M/ c7 g( Y+ ~1 c

4 K0 U! h5 n7 w* T3.文件实体命名
' v7 [0 c% d. Z* i: m   Simple Classes                      Class: <prefix><FWAlias><ClassName>4 N( `! R: f( w" ^
File: <prefix><FWAlias><ClassName>.h) d, G: m3 S8 J5 Q4 @& r5 V5 Q! e
File: <prefix><FWAlias><ClassName>.cpp
- M6 a( g  F  [* K, K
1 _! O0 ~, ?; R$ [Extension Classes                   Class: <prefix>E<FWAlias><ClassName>- ]% ~: Y6 c6 A( E# n% h) _; ]
File: <prefix>E<FWAlias><ClassName>.h5 k/ x0 M+ o( s( V
File: <prefix>E<FWAlias><ClassName>.cpp, M6 w) N: U# B* e) R' E- n# w  p2 V- }

& h/ ~1 U# h% F: zInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>" O4 B$ A/ B" |. I  m3 @
File: <prefix>I<FWAlias><InterfaceName>.h6 a" S: a0 B: E9 h9 [7 n' X5 X
File:<prefix>I<FWAlias><InterfaceName>.cpp8 m" m/ \/ j. ?4 h- Z5 I+ M9 L" O

' [$ N* \# p- g3 b7 jAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>  {- r* Z+ a. }4 x9 N& B9 P
File: <prefix>IA<FWAlias><InterfaceName>.idl, B( c$ ^8 T9 D
File: <prefix>IA<FWAlias><InterfaceName>.h9 C# W+ E; l/ K, }, _0 ?
File: <prefix>IA<FWAlias><InterfaceName>.cpp' d' y( ]( ]) _

. b4 z6 w+ Q% [1 U2 mInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers2 ?, H9 v- D% d3 [
File: <prefix><FWName>.dic for DS6 A& z1 X( z, c
- P! h; u6 H/ Z
Factory Dictionaries                  File: <prefix><FWName>.fact: l. _; T) j  J& Y4 o$ p4 ^9 s
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>2 x0 W. U! e# |- g) ^2 p. t
File: <prefix><FWAlias><FunctionName>.h
8 m1 n% j; Q: ~, j File: <prefix><FWAlias><FunctionName>.cpp
0 D7 l* R# O/ ^: X# P; ^
' J' p1 G; U2 v0 [2 XEnumerated Types                   Type: <prefix><FWAlias><EnumName>- W/ F0 h& w5 m+ o7 Z0 ]8 `7 K( x
Value: <prefix><FWAlias><EnumItemName>
* U/ m4 [. N9 A: F' H6 c File: <prefix><FWAlias><EnumName>.h* n+ N" q" i& p6 ?4 m1 q" {7 E9 K1 n

' A( p2 d6 j5 M; _- bMacros                              Macro: <prefix><FWAlias><MacroName>2 Y. z5 L* [; s* M# x1 w0 A
File: <prefix><FWAlias><MacroName>.h& `# l- r+ ?+ V( f* s

/ {" I" U; J- t5 UTypedef                             Same as substituted name9 `. B" b3 r$ i3 d, P
NLS resources                       File: <prefix><FWAlias>Name.CATNls
+ b$ s( \- v$ g8 \1 }! jResource catalogs                   File: <prefix><FWAlias>Name.CATRsc& R- r: K& Y: P" C' [7 p3 H- p
6 f: e1 F, u$ q% \$ y& ^9 d+ ]
Feature catalogs                     File:
9 H, d* y4 y6 n8 U: v6 J# [& ^6 G) A% I <prefix><FWAlias><CatalogName>.CATFct
- O8 Y* n1 [( v3 H; e2 ^for CAA customers
& _; @: l& M$ ?: JFile: <prefix><FWAlias><CatalogName>.feat for DS- d8 t9 `) ]+ P4 q) y
+ ]: y! V2 B' d' L/ Z: G9 {6 [) ?
4.用户界面实体. Y% _1 C: t1 z! e1 S
   Command Header                   <prefix><FWAlias><Name>Hdr! z, _4 l% [, ~7 T
   Workshop                           <prefix><FWAlias><Name>Wks
3 d$ w: A7 p( W, y% p   Workbench                         <prefix><FWAlias><Name>Wkb
! f% C& x& f( ?( K7 b( N! ?7 f; |   Toolbar                             <prefix><FWAlias><Name>Tlb
) m$ s2 T  B) [7 q   Command Starter                    <prefix><FWAlias><Name>Str0 d* B" |8 Z( N! ]
Separator                           <prefix><FWAlias><Name>Sep
9 V/ H/ p) k8 v2 C# SIcon Box                            <prefix><FWAlias><Name>Icb
, x( Y( ]% \, [: i( v- xMenuBar                            <prefix><FWAlias><Name>Mbr9 _9 ~+ C' S3 q1 _. D
Menu                               <prefix><FWAlias><Name>Mnu
9 |( t1 W9 q! J9 o" zSubMenu                            <prefix><FWAlias><Name>Snu
. L& N7 N* `: G; G4 |# a" P, ^
% k- ^1 _" t- ]/ ?4 m5.其他实体
7 V7 v: w/ g  T% X  Features and Late Types               <prefix><FWAlias><FeatureName># L; E  e8 V# u& C
<prefix><FWAlias><LateTypeName>( ?9 O* Z. s/ q8 Y% C9 T

: f; Z. y. W) h" ^( g8 i& ^) E; @Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
1 h! z  U& t: N  F5 _  \) ZData Members                         _<DataName>
7 I% u5 m1 U& |8 e
$ y$ a: ]! X3 V9 QMethod or Function Arguments         The i prefix for input parameters
) ~* m0 S3 b4 I9 q* b: G0 kThe o prefix for output parameters 4 N6 w7 r  @- @7 z
The io prefix for input/output parameters
/ l: c( }- |- V5 W4 @; z+ f/ T1 O! e3 d/ X5 [0 J
6.名字的变化5 [' R0 t6 S. t6 ]. c" _
变量名字要以小写开头   int counter
- t3 l+ g* V: }% d. O0 ~0 J函数名字要以大写开头   void CountItems()3 D6 w3 Z; s$ b! e
数据成员要以下划线开头 并且不能是public   int _length8 f8 L5 W- y( k% q! g) }
5 m$ ^8 m; C, X+ [8 r# Y

, ]$ P' p0 q& z- u, X. n5 v; h' U) `$ \* ?( l4 T4 D2 Y0 K& G

% _( K$ o9 Q  S, c4 L4 F/ ?7.指针
( t/ [. S. ^, k6 I* R
+ w3 P7 X3 M5 z! c/ o7 G : T& E" N2 @) d5 `4 `
  / j2 o" p7 k# G; y& V7 [  `
Prefix* X  a$ N3 ^- L" [+ g( s' U7 \
  
4 J9 _' D8 L' X+ DMeans- l0 p9 M6 t; A
  9 y* k# m6 \9 `# r
Example
) E% X" S1 N  W6 J
9 G9 y6 }( h$ N! v; c  9 X! G: S& M6 r2 e7 I
p
8 T, `1 e" p" z5 c: h7 Y; x2 X  ) B& U! u  i& t( `* t: D% K& O
pointer
; E% ?- [( D9 P! \  
- ^, M0 ^( J" `5 Z! @+ A/ v5 }CATBaseUnknown *pTarget;$ a) Z! \% f% ?. |2 j

8 D& }4 D6 M+ G% |) y6 @# Z  
1 s8 \) f" {+ }) i) U' Hpp% P$ h9 o6 s0 x* C* T. @
  ' Y* L6 P, d0 m! \' P4 r) N
pointer to pointer, P" R( z3 V, l
  $ u, C, ~* ~3 V7 V7 v0 R: M+ x8 `& K
void **ppTarget;0 y1 x# v/ E4 N
5 I$ D$ b9 s, L+ f# U" E9 x2 S
  
- l' \& q, e3 L3 q& O- `( R/ s  bpi, T6 y. z8 d! S+ f! {8 c2 i
  ' v5 n2 [# K8 f* N9 ]
pointer to interface
) K' P4 T0 b& ?" b6 i; ^" M2 l  1 S2 G! G. q7 b" a7 L0 t
CATISpecObject *piTargetFeature;
$ O' d4 R7 e( `, N3 E * \- v  I$ C" x8 q, y0 f
  , H! X$ j) m1 h6 p. y( A& K0 @; [
sp
2 U8 ^' J' B" B0 V  & O7 ~( e" o- E, A
smart pointer || handler
; X9 g( l( a  ?4 T# Y+ V$ c# L; e  
6 c% Q0 D8 t! T8 w8 x  xCATISpecObject_var spTargetFeature;
4 x* t9 P5 }* {5 I( m 7 h6 {' b# }9 X2 x( B
  
( ^. ?+ C. E' A; Ma/ T: _/ S2 |/ d% P+ y& A
  # I' O& c0 R5 _
array
' w, @3 i4 f+ A8 O' x  
7 |  V# {- P- T* K& {1 Nchar *aPath;
, T5 ?- X/ m2 s: ] : f8 k/ W1 h& h3 t% N% i& T) T* e
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
; G9 k0 V! U$ W% K8.接口指针的命名
" ~' c9 Y3 C! n1 r! u7 F/ M6 P9 B格式:pi<InterfaceName>On<RootName>
, m$ Z6 ?; n6 n指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的& g' u, l( |  K
跟名字是用的三个字母的缩写 如上用Doc代替document% H! p/ [7 y4 J8 ?7 z

: i# r7 p& q$ y4 E7 Y  ~7 }+ X
! W! |! ^: V: J
( I" ^" X+ m: h- t' \2 U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了