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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
3 T4 c. n4 I4 Z$ h3 `
1.主要规则+ \, q2 Q5 O, w1 L  I/ ^: t
CAT 代表 CATIA   作为前缀(prefix)
" @/ o) }: Z  K9 k+ _  ^) ]; KFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   $ Q5 n7 [/ t% ~: T3 m
全部用英文& t: f* q: m% d# ^
% ~0 @6 {+ U1 B. R8 M2 Z
2.目录实体的命名
3 d; ^2 ?/ f0 f. x. H% R% CCode Framework                     <prefix><FWName>
# t' R7 `/ R/ uTest Framework                      <prefix><FWName>.tst9 |. x0 |: Z0 y: \! {+ m# ~

! _& J; v% \3 {. `) a( x6 sCAA Frameworks                    CAA<FrameworkName>.edu
6 K5 T, f0 D7 A! c" V8 d, M CAA<FrameworkName>Doc.edu$ Q# t3 B4 Y; ?& ]; n
CAA<FrameworkName>.tst
$ ~9 C1 C( ^. f5 S1 x" M, s
+ l" l, q6 r: fCode Module                        <prefix><FWAlias><ModuleName>.m& W/ t* y) R5 Z8 W! p. [8 ^
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
0 ^( K$ M9 {$ ^: H' t' C, ^( M! TCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
% X) c% O) J- a7 e/ m2 `/ hCode main module                   <prefix><FWName>.m
; T( f  s  ?9 ?
4 ^- q* h) I! wDoc Module in education FW         CAA<FWAlias>TechArticles.doc5 L; c! L* H; C4 G  o9 _! q# K
CAA<FWAlias>UseCases.doc8 j1 I4 c4 @( S# f
CAA<FWAlias>QuickRefs.doc
+ n9 r# w$ i2 Z* q. Z1 n CAA<FWAlias>Base.doc' z: b3 Z. \3 H6 M

2 A; G! G6 y8 V$ |3 q1 C1 y5 [# Q* E! ~$ a! z) D
3.文件实体命名
) D) I; ~  m+ {1 W9 b' O3 m   Simple Classes                      Class: <prefix><FWAlias><ClassName>) K" B- C7 N) D( x+ c2 \$ ]2 ~% ^
File: <prefix><FWAlias><ClassName>.h8 _1 w  E, y* L, o
File: <prefix><FWAlias><ClassName>.cpp
$ F# H' A7 V8 M, C* M* d
  z! O6 s/ ^" o2 b% c% ^Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
7 L7 z) z/ e) w" d, ^ File: <prefix>E<FWAlias><ClassName>.h
  v; C$ S5 O& Y8 p  J! s+ U) A: D File: <prefix>E<FWAlias><ClassName>.cpp' C6 B0 w8 x( y) [9 D
& w+ `' a) ?3 p! U
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>- ]% z- D& `4 T7 T" b$ ?+ Q
File: <prefix>I<FWAlias><InterfaceName>.h
0 c  Q7 f2 p* k( p" a9 v; Z! ^& d* c& aFile:<prefix>I<FWAlias><InterfaceName>.cpp) R# C9 p6 Z" {: j
5 @9 S7 e; x6 B0 r- y
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>' x' \) k3 _3 t, e
File: <prefix>IA<FWAlias><InterfaceName>.idl
. D! V7 \5 G  ]4 [0 K; q' L* d File: <prefix>IA<FWAlias><InterfaceName>.h. `+ Z1 ]& ~7 W. s- }7 `% K9 }
File: <prefix>IA<FWAlias><InterfaceName>.cpp* z* _: @" J2 g- O: e6 o
# f0 m3 V  B# O# v( f  f2 K% ]) Q
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers# W* S4 r/ B$ I+ W
File: <prefix><FWName>.dic for DS& B  x3 v+ q/ h- I
1 W& s& f7 Q8 R
Factory Dictionaries                  File: <prefix><FWName>.fact' Q3 N5 i7 W0 n, g( T
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
) Z/ ?: ], G; x4 n& ^0 ` File: <prefix><FWAlias><FunctionName>.h
# z+ h1 z6 ]) Y# ?. R File: <prefix><FWAlias><FunctionName>.cpp, n# \) X$ q9 j3 f& A, g
" u0 k# E8 v; {) }1 M# ?. G) z' j
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
9 g0 Q4 }$ A7 P6 P4 ~" l+ h Value: <prefix><FWAlias><EnumItemName>
3 P- v: q! \8 t/ r$ ~6 q8 R2 h0 u File: <prefix><FWAlias><EnumName>.h/ X' `; \  B8 j, o- m
8 H) S) T8 h6 Q1 v8 Q: ?, O
Macros                              Macro: <prefix><FWAlias><MacroName>3 n! x$ s" ]  z
File: <prefix><FWAlias><MacroName>.h- n% E' b' W7 B9 N! P6 X: ?* K
* B: ~! l2 ^; E) v* |8 ?( B
Typedef                             Same as substituted name
4 U  K0 x. |- L, Q$ U% x3 v( ANLS resources                       File: <prefix><FWAlias>Name.CATNls. a2 y, r; e3 F
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
9 Z' d* X  c% I/ O* }4 C) ~/ Q+ W, Z! t: E. V" _2 N
Feature catalogs                     File:- m" d8 n7 ]! h' k
<prefix><FWAlias><CatalogName>.CATFct
) g' F* L6 N1 q8 Efor CAA customers. h8 l$ K5 z( |4 x" w+ t, ]- H
File: <prefix><FWAlias><CatalogName>.feat for DS
& D4 H/ v  i! ]9 I6 M; o5 L
' J8 A* y6 D; g! n4.用户界面实体
2 E$ p! ]" b. w   Command Header                   <prefix><FWAlias><Name>Hdr' c( {6 {; ?4 ?) s
   Workshop                           <prefix><FWAlias><Name>Wks- J+ i7 z- s  Q' B3 @& Z+ ^
   Workbench                         <prefix><FWAlias><Name>Wkb* e1 W) j2 f/ \1 B/ M3 y; X
   Toolbar                             <prefix><FWAlias><Name>Tlb
% A7 t! h3 L7 H1 h. L" e   Command Starter                    <prefix><FWAlias><Name>Str/ a+ ?3 G* O6 X/ i" ^$ A0 R; a
Separator                           <prefix><FWAlias><Name>Sep
. x' a7 V+ x, Y3 T9 x0 cIcon Box                            <prefix><FWAlias><Name>Icb
) f: ?" W. g/ j+ V% L3 j7 x% q& d$ Z* J1 ?MenuBar                            <prefix><FWAlias><Name>Mbr4 A: |' M$ ]5 U! S4 B1 `* r9 y
Menu                               <prefix><FWAlias><Name>Mnu+ B- F  K+ f5 ^0 C
SubMenu                            <prefix><FWAlias><Name>Snu$ ]' y2 V5 s! M2 ~$ U- E( {4 o
6 ~+ }, E' r/ A+ L7 o" D/ o
5.其他实体9 e' r/ z3 q- y
  Features and Late Types               <prefix><FWAlias><FeatureName>& T  F# j$ ?+ u9 f7 b, w
<prefix><FWAlias><LateTypeName>( H  U0 F0 X$ y
3 c6 t+ R' q, N& O# y: A
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
( t6 ^5 N5 ^8 o) ]& CData Members                         _<DataName>
+ l- @9 U8 T7 N1 [5 U  U
; X* A. d) r+ ]5 d+ BMethod or Function Arguments         The i prefix for input parameters
* `' P: l, x- R/ c3 A+ I7 \The o prefix for output parameters
& v$ I: X- }! j% y9 d+ ~The io prefix for input/output parameters : w* P8 C+ T$ W7 L6 l

3 N! X6 Y: b3 _) J3 n7 V6.名字的变化
: O9 f$ {; r) k变量名字要以小写开头   int counter
8 T  j* Q' ^: n8 A  o5 Q. n函数名字要以大写开头   void CountItems()' x! B5 T" W0 g, p9 b1 g
数据成员要以下划线开头 并且不能是public   int _length
' l: D) T1 u' W, N4 `( i( g4 Y8 h% R, h7 c2 [1 R; |

5 [9 i) |* J! c( w# \3 |& i: n( }) }
; }. j6 g0 d6 X) M
7.指针
1 Q- }2 ]' e) B+ m- X; k; f1 v9 N- t. I; s/ e' d$ b
9 }7 S+ v6 ]3 w
  
6 T+ j# e# _8 E1 OPrefix% T+ x' a2 @7 [: L( u6 e1 l  I
  - t3 P6 y) f5 ]% r- P
Means
; Y$ y5 A% j9 p; @+ ~9 q# a  . G8 c0 u& I# `; j1 ~! y1 n0 r
Example, a0 r* H  ^- a* V( X5 Q3 ?3 N  v

+ ^6 C* u% m- p0 `5 l+ r$ V  ^8 m6 G  ( h6 o3 @! L2 B: I, O
p) Y: G; R6 c, l7 L  L# K! r; l7 S
  ; q+ |( Q4 Q' q( @8 W
pointer
+ q5 w5 I, |* O* g" }4 G! S4 ?8 f  8 g/ E) N$ _( i
CATBaseUnknown *pTarget;3 S0 z9 p; m3 r/ \7 N0 O& _& X

4 L& m& p6 r; x+ f% M# c" ^/ q8 b1 j  
! J+ _1 `9 p8 V0 Q  gpp  X. @; l7 z- o" D7 {
  $ H/ F9 F6 ]' q8 p
pointer to pointer7 ?3 w/ X5 `, c" l! w
  
) ^7 _6 g' |( Cvoid **ppTarget;
$ k, t& ~, K! [! I6 ]: p ) y/ O8 f* x1 G
  
8 j' y8 a) }) Dpi* x7 M# K: o5 S; k+ |$ z" A
  
: Z$ V) K6 r8 X  t5 l* S8 Qpointer to interface
+ ]! c" ?* G/ ]6 O9 |  
: d8 {- i8 }& S) |CATISpecObject *piTargetFeature;
# W- ^' H4 V. D: X
. G( i; S8 Y5 Z5 b3 {  y4 k  u& w7 R  & B. i& ^+ p" [1 I1 Z9 U
sp
7 J2 L  O; u8 ~  
2 C) V( C5 q$ o) \& F8 I" xsmart pointer || handler2 l% o' _* Y7 Z+ \# Y: F
  & ~/ E7 [" {3 s. M. L
CATISpecObject_var spTargetFeature;
1 ~* A$ m' A2 E) o & X3 P" l6 ^  v% Z; {3 |
  
' Y8 \: |2 W3 q4 c( |1 E/ B$ ma
" z- L6 }: k: p) C  
- ]  V4 T8 J% M) Barray
  |+ b0 v. b" V6 D6 F7 `4 ^  
8 [0 h& V9 l, O* o- o$ Schar *aPath;' t, V1 w; I  D* b

$ k+ U* R5 Z6 X, K5 H2 c+ NCATISpecObject **ioppTargetFeature  输入输出和指针放在一起7 h, w4 Z$ Z" a3 |& |
8.接口指针的命名% _/ V/ f9 _! w4 u) e: K. h
格式:pi<InterfaceName>On<RootName>6 j; ]8 @& i5 V( v2 V  m+ p
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的( e& Z0 `2 D  D: x/ D  `' N5 J8 P
跟名字是用的三个字母的缩写 如上用Doc代替document
" I/ h  O8 z+ T0 q. |! O4 b; P& w; @
' ]$ D( X% `* ]' J1 \3 q+ E4 [: Q/ n8 `( H. d' m' }( v

/ r+ [# D( y+ ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了