PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

1 g5 r# N. x" H: U! `6 i; {1.主要规则; y/ p2 H1 r6 A
CAT 代表 CATIA   作为前缀(prefix)
/ T( a8 N8 {( p) G) K& j1 C% p" _/ OFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
* C: w/ H  _& q$ H0 C5 F8 U2 {* J全部用英文9 a, T  Y1 l4 r& Z% c

- m' K0 m) h' ^1 C$ \% f9 _2.目录实体的命名0 C) r) \. |* ~
Code Framework                     <prefix><FWName>
$ [8 Y: I5 M# K5 }5 B, ETest Framework                      <prefix><FWName>.tst5 Y7 t8 j$ Q5 i) L8 ]1 C7 Z0 _
, G1 E: W+ D  n# E
CAA Frameworks                    CAA<FrameworkName>.edu
1 H* b3 a* {+ x6 o7 ~2 h CAA<FrameworkName>Doc.edu
8 {1 Y4 \: N5 f CAA<FrameworkName>.tst5 M5 M6 G% V1 A$ }
* M* _% ?4 b8 s* s
Code Module                        <prefix><FWAlias><ModuleName>.m7 u$ b* ]3 `0 k. M" z; u8 _
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
4 |! u( v3 l# ^0 B! l& SCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
. V3 S2 \( I/ G2 A$ MCode main module                   <prefix><FWName>.m
9 D7 l, y7 a/ i5 l$ i# C0 P0 `) n
Doc Module in education FW         CAA<FWAlias>TechArticles.doc1 _8 b) J! L4 T6 l$ @- n7 |
CAA<FWAlias>UseCases.doc3 Q. E' V: s  n# O1 S  I+ _2 F8 u
CAA<FWAlias>QuickRefs.doc
) b& H9 X9 `4 N! P* _9 | CAA<FWAlias>Base.doc% Y0 P. Y+ ^% y
5 Z5 @9 h* M1 {5 I0 c
" s. ?. q7 o( C3 D2 b4 q/ a6 ^
3.文件实体命名
+ b/ s. Z: {. W( m1 o   Simple Classes                      Class: <prefix><FWAlias><ClassName># J+ j( M5 k- C- U" H1 U
File: <prefix><FWAlias><ClassName>.h
6 _7 Q; n, S6 @) v6 }1 K1 ^ File: <prefix><FWAlias><ClassName>.cpp- c6 H& @4 Z5 d6 u9 Q0 o0 o

* V1 o7 e/ ~2 e( ]+ C* G. O& uExtension Classes                   Class: <prefix>E<FWAlias><ClassName>$ C/ k) N1 F, F, @1 p
File: <prefix>E<FWAlias><ClassName>.h& c- \1 w8 `; p& |$ ?( c
File: <prefix>E<FWAlias><ClassName>.cpp
* I6 Y* ~  v) r& D2 \( d/ r, j# [7 U0 }/ E' F6 z7 N
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>- I( m2 \9 X+ G% Y; W1 c
File: <prefix>I<FWAlias><InterfaceName>.h
& }# P" G9 u: qFile:<prefix>I<FWAlias><InterfaceName>.cpp& C0 M- G, ]- q. E
! ]9 H6 e4 K" K( F5 z7 D6 K
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
: \# J7 o8 r  {; H0 }; U" [File: <prefix>IA<FWAlias><InterfaceName>.idl. f4 k# u; t' i$ E  p
File: <prefix>IA<FWAlias><InterfaceName>.h, a/ c9 A7 z4 b( x
File: <prefix>IA<FWAlias><InterfaceName>.cpp0 n' A+ O. u- {/ {

4 u, Y9 [$ u3 f) u) m, m& N- [: s$ uInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers  K9 h6 H" K- N2 Y" i4 d/ A( F4 r
File: <prefix><FWName>.dic for DS
) O1 s% y/ _% J/ }0 F4 T% r0 _
, |; n) l$ |* z9 q% U/ Y5 OFactory Dictionaries                  File: <prefix><FWName>.fact/ ~8 q- g7 Y. T8 x4 \
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>, S2 I4 w* R8 p& M7 S2 x3 ~
File: <prefix><FWAlias><FunctionName>.h
5 P, ^  |, X' G File: <prefix><FWAlias><FunctionName>.cpp
5 {# q( `2 C% S. K3 E# j: w% j7 o0 p9 ^+ l2 |( v
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
( p1 L2 C: V7 P7 Q Value: <prefix><FWAlias><EnumItemName>
+ L4 S% y8 _9 e, ?/ g File: <prefix><FWAlias><EnumName>.h
& n7 @! R1 k; A9 o
5 r" v6 c' x% y# o& Y3 WMacros                              Macro: <prefix><FWAlias><MacroName>! `( w" ]! R4 @( |( D1 z
File: <prefix><FWAlias><MacroName>.h
- }" j8 c2 [) h1 g
, V- c# z$ L- d0 E8 i. GTypedef                             Same as substituted name4 `; [  j4 ?5 o( R3 G
NLS resources                       File: <prefix><FWAlias>Name.CATNls
# Q4 y4 n- K7 ?Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc8 Q; k& I5 _# m' F
" D% L9 S* c! S! l4 e
Feature catalogs                     File:
8 |8 J$ U5 P1 `$ J+ O <prefix><FWAlias><CatalogName>.CATFct
/ O6 P0 w; W2 I0 ~3 z- K" Lfor CAA customers; |, L0 R8 m0 Q* g
File: <prefix><FWAlias><CatalogName>.feat for DS
% j4 Y1 X$ ^9 \5 I
: V+ D! @# O9 U) e$ H; K' S% I' T4.用户界面实体1 _' t/ v' J: z# ~1 K& h, W9 e! D
   Command Header                   <prefix><FWAlias><Name>Hdr
$ N. e7 z1 ~( i! O/ V7 R; x# H: N% ~   Workshop                           <prefix><FWAlias><Name>Wks
1 ]6 Y0 W9 G/ C+ ?, z   Workbench                         <prefix><FWAlias><Name>Wkb# q+ `. L6 W# b* N( _% v% k
   Toolbar                             <prefix><FWAlias><Name>Tlb
1 q: Z4 W! \- [4 ^2 @+ P   Command Starter                    <prefix><FWAlias><Name>Str% h! R# \: }' q& S* O  j
Separator                           <prefix><FWAlias><Name>Sep
4 w$ N" E( d/ b% e; IIcon Box                            <prefix><FWAlias><Name>Icb8 k7 h- a# t  s' O
MenuBar                            <prefix><FWAlias><Name>Mbr
" m* o3 Y1 s' Y! e, {# vMenu                               <prefix><FWAlias><Name>Mnu! ]5 z2 i$ Q7 N6 Q0 c6 w. S
SubMenu                            <prefix><FWAlias><Name>Snu4 m5 b' \3 M5 c$ t# t7 H
4 q) ^: x: r( D
5.其他实体; B4 q, ~) T3 N# w) {+ k4 k) Q
  Features and Late Types               <prefix><FWAlias><FeatureName>- `5 w! Q* i; M( H
<prefix><FWAlias><LateTypeName>) W9 F+ ?. N5 w% G

4 Z3 ^2 {1 \. AApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>7 Z' }" O  l$ k4 O
Data Members                         _<DataName>7 {! f# G/ R  {2 ]5 v) `% \6 M
, l0 g  ^7 b3 t9 K; {7 \
Method or Function Arguments         The i prefix for input parameters + e/ x' {$ U! M0 ?( ]7 k
The o prefix for output parameters $ ~. o/ w$ ^. H# f7 r5 e- O
The io prefix for input/output parameters # W9 C% h+ e6 P# A9 w& s
# [2 G# `; X3 o4 o
6.名字的变化7 Z' |- E! s5 Z4 P! Z; p) U/ a
变量名字要以小写开头   int counter
/ T- n; [) T: j% ~2 \9 v函数名字要以大写开头   void CountItems()
. q7 E( Q& e  L& G数据成员要以下划线开头 并且不能是public   int _length0 N% \; f5 z, N: {& Y

+ l0 I+ `0 a( a+ q
" g5 e7 y  P  ~3 ~" z+ ~) e) Y5 x$ C' E
( _$ r2 M) B+ |" R4 [; ?
7.指针
0 m5 W4 a& L. h, [- F
$ E* Z; Q$ B6 v8 Q/ w! X
9 t9 v$ K  M) B. y* d  O  3 P! |# q. m0 |0 ~2 s9 Q
Prefix3 X0 M- B5 Z! s( u6 H
  
: F; n2 q% n1 ^, U/ oMeans
% U, K( a# z( _2 P2 P% W* l    k  ?( M  @% W7 J: U1 i1 b
Example
3 y* E, i$ b0 [) ?- J) u  m1 J6 Y
) u9 y! x" v: o( k% N  : N" t9 Z" [$ f" v
p+ i# S) G& p6 i9 M: y5 y
  
) ]  Q5 S+ C  f* k" G: F! s& upointer; x" W! E0 \# v4 `5 I; O  Z2 d, n2 m
  
1 ~; G8 J1 D9 P8 q% fCATBaseUnknown *pTarget;
. V" |6 `( t1 \5 r- r0 V* R; l" Y, A 2 a; A, `; b8 g* X. J; Y1 b
  . G9 ]& y+ B* `) s
pp
- d, J0 i. z& i0 e( K6 p  8 D# i9 p! U3 @: Y  n
pointer to pointer
$ }$ L3 o4 Y3 f; ~7 T" j5 M  
1 T! m' A& @6 L5 K1 T2 Lvoid **ppTarget;% F5 H7 q* B( ^1 u! q

# J4 M% _2 T: F* ^* i7 n  $ d! `" Q3 n3 ^. F) C4 l
pi
5 a6 t0 d# M, D# l# V  
7 I# u2 h# J1 _4 cpointer to interface
* A1 L/ F$ {( X- m7 L  
' _: n2 O- n( @& d- i" j8 ACATISpecObject *piTargetFeature;. J" C- T$ O5 D4 \! a# A8 }
  i) E* T% C3 o$ |
  
3 z9 W3 H+ T8 u( w) Jsp
9 _$ X) Y* n" a$ K& m  0 W6 i3 i' |2 b$ u
smart pointer || handler
, I5 l* z6 V( ]2 [  q3 i3 @+ a  
% V  S. h4 y9 J/ a( nCATISpecObject_var spTargetFeature;
8 x1 U/ u2 F  F5 s& t7 g. y
4 w3 U: D- V5 {: @7 E! b  
9 u/ Z" M* [# {a
- v$ Y, ]- P. b( O: {8 b  
# B: l- @7 D* ?4 y; L( d6 jarray
6 `; y; G7 c5 Q! Y  ; w2 O/ c; L8 r, d
char *aPath;
1 K) J1 [! `5 ~! l7 T: I' ^ ( B0 t5 Z$ u) m+ b2 I
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起! d6 F+ I/ D  b, I
8.接口指针的命名' |$ W, P1 s6 \6 D3 L: F3 L  ~6 p6 R
格式:pi<InterfaceName>On<RootName>
  q+ ^$ [- q: F7 X) {. H5 c指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
+ f; K5 D0 B* r7 H/ E" n跟名字是用的三个字母的缩写 如上用Doc代替document
* J$ f  O% p( s( h: w) d2 c& ^9 v: f) x: H- U

! [6 f0 w4 h& k& l  i/ s! U/ t( P+ u0 R* r" a( D- t0 n! Q" g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了