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 2583 0

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

admin 楼主

2017-2-9 19:57:56

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

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

x

5 n5 d) b( g) m1.主要规则, S2 ^  m! a1 z+ y! U0 w
CAT 代表 CATIA   作为前缀(prefix). e. K3 s1 a7 ]9 Q  T
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   ! C  a4 A7 C9 z6 b
全部用英文: |  c5 U) g) n( j

/ U1 Y7 g' |- D0 f1 A. z2.目录实体的命名
( p* n5 ]9 p, JCode Framework                     <prefix><FWName>
# X( T7 N$ |* G, Q$ [Test Framework                      <prefix><FWName>.tst. i, S; M  q/ _% t/ _6 ]/ R' s. m

3 q3 @6 }7 {: \* }CAA Frameworks                    CAA<FrameworkName>.edu
8 T5 E7 _* K2 f8 P7 `) O CAA<FrameworkName>Doc.edu
: ~" ]2 r/ g% }  ^- M CAA<FrameworkName>.tst* s4 A* k& s6 m+ h$ t+ `
0 R: Q/ h3 m, E! U0 p
Code Module                        <prefix><FWAlias><ModuleName>.m1 ?$ i* K5 |/ {' S- s. O+ P
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
$ c! y, q: Z, L6 A  tCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
* g- k8 d+ B. @! `* Z. y* ZCode main module                   <prefix><FWName>.m6 t( r, i$ F, ^8 o% ]+ p
9 T. T( ]8 Q; w
Doc Module in education FW         CAA<FWAlias>TechArticles.doc/ w& n+ B9 i$ j; ^+ {  f
CAA<FWAlias>UseCases.doc* c( w/ N8 M- k" Z
CAA<FWAlias>QuickRefs.doc- g4 ?7 s$ S5 o4 {/ G( {" X/ h
CAA<FWAlias>Base.doc
+ \# k# O2 G6 w2 a
7 G8 M8 n) X4 j. q
- [9 x! [( i1 ~% o' t3.文件实体命名
8 K1 A$ z4 c% J   Simple Classes                      Class: <prefix><FWAlias><ClassName>0 R0 F4 d8 t0 z3 h8 h  M, R
File: <prefix><FWAlias><ClassName>.h( H, ?9 c6 v& P6 g0 R' k
File: <prefix><FWAlias><ClassName>.cpp# d9 q9 Y4 F2 y
5 j/ a; S! r7 Y) B' O$ r" E4 [
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
- t0 A) X+ t- I File: <prefix>E<FWAlias><ClassName>.h
" m4 j# r- e6 z: g' l File: <prefix>E<FWAlias><ClassName>.cpp  \# S8 Y; O6 P2 `: p4 p
3 @8 P& y- W- |" ]$ J/ _  J1 i
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>( d- P# e2 Z) Q, k# v+ D6 r1 u
File: <prefix>I<FWAlias><InterfaceName>.h
3 I. Q  O# P: f% k/ cFile:<prefix>I<FWAlias><InterfaceName>.cpp. I# S: R/ `2 p$ P3 b8 B

! b' I  m3 n( ^+ I) IAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>. G/ }8 D: h( b! Q$ v+ N; c
File: <prefix>IA<FWAlias><InterfaceName>.idl
$ r! C6 [# g% V1 _% q File: <prefix>IA<FWAlias><InterfaceName>.h0 t8 i6 h* p2 O
File: <prefix>IA<FWAlias><InterfaceName>.cpp8 m$ l$ o% |* a- N+ M

( e/ N/ \  @$ W* T. KInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers8 P9 ~, S  I5 E( c2 @. n' _
File: <prefix><FWName>.dic for DS
: i" K6 V: m( l4 V9 e2 _# `; x+ P& R$ p
Factory Dictionaries                  File: <prefix><FWName>.fact
- e- q7 e( O6 ?% d; ]Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>% v2 _5 `7 o5 e9 y
File: <prefix><FWAlias><FunctionName>.h& d2 h' c+ ^& d, h
File: <prefix><FWAlias><FunctionName>.cpp
5 `2 w: W4 {+ G, D1 u0 y9 Y1 y: y* z" r, w1 o8 V$ s
Enumerated Types                   Type: <prefix><FWAlias><EnumName>& q$ F, `+ G& d! Q
Value: <prefix><FWAlias><EnumItemName>
* {  I+ g; d4 M: h' j File: <prefix><FWAlias><EnumName>.h& E) Y0 G0 B% x) [9 \8 M

6 R# m9 v2 d- r# _Macros                              Macro: <prefix><FWAlias><MacroName>  e, X6 h& h# S
File: <prefix><FWAlias><MacroName>.h( q! p% A# O, n2 Y, j% i! P- B
  Z+ q9 w6 s# [) Y! z0 B3 W
Typedef                             Same as substituted name2 }( f% x+ `* c1 Z, _! Q
NLS resources                       File: <prefix><FWAlias>Name.CATNls+ ~. T1 ]! p8 v
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc( a: Q$ I) ^: T' n" \* v5 G
( G4 ?! J3 i% Q# @( `
Feature catalogs                     File:
3 e7 N) B$ m* q( ?" O- N <prefix><FWAlias><CatalogName>.CATFct
( y, g; X, |! M$ G: B) efor CAA customers1 Z( `% U" Q' i3 k( z
File: <prefix><FWAlias><CatalogName>.feat for DS, \" p; r& {6 k: ^( T2 n% J

/ y0 c+ u. S- m$ x) N4.用户界面实体
* k0 t. r  `8 C) y   Command Header                   <prefix><FWAlias><Name>Hdr* i! a! i8 f6 n
   Workshop                           <prefix><FWAlias><Name>Wks$ Z0 Q- `# ^" {1 m& G: d3 n) q. w
   Workbench                         <prefix><FWAlias><Name>Wkb  k: ?  i) q& D" S) ]
   Toolbar                             <prefix><FWAlias><Name>Tlb
& }- u9 \$ z( J   Command Starter                    <prefix><FWAlias><Name>Str
3 x0 [, \$ x( [) {4 Y9 LSeparator                           <prefix><FWAlias><Name>Sep- K" z+ X' H0 b% t; n1 M# a
Icon Box                            <prefix><FWAlias><Name>Icb! F! L2 o# h6 C
MenuBar                            <prefix><FWAlias><Name>Mbr
- G/ I  H, W( p% WMenu                               <prefix><FWAlias><Name>Mnu3 i9 U$ w. j# j7 _+ C' w
SubMenu                            <prefix><FWAlias><Name>Snu
( @, u! E/ T8 f" j6 ]+ r; t
4 q9 ~, S3 f# Q/ y. M3 Y& a5.其他实体
: i/ z% Y$ `" D! `9 [) y! ^  Features and Late Types               <prefix><FWAlias><FeatureName>* U& t  H( X) |  ]9 p7 h  z
<prefix><FWAlias><LateTypeName>
. w7 \* b; N0 ~, Y! H6 U: @$ V! A( K4 m' m4 V; v0 n
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>' S& |8 R, M8 n8 B9 F' z- R
Data Members                         _<DataName>
% m1 f: s  l. w% e$ g5 Q2 P6 t! i, l* B+ R
Method or Function Arguments         The i prefix for input parameters / w' ~9 w9 o; Y% L# C( x1 e) C
The o prefix for output parameters " A2 q$ t3 y1 H5 K& c3 u
The io prefix for input/output parameters . m8 p0 ?4 Z6 j( S* h+ e) ^
" X8 b' P0 L2 F2 Y' _" s4 m7 l
6.名字的变化
8 H) C* w4 ]9 j8 C0 a变量名字要以小写开头   int counter
+ e5 M' o1 @: W; ]4 G& G5 p* ]函数名字要以大写开头   void CountItems()
  z. K6 I! u& U2 {. ]" e0 v数据成员要以下划线开头 并且不能是public   int _length
$ ~7 [3 a0 W/ r, Y7 ]6 k6 S) r  Q. I4 L2 I1 b- w+ @  C" _
0 s0 |+ n7 ^/ n0 I2 J. B

" y' I/ H* Y. \. C2 _3 c% ]6 R* _: b
7.指针
3 ?1 v5 U2 ?: Y2 w
% O+ q7 m$ C2 Z3 w5 ^( m1 Z7 x - y' z" E" q1 B
  % ~# _" y. L5 h/ a3 G
Prefix# d% w+ C" a! N5 }: I8 J: J
  9 ~% T; W" m& p6 E
Means
2 O( ]0 h$ t9 g$ q) Z  ! P+ I" S& h+ f  D; C
Example
6 Y' L6 L: Z- P( t# D
9 w1 i& D0 q- d7 M0 Z( l+ Q2 S  
5 F9 w( h( F+ a! L% o1 ^1 xp
8 [8 Q7 u  j) x  
6 I  }# w6 m( Ppointer1 Y( v" y3 J( ?/ c! X' x, A
  
, R4 [% t; s7 `* RCATBaseUnknown *pTarget;: ?- y& c. u9 y6 }0 W  J2 {' `. x

; K1 w1 S$ {7 t1 a+ A  m% @7 \  . S7 J- Y2 a: ^8 c
pp' R7 I" h+ b; F: |1 T
  
6 M+ t3 f1 L( `pointer to pointer
7 @3 t. a9 y3 b  " n) D7 r8 a9 H5 u; @6 Z9 x7 W0 t
void **ppTarget;
: N6 y! @4 F/ Y; t# _& b, G
1 f9 U: ]" c) }8 L$ h- P5 M: c  : n6 Q5 [- b- k. x* f4 c# b( h/ I
pi
! m9 G5 D$ r4 U2 x/ {  ( `4 v% _# d. v6 f, l! {
pointer to interface. B6 I- o+ Q4 Q4 C
  
) D( Q; f. Z: yCATISpecObject *piTargetFeature;
( I3 D$ t' O# w! C' n+ G# t
1 H; g$ ]* l0 {# _6 J  5 Z; N+ _0 @9 f. ^. U0 d0 f' i
sp2 F; y* M2 C' e' y4 {& o7 W/ m
  ; H5 n" q- T6 }- @
smart pointer || handler
& Z* X# U" B/ u* r  1 a  \0 q! I7 l1 |
CATISpecObject_var spTargetFeature;
' v. n' |* ~3 Z" z, ?% C
! F1 A3 b" }* D1 A% h  
1 q  m3 D4 a9 v4 va4 ]) A9 ^- v8 L3 r2 B
  
9 q( }1 U% b, I. O+ i, z& e, marray) g% i1 P  W/ B) x$ H
  
$ n: _" k0 p4 cchar *aPath;
( b8 {& P5 y1 X- G% G
: Z9 b; \+ h9 X% }- r7 `5 JCATISpecObject **ioppTargetFeature  输入输出和指针放在一起4 O9 t) m/ k& v, ~$ t% O
8.接口指针的命名5 G# o* p2 p! h0 ^5 \- O2 x2 }
格式:pi<InterfaceName>On<RootName>
6 ~: L# ?* a4 _# K指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
$ _' Y$ C7 o4 v0 ]% A跟名字是用的三个字母的缩写 如上用Doc代替document
9 Y% X' u$ D6 o3 |) Q8 X4 y& h' y+ h- {/ h3 i4 P& L" {$ t
3 f4 s) s( \' y3 Z2 u* U" b0 L
4 Z$ D, o4 e, C( P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了