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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
" [# x3 w2 m, z9 V8 B5 Z) G/ }
1.主要规则
! K' ^+ ?  n; d8 aCAT 代表 CATIA   作为前缀(prefix)
' I) t6 i; k# F" Y' P5 a7 G5 c( L; b( rFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
" ?8 {4 c# g" X3 q全部用英文- g* o. K/ M% ?/ l4 H/ d2 ]- m7 x

) `5 K# j! Y- T2.目录实体的命名+ p; U) p" q9 H0 R
Code Framework                     <prefix><FWName>
) x% @7 k8 g, P0 g& M/ c( STest Framework                      <prefix><FWName>.tst" k$ z3 U& V% h# H# A
' g+ j" ?2 v3 \
CAA Frameworks                    CAA<FrameworkName>.edu1 G- d( Y  n& `  N
CAA<FrameworkName>Doc.edu
1 k- U7 v* K! }  b/ W5 L CAA<FrameworkName>.tst$ ]! V& H3 |6 m
* r# b1 a5 B' ]* E* ?0 {7 u
Code Module                        <prefix><FWAlias><ModuleName>.m
- H3 _+ t; v4 C1 U4 q/ X* S3 sCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
. Z+ S! l  |+ V% g) ^& MCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
# D* @$ |! {3 O. o1 W. |' g4 yCode main module                   <prefix><FWName>.m
5 X5 ?  N$ |! a% L* H: y& @: d( H% {- r/ @
Doc Module in education FW         CAA<FWAlias>TechArticles.doc) I, L* P# l5 J# _
CAA<FWAlias>UseCases.doc/ f4 \6 p  a7 Q8 P' b
CAA<FWAlias>QuickRefs.doc
% V+ [0 U2 Q1 l6 Y  S% H- E CAA<FWAlias>Base.doc
# B/ B0 N. O0 ]; B8 \& O% Z/ m
% {6 T# ?; d5 T' V( p: o) S8 p0 L1 U9 s' K6 W
3.文件实体命名
7 l1 C; y' Q2 R6 Y5 l4 H' z! ~   Simple Classes                      Class: <prefix><FWAlias><ClassName>) n3 v( U* v) `0 [
File: <prefix><FWAlias><ClassName>.h
; G" K6 r' Q  @: `1 L File: <prefix><FWAlias><ClassName>.cpp
/ i+ n5 V4 a9 @/ Q3 H' P& K* Y( K! |( Q. q# X
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
: [/ J2 b# F1 Z) j File: <prefix>E<FWAlias><ClassName>.h0 x) w# O* s4 `3 H
File: <prefix>E<FWAlias><ClassName>.cpp
& ~, x5 [/ @7 S/ i, U/ M, a2 W' a
4 d5 k* C* k9 m" |0 CInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
$ t+ l3 L( t5 \3 o6 [+ I/ A File: <prefix>I<FWAlias><InterfaceName>.h
9 U' {8 r+ Y( y2 H- r& oFile:<prefix>I<FWAlias><InterfaceName>.cpp
3 o/ b6 D, Y, k
' }- D/ B( O# zAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
5 \# |9 `4 F: Z1 zFile: <prefix>IA<FWAlias><InterfaceName>.idl  ~; p8 L9 H! }, u
File: <prefix>IA<FWAlias><InterfaceName>.h
; F- P' s6 q- r& d- d. C( ?# s1 O File: <prefix>IA<FWAlias><InterfaceName>.cpp
; s' u7 p* T+ b: c- n" y- z0 `2 Z1 m* z  f! U7 p# y
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
' w% W$ o* T  Z* @. N% A7 u! [File: <prefix><FWName>.dic for DS7 H+ W7 `1 d0 p5 e' M& A

% H( s# a6 t3 P1 \; O: C" YFactory Dictionaries                  File: <prefix><FWName>.fact
* L2 |* v4 W  n1 XGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>% P' W# n4 j0 }* e9 P8 C
File: <prefix><FWAlias><FunctionName>.h$ Y& K3 ~" x  H) V5 H, p
File: <prefix><FWAlias><FunctionName>.cpp
) Z9 k, H  e" H* b' _5 ~; k7 n
' g% M/ O* p4 |2 BEnumerated Types                   Type: <prefix><FWAlias><EnumName>" \) Y8 Q4 a' k4 s: I
Value: <prefix><FWAlias><EnumItemName>7 x, h8 c" s  [" I9 _
File: <prefix><FWAlias><EnumName>.h
: s1 j' V" y' N+ z# V# A( H+ n/ \+ W- }$ N1 a6 M9 s
Macros                              Macro: <prefix><FWAlias><MacroName>
  `1 m* o7 J% |9 Z% K  ] File: <prefix><FWAlias><MacroName>.h* z1 q' n( R# B2 `, w  }- i
# v: f2 q, R2 i$ H
Typedef                             Same as substituted name
% v4 z' b0 E* P: |" x+ bNLS resources                       File: <prefix><FWAlias>Name.CATNls) S( z0 F. y/ y  G0 |" C/ Z5 J# d
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc( A8 {) _1 j  O3 J  U
* P- h" l* M: w7 s  l; K; I, ?6 o
Feature catalogs                     File:* z: c& m0 D# c' F
<prefix><FWAlias><CatalogName>.CATFct # g% Q4 \0 f( t. w, ?) i
for CAA customers
6 J% j4 [; l: B7 cFile: <prefix><FWAlias><CatalogName>.feat for DS
0 y( K' T. j4 g" c% x, s& k* N& N
# P, H- j; }  b4.用户界面实体
. ?9 A# {! ^- z8 @2 P+ _   Command Header                   <prefix><FWAlias><Name>Hdr
: A* R, F6 M7 v1 e7 p6 z   Workshop                           <prefix><FWAlias><Name>Wks
4 y( I7 w' ~4 b: L; A4 v   Workbench                         <prefix><FWAlias><Name>Wkb- D. t% Q1 i+ [* t  O0 H2 ~
   Toolbar                             <prefix><FWAlias><Name>Tlb
! d. r* L' A: \! P. v0 q   Command Starter                    <prefix><FWAlias><Name>Str
# W; f9 }9 _2 A6 z( ZSeparator                           <prefix><FWAlias><Name>Sep2 a* _2 V! R' ^' c) I+ ~
Icon Box                            <prefix><FWAlias><Name>Icb
# q' K& Q3 c& N$ fMenuBar                            <prefix><FWAlias><Name>Mbr
: h! y2 i8 E. n) D; j' I$ ~Menu                               <prefix><FWAlias><Name>Mnu
, x& Z9 w& @( Y/ {; t7 qSubMenu                            <prefix><FWAlias><Name>Snu/ m9 Q6 z! T% `4 e" t( ]+ ?
: r+ ^0 Q6 F0 X% f9 ?6 M/ c
5.其他实体5 h& X# h' \  Y+ q0 \
  Features and Late Types               <prefix><FWAlias><FeatureName>
5 D# \: @4 Q# d" b! p- d2 g( c <prefix><FWAlias><LateTypeName>
% n: t' q5 l  _# p: v) V6 a& V( l1 ^% P* i0 r2 H2 y
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>+ l* Q, f* i, Y& ~# y
Data Members                         _<DataName>
+ {, ]' c* m  \+ U0 d0 J5 e" c: q; h& i' H9 V
Method or Function Arguments         The i prefix for input parameters
: q/ Y# A8 S) m* u7 {The o prefix for output parameters
" Y5 T0 n6 ?9 h) L- {8 }: `The io prefix for input/output parameters : a$ @( h$ h' F1 h+ s, T

0 A4 c5 ^- S: N6.名字的变化; k8 v% l2 k* Q- W7 x, v1 r
变量名字要以小写开头   int counter
' R2 c0 T& @6 b  ^函数名字要以大写开头   void CountItems()
% ~& c( D4 [" M6 p2 J& h: C+ v/ G数据成员要以下划线开头 并且不能是public   int _length
- \, N  n) g$ O- v% D$ a
: \: F% _2 ]7 p- I7 e
# K+ q+ M$ p9 }+ {- j; P9 o$ U2 e/ q. Y
9 k7 E# n' P9 q& _
7.指针
* |/ h0 {6 E$ Y- d: e% g+ {- N8 M
/ g+ r8 G' t& {
  * S% y- C, L0 h: B- d( I# X
Prefix- O) W2 V7 \7 M: i( \/ K
  
8 D1 C5 v+ z" E, `. r6 g4 {$ E3 J6 M5 k+ nMeans: z, E' N5 g+ j, t7 t& {) h
  
& {  S! s% J- c9 g( k' T: IExample6 h& k& Q. z5 L4 K7 z0 w

5 l6 s. D# ^2 C* ]3 k" h5 L  6 R- b! q' p) t6 Z! Z) D
p5 v4 o$ n' T# s5 ^0 t
  
9 U2 I% T2 _+ z' Lpointer$ @, E; O1 a6 y/ ?. z
  
8 g* D) y9 I" R. t$ D* p# E( H7 bCATBaseUnknown *pTarget;: D+ v- @- ~3 f& z
3 i* {4 A1 n# D. H8 b
  $ W# p9 S- l( Z0 s( }4 F0 H9 Q1 e& i
pp
: D% R! B* L" J) G% O* j) q5 R  $ n. t: e& p2 \) d" P
pointer to pointer1 s; P# f( y! K# j
  ' [1 Z0 h3 D  J+ P$ b7 U4 p0 [
void **ppTarget;
. b1 k/ B% K8 A/ i4 T# z
9 e. \' M* R8 p* K  " d1 A/ A7 E1 w9 v- ^! u+ r
pi& f8 i  q, v7 g( q3 }" {) F
  . ~9 g$ i* l0 _' o0 q
pointer to interface8 N8 _* s4 I# y
  4 {0 D: f: [* t
CATISpecObject *piTargetFeature;& r; |9 i: l! _9 t3 S0 h0 m* I- A

" r. d3 ]3 }9 Q: j  / R5 ^& s/ {' O% n# x3 u
sp  J) `+ T) p* y; q  y9 ~9 T
  ; L+ x3 h6 B  E  o$ B; [. o
smart pointer || handler
* q; O" {+ T( l3 V, B  3 F2 u- R2 {) u& o0 h9 ]
CATISpecObject_var spTargetFeature;; B3 }$ b+ w+ a& p1 ~0 }! Z

( F& P; Z* N" e$ j2 v5 p  
0 f+ [% q$ H. p9 ^* r7 _* c3 xa! f; R6 n' {  Q1 @/ o
  
2 X/ a) y  p, ~& Iarray9 S1 J, j7 X2 S* d
  & U* Z/ O1 X7 i5 W. ]  i& F" ?
char *aPath;" T' F8 T2 ]% D5 [* G8 q
: G: x$ b% d* V: M. M
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
0 K) K7 L- a/ W- W. {, w* R/ M. u) _8.接口指针的命名- A; d, X, b. `  p* v
格式:pi<InterfaceName>On<RootName>4 `" G2 p( i1 o7 a% j, x
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
) t5 \+ Z$ [5 M跟名字是用的三个字母的缩写 如上用Doc代替document  ]' H# g/ N5 s9 ~& W8 e

7 \2 {! a/ I" A2 I* u7 S  J8 r1 [3 S
6 o% V1 ?7 t% S" W% e! [# D7 |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了