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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
0 M6 D' u& o8 a/ o
1.主要规则1 D4 U4 z- s$ R3 u7 P
CAT 代表 CATIA   作为前缀(prefix)
5 v% Z2 K! c7 a; e8 h$ Z* \Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog     a  O, R0 e! f$ D) ^$ b. p% ]
全部用英文
# y% O: i( d7 l0 x7 {$ c
" \$ x8 e* }/ t& \+ l' Z2.目录实体的命名7 j7 X" o3 P  i. e+ I; ^+ R. f
Code Framework                     <prefix><FWName>
( O7 {7 f  C- }" n- v3 oTest Framework                      <prefix><FWName>.tst2 A5 u" m/ S; f+ n/ ]  B
, f& O2 G' W' x7 O* T% e9 t5 L
CAA Frameworks                    CAA<FrameworkName>.edu, |, v  X2 q+ g# R8 u4 E$ h
CAA<FrameworkName>Doc.edu( S& W+ k: ?9 J9 Y, S2 u
CAA<FrameworkName>.tst
9 I4 o0 [2 j" K: M1 r' Q
4 m# m! E. G4 k8 qCode Module                        <prefix><FWAlias><ModuleName>.m
$ _0 x* l# `4 T/ l  rCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
% `& Y" p* ?- ~9 F- V+ L* q5 sCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
2 S: r1 v9 i9 D  b8 ~5 }Code main module                   <prefix><FWName>.m
" V7 U, |2 u. V- Q9 Q  l4 r$ O0 {+ [% c" C% [# X. X
Doc Module in education FW         CAA<FWAlias>TechArticles.doc
: l  r  X9 j6 ]2 Z$ ~5 J& N, f, s CAA<FWAlias>UseCases.doc, M- }3 ?$ u8 _& ?$ G( O
CAA<FWAlias>QuickRefs.doc9 V! Q$ a0 o: ~( X6 y# y
CAA<FWAlias>Base.doc3 n1 W* A+ N, m2 N4 m# L# ^

  S# g( ?# R( H6 x2 \! j
  ^0 q7 D8 N5 ^7 z/ H" A# f3.文件实体命名
; E: }" \* w3 p) A" a   Simple Classes                      Class: <prefix><FWAlias><ClassName>
* l9 c+ U; _7 s File: <prefix><FWAlias><ClassName>.h! l- q. r* p5 h$ n4 G  o
File: <prefix><FWAlias><ClassName>.cpp6 r! L9 m- J# v0 w) A& ~$ F
' i1 x5 f% M" P7 a
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
' h/ ^$ M7 D* S1 y/ D( t% ^! q File: <prefix>E<FWAlias><ClassName>.h
' V" n5 G* H% O  `8 z File: <prefix>E<FWAlias><ClassName>.cpp
& H9 A+ z, k  A! C; q+ O0 ^6 b( F/ i( e
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
+ H% z) v/ Y% Z File: <prefix>I<FWAlias><InterfaceName>.h
0 U) {, G( x; e3 IFile:<prefix>I<FWAlias><InterfaceName>.cpp. ?1 w; F" E7 ~4 p4 H
0 z" L- U2 B0 x4 \: |
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
  M! R; u  y& sFile: <prefix>IA<FWAlias><InterfaceName>.idl3 ^; _7 Q: Q+ u- ?; n  M
File: <prefix>IA<FWAlias><InterfaceName>.h% Z9 E8 o4 H4 x" ]+ d# v
File: <prefix>IA<FWAlias><InterfaceName>.cpp
" r$ K  |( Y. x* @2 u7 s- d) u: F. t/ s) a0 u' w3 [
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers/ _. E9 I; ]8 o) v, x
File: <prefix><FWName>.dic for DS+ u9 p4 `% m% {: D

' l7 G0 s+ y, O" J/ J4 v7 IFactory Dictionaries                  File: <prefix><FWName>.fact: ~" C+ s8 b4 F2 n& s* s
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
* i0 B7 x0 g6 u% R+ N6 h& } File: <prefix><FWAlias><FunctionName>.h
4 f+ O% r  o* I  x- i# V File: <prefix><FWAlias><FunctionName>.cpp- D8 H: Z$ ]  r) A! Q1 m! u
# u2 i7 O" E) k- h& X  l9 A8 ^! T
Enumerated Types                   Type: <prefix><FWAlias><EnumName>& Z6 A4 m" o1 b- x. M
Value: <prefix><FWAlias><EnumItemName>
0 }% _: J3 U3 b6 k File: <prefix><FWAlias><EnumName>.h* H6 y3 f: V- }$ d" L

" H5 X1 X: I7 G" XMacros                              Macro: <prefix><FWAlias><MacroName>
4 |0 C$ T1 x8 Y$ z, h File: <prefix><FWAlias><MacroName>.h( \4 a. @' D9 @  i
- n/ n9 W: g9 g1 A8 D- R& I& }! U
Typedef                             Same as substituted name
  J" Q5 M  g! Z  V; o8 W8 d, iNLS resources                       File: <prefix><FWAlias>Name.CATNls/ F7 L' r4 E0 v/ n
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc. Z$ Q3 [6 F8 n" Y

$ X1 ^* b% G" W7 K% FFeature catalogs                     File:6 W8 }" y1 _" @4 Z$ v, }$ d. @
<prefix><FWAlias><CatalogName>.CATFct
' ?# @9 z8 a' M2 ~% a( ofor CAA customers
5 n+ }& R- m4 J. Z# [( i6 jFile: <prefix><FWAlias><CatalogName>.feat for DS
# l' C9 g; ^8 i+ T$ Z3 ~. V4 e5 I
( T# |( V+ O# c# ~# z0 X, Q+ l' v4.用户界面实体
, q, I6 {  y; [9 w! }0 y# ~" o   Command Header                   <prefix><FWAlias><Name>Hdr+ C1 h( }3 J0 i4 }( |. \# C/ y  P
   Workshop                           <prefix><FWAlias><Name>Wks
5 _0 g0 C6 `1 G' e! ^$ W   Workbench                         <prefix><FWAlias><Name>Wkb& b, _" j. ^2 p
   Toolbar                             <prefix><FWAlias><Name>Tlb
- J+ {7 c& h. G9 E/ D4 c, V3 v   Command Starter                    <prefix><FWAlias><Name>Str
+ t; z$ h4 z4 ySeparator                           <prefix><FWAlias><Name>Sep
9 }+ O3 R1 Q5 G5 U, S1 jIcon Box                            <prefix><FWAlias><Name>Icb; P% C: D9 I6 R2 E/ L
MenuBar                            <prefix><FWAlias><Name>Mbr
; F* K4 f8 d9 _* y$ O+ {Menu                               <prefix><FWAlias><Name>Mnu
; P9 w& A/ f! l5 V7 f) aSubMenu                            <prefix><FWAlias><Name>Snu+ a; f8 A, j4 `$ K9 m  U. r! K9 t
; L( \! O: B: ~0 r6 c& r
5.其他实体; ~7 I; e" i7 O
  Features and Late Types               <prefix><FWAlias><FeatureName>
( U9 |' j4 Q/ _# }) T <prefix><FWAlias><LateTypeName>' d) R4 \4 H; D0 u

+ G" @2 Q8 U7 N! p8 x) z- YApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>+ S1 @& s: u$ Y3 T
Data Members                         _<DataName>
0 z$ I7 n) W  g1 {, I- V
2 P, }  O6 `9 SMethod or Function Arguments         The i prefix for input parameters
+ x0 [: c, Z  xThe o prefix for output parameters * t5 B) T" D  _7 Y0 u
The io prefix for input/output parameters ! B2 @* D' R8 m- J4 |7 D4 [

! p; q% r" e7 N9 {1 p7 e3 d' D6.名字的变化
. X' C% B  ]% b- d+ |' V( g变量名字要以小写开头   int counter0 a  J8 J3 {8 V" S) M$ ^  X
函数名字要以大写开头   void CountItems()
+ Z* I! `2 J# x& w1 @! m数据成员要以下划线开头 并且不能是public   int _length
; z& M7 l$ y, [3 a
' e* r+ Y: |- {4 W8 Z+ r3 d. R$ C( I7 R

2 [5 f; b8 {$ y
4 u; n% [/ `% m) U* T1 P7.指针  O0 p; z4 F9 F5 W  |( s
2 @3 m7 B4 o! C, U2 {) k- \
2 Y8 G0 W. ^. t1 n; A* O. q
  
, W5 ~; R1 ^( W# f1 b0 P- g; z; o& gPrefix3 p. O# [8 X! i' c# A
  , R+ F! w: T+ {# m0 A. K" E
Means
4 t, t' Z8 ^* l' b4 B7 X! @  1 @6 {: Q- M# z& B! E, c- W) ]
Example6 z5 j3 ~# s+ z4 J2 |& `
, X# _, l; h% D" o: o# r
  5 v8 G5 Y  ^# B9 i& b0 m+ ]
p
' A( X: x$ e) _( G8 o# D  0 e7 S. X- o! `8 w: g% X& b4 u
pointer
3 U/ p; y% ~8 P( q/ T# P  . X0 a# L; r7 V3 m) E, j# d- s
CATBaseUnknown *pTarget;
9 V% G. u3 r8 P3 k  z9 s ! Y4 {( N* l8 ~% p9 k* w
  
5 Z  K' E" P% N$ [8 \6 Xpp
. F7 b+ P6 b% D9 e7 e/ ^  8 G3 g) Y4 o$ L+ j/ F8 g
pointer to pointer
2 E8 A. [! P4 f: N% U3 F  
3 X' i/ N/ J1 v9 e# P, ~# Qvoid **ppTarget;
) C+ _( c6 ~7 M" d* p  }( i  E( t/ D & P+ |) I- V) M# U4 g: {
  5 m) A, c) n  ]9 a. Z
pi
* ]$ J4 l6 h) c6 W  ' x: d  x: ?$ T6 z1 F% R9 Y  ]& K" J
pointer to interface8 p" `. [0 j; m! J1 C
  / M% H. F, O: Z) w" U; x
CATISpecObject *piTargetFeature;; g  p4 U: a- X+ H% P

, I0 X. Q' n  z/ \' m4 F  [- ?  
: l: W+ N4 _0 h2 F" J' d' @/ ^& Gsp0 Q" J' W! q% J* h- y5 j, G
  
- f( Q/ z* I  H1 J' ksmart pointer || handler
2 i! U" K2 V/ f, V7 }  / o; w; N5 f$ ^# ~5 G
CATISpecObject_var spTargetFeature;& v- R7 F: ?7 h, p' P

5 H1 S1 s/ ^5 B+ B" j0 Z  - x' W) t3 K, f% N2 S
a
! G9 p  j7 H) `2 o' D  7 h1 Y0 v% U% |- ^- t
array
3 B% Y6 G6 v. y. J* Y+ s8 ^  6 j! B7 k+ \" i3 Z9 j2 D- L; G
char *aPath;2 i: j( K* q7 s3 l* ?/ |
) @  }# b* d$ c" n5 C4 O% y: ]0 Y6 Z
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起' E6 s2 E9 z6 L( A( o* j& D
8.接口指针的命名: H1 T2 b' j* d3 X3 e6 Y. N  `
格式:pi<InterfaceName>On<RootName>* P: ~$ |/ P6 C) c
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的- {' R- N! [- K9 [
跟名字是用的三个字母的缩写 如上用Doc代替document
( j# x0 o2 K9 H( Y+ ^$ E3 [8 o9 e4 ~1 Q) Y. R) i

8 P& v8 @0 W$ N' s/ {1 c8 m7 c. ^7 q8 i1 d
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了