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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
. n7 ~; t3 E1 Y+ b
1.主要规则
8 Z  c- g& j  \CAT 代表 CATIA   作为前缀(prefix)
+ X; p2 @2 C7 o! z( b0 OFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   & F. D. d- X$ C3 K2 v& b, T
全部用英文
. A. j  c3 n! H! f! J9 L+ B+ U1 H  T- R: @" m3 u
2.目录实体的命名
* y0 i9 q* D# ?. t) s% A8 H: nCode Framework                     <prefix><FWName>
1 ^/ `/ a1 d9 Z, X% yTest Framework                      <prefix><FWName>.tst
, ]' T, Q- ^$ l1 z) t+ Z; Q0 i+ ^/ C1 h
1 ^) n7 ]- G0 X2 x2 i4 S4 j5 vCAA Frameworks                    CAA<FrameworkName>.edu
, b# X$ [: q  q2 Q CAA<FrameworkName>Doc.edu' K! V, S+ _8 Y% i9 e
CAA<FrameworkName>.tst4 n  Y2 w7 [% T
; Z9 A6 \/ ~$ M6 v) `( s4 |
Code Module                        <prefix><FWAlias><ModuleName>.m
# |8 P  p# o5 L4 FCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m/ _: K6 f1 T+ [& o) z+ ]2 S
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m  i/ O. P- a- r8 }
Code main module                   <prefix><FWName>.m
. g& {( L. }/ y; C3 u& [1 r; C4 _$ I: D1 \2 l% Y$ Z9 T1 M" `7 k( Q7 `
Doc Module in education FW         CAA<FWAlias>TechArticles.doc
/ |+ O# S9 ?7 X6 X CAA<FWAlias>UseCases.doc! T, g0 w6 r1 V2 y+ V8 Y  f
CAA<FWAlias>QuickRefs.doc
. K+ \/ i8 N; |# N CAA<FWAlias>Base.doc
7 z' Q* x$ B1 N$ E" ~8 j- M; B+ p& S( ^  E: k! f5 c+ D4 @

: J( l4 K% H/ I3.文件实体命名: V; S3 v! L7 h  [: y7 p
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
. y0 O% }% i. z5 o& e# a File: <prefix><FWAlias><ClassName>.h' ~" Z8 V& j8 L. i& h! W# B* O7 D
File: <prefix><FWAlias><ClassName>.cpp" K5 c* z  Y# U0 r- }3 @  d- }

- n& V' n9 {2 y% P% cExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
6 ?( ?& A/ Q: D. n File: <prefix>E<FWAlias><ClassName>.h6 B) A8 j2 ^) I; I: z' I
File: <prefix>E<FWAlias><ClassName>.cpp6 U; M8 x/ B9 y! J9 j

( q% _( s6 S2 z, N8 ZInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>; a5 l9 v. i# B
File: <prefix>I<FWAlias><InterfaceName>.h
2 Y  I9 q2 L* e" s& F& g5 T! jFile:<prefix>I<FWAlias><InterfaceName>.cpp7 G' E/ w- ~& C7 K5 S8 Y

" L7 |0 t7 L+ q) W; TAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
5 U/ v1 _5 M: }4 K# p+ c" @" S8 {File: <prefix>IA<FWAlias><InterfaceName>.idl! L. @0 |$ Z& u" v( G4 |
File: <prefix>IA<FWAlias><InterfaceName>.h) q3 M+ u5 S% s, v. Z3 ^8 E1 X1 N
File: <prefix>IA<FWAlias><InterfaceName>.cpp
$ k- Q  }; P) ~5 W  R1 e- i- `# b! [* T  a, o' l
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers- |; e: @5 [- r; d
File: <prefix><FWName>.dic for DS' d2 i1 M0 r" H5 H7 L

- s% w9 b! B, t' @* w: `) d+ nFactory Dictionaries                  File: <prefix><FWName>.fact1 E% }: ?" D7 [7 x% s
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
2 b/ @# K0 K0 v: F% j/ f File: <prefix><FWAlias><FunctionName>.h: e/ z' j5 I% g. E/ a
File: <prefix><FWAlias><FunctionName>.cpp' P: @  z) m2 z, M: ^; k* S

; S, c- Z; f  u. B+ zEnumerated Types                   Type: <prefix><FWAlias><EnumName>
2 P. F/ w. U$ X. d+ t Value: <prefix><FWAlias><EnumItemName>1 ]1 j3 |+ B$ J
File: <prefix><FWAlias><EnumName>.h3 ?# K6 r* C5 e9 P1 X% i4 n' p
2 o3 A( B& F* `& L8 V6 w; m) y" a
Macros                              Macro: <prefix><FWAlias><MacroName># d1 F/ J+ f: S$ ^* y  E
File: <prefix><FWAlias><MacroName>.h8 N' j# }2 Q0 `" S  x9 v

' `9 h9 y# \! \. A' sTypedef                             Same as substituted name$ ~* y# q; W. u' f2 K
NLS resources                       File: <prefix><FWAlias>Name.CATNls+ c% z* Y8 n) b7 I6 u: Q, F
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc; `* f6 z; `9 G' `1 M+ @

" {6 K" \( {) t- W, L4 \, JFeature catalogs                     File:
- H4 A  ~8 D! }/ `) p <prefix><FWAlias><CatalogName>.CATFct / q) j/ v6 c+ q( L4 [) d) S; G
for CAA customers/ m% }  K. B3 [6 c
File: <prefix><FWAlias><CatalogName>.feat for DS
4 l8 M3 E! D5 f, j6 N5 C+ L' U. b2 U; j+ [% U3 C
4.用户界面实体7 f9 W7 a9 W1 Y$ k$ U
   Command Header                   <prefix><FWAlias><Name>Hdr
4 `; A; G: q3 m; L2 o( Z: k3 f: N: u   Workshop                           <prefix><FWAlias><Name>Wks
) x* @$ i$ R! @( q) w( k8 l   Workbench                         <prefix><FWAlias><Name>Wkb+ O* _" Z3 `" R" x
   Toolbar                             <prefix><FWAlias><Name>Tlb
0 l% v1 }$ d' N# _1 u1 ^5 D) y   Command Starter                    <prefix><FWAlias><Name>Str7 l. p( Z4 ^# N( t8 a2 O+ f
Separator                           <prefix><FWAlias><Name>Sep
) E; {$ Q6 z' t8 w* V$ @% _Icon Box                            <prefix><FWAlias><Name>Icb
% }! O3 j  d: g; N( }MenuBar                            <prefix><FWAlias><Name>Mbr
/ r/ k3 C1 B* m- F# g& rMenu                               <prefix><FWAlias><Name>Mnu, F' o+ T7 C, ~
SubMenu                            <prefix><FWAlias><Name>Snu  z0 W9 r1 _. j  M. b+ K3 j1 V

8 _' Z" D, e* ]5 v3 Q% i0 `5.其他实体
3 ~! N* G) g  K  G  Features and Late Types               <prefix><FWAlias><FeatureName>
* j9 P2 n2 L  `3 r5 }8 p" t* }! n <prefix><FWAlias><LateTypeName>& ^. k5 X9 c1 I+ p( x. b
% }. a1 K" l' X, g2 @  U
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>9 [) W, ]! _7 c% ?$ G- }+ Z) t6 B
Data Members                         _<DataName>
; [0 W- {8 Q( @- ~) X6 y* c: |# A0 U
Method or Function Arguments         The i prefix for input parameters * m7 h. ?% K: i" z" X
The o prefix for output parameters
3 f, e7 C: G% N3 |The io prefix for input/output parameters
/ J" d7 H+ |5 a  C0 g! O
- q* s5 U+ _, p" `( D6.名字的变化
8 ^7 |8 E2 G1 x: e0 S变量名字要以小写开头   int counter6 g- Z! z% R+ T- ]- D
函数名字要以大写开头   void CountItems()
0 k! W3 [7 a6 `/ Z* M数据成员要以下划线开头 并且不能是public   int _length
! {4 Q9 |) q# u& ?
5 G) o( }2 v1 v/ _" P8 p- A4 I/ J& o, B- e* x
5 m% }" p* w/ L9 O" I+ G
5 g3 g3 T$ L6 U3 P. ^& ?
7.指针1 J% L* ]' b1 b2 Z' r$ G# w
1 b5 s; ]' ^$ t! `0 d% i
8 D8 G7 I) C0 y9 V
  ; E" f' A" [; Z4 E" x) m5 k9 e
Prefix
( v) x( f. E4 w- e  I  
: S5 a0 P1 B6 u/ w% y" s4 |8 |8 E! pMeans
, L0 P; P9 i' [; p  l3 c  * k% A6 r4 s2 d% p( m' F. F
Example
8 ~$ v7 R, e+ A! v+ N; w/ P 1 \) ?! }5 [5 r3 R. e1 T
  & a2 E% R6 a6 @' T
p7 ~! f) t* L0 L- ^( O
  
4 f* }9 Q1 V( F" p7 e. ]pointer
) ^) g( D* x' `  {- t) U  % ]/ T& J4 E, {) Z0 n, N) y! [
CATBaseUnknown *pTarget;
4 t% a# \* O; `9 [! k6 u9 s
% D+ {% _, A- Y9 `( X  0 f9 d& f/ ~. H  Q% L5 a3 z6 A
pp
5 i1 {( @1 }- W+ t. X  ! ?1 Z8 a+ A& C' `2 X* A! |
pointer to pointer
+ o2 ]! }2 g$ z- ~  d  
7 l+ l8 P' q0 m) Dvoid **ppTarget;
/ B- f8 y, e4 g / e- O1 Q* J( H) M5 Z3 l
  7 D, h1 p# R6 D: D5 z3 y
pi" h' h* e0 l/ n. L5 u( K4 B
  
8 R& T! s+ m- t$ c5 }  G- qpointer to interface
- L- H7 G! _$ I; ]8 {  / d. a$ b$ I* R0 ~
CATISpecObject *piTargetFeature;
3 |! T/ `( E2 N
( ~/ c- K% @/ n6 q  Q  0 S5 M$ @  @* w- D# t9 \
sp6 C7 K- p+ H: F- h% l. m4 E3 J7 W% P
  
2 l2 x5 o7 i& P+ R& Csmart pointer || handler
, Q; D8 d- @# B4 H1 U$ I) R  % r+ X. o$ d: E& p: n( \) d4 U4 z
CATISpecObject_var spTargetFeature;
' |1 l7 y# {) }5 h! N 1 `/ Q) g7 G! ~
  * A( b( J/ x5 J  f7 n2 x/ ^
a
9 T1 q% v$ {7 Q  I  " _; A4 N9 A* N& N8 N# ^
array  D# {0 j1 c+ Z
  
# w6 D+ V0 Z& @: r1 Z% vchar *aPath;# x! u$ a9 N" T6 A
/ O+ D( g9 @0 r- C' v# D3 R* k' S
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起1 o" P- M4 {+ {0 n
8.接口指针的命名) A4 m: b6 ]+ U6 o! M! m, r
格式:pi<InterfaceName>On<RootName>- v$ q) ~3 l9 {' M2 J
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
6 ?8 K# J0 y. W跟名字是用的三个字母的缩写 如上用Doc代替document5 x3 c7 }( k2 I! o* u, k$ l

7 U: }1 V8 {$ b5 n! J1 o- X% Z' l/ X+ j$ I% x
8 v0 X( C4 R% W0 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二次开发专题模块培训报名开始啦

    我知道了