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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
9 p% W) g' t& h* r8 `8 H; h# j
1.主要规则* V3 i. A- n5 v9 |5 f5 g1 B
CAT 代表 CATIA   作为前缀(prefix)- C/ {) v1 v8 x& V) }, k4 R3 |5 O! h' R
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   ) h: t( |) g' w* W* F$ B& d
全部用英文: x; J  v5 c  x! G: X0 n* i& W! R# A
5 l" `$ o! w% F& S
2.目录实体的命名
1 L$ {2 I. Q9 X4 S. \Code Framework                     <prefix><FWName>* x, o( {$ R3 Q+ ?' z
Test Framework                      <prefix><FWName>.tst, H7 [4 b* I$ G$ }5 l. E" _# M
% N0 w7 S/ X' M  r; @2 @
CAA Frameworks                    CAA<FrameworkName>.edu
6 _$ Q2 v1 x- u. D  _ CAA<FrameworkName>Doc.edu1 ^' O& o: \. s) U  n! N$ }3 ^
CAA<FrameworkName>.tst
9 F, u/ ]1 H6 }4 ?: v
9 _+ U! V. y9 [! |Code Module                        <prefix><FWAlias><ModuleName>.m
, L' l& p/ ^' U7 SCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
% `) O" b7 N, S9 n8 c" H4 l& dCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m4 K; Q( e& K6 L2 o" E" X3 d8 T: W
Code main module                   <prefix><FWName>.m& a+ K8 M" W$ |( O; h

0 ?9 J- A, {6 s% }6 B  nDoc Module in education FW         CAA<FWAlias>TechArticles.doc
, r& z' b7 L: i1 j1 L) O6 r CAA<FWAlias>UseCases.doc0 G$ K+ X2 A1 ]/ h
CAA<FWAlias>QuickRefs.doc4 H% {* l9 r3 j7 I- }
CAA<FWAlias>Base.doc
% X! p- \8 t* [5 U6 X; R  F3 T' i0 g. X7 [- n9 j0 D, C5 q7 ^

+ X) h' L& o5 [* S' X$ H' d6 y  r3.文件实体命名
2 B* U" i" A& `5 D   Simple Classes                      Class: <prefix><FWAlias><ClassName>+ B0 O/ ^$ E: c$ y( p, n: ^( C
File: <prefix><FWAlias><ClassName>.h% N4 ^, v- N" x5 O' Z( J, [# K% d  ^
File: <prefix><FWAlias><ClassName>.cpp0 O- M8 n1 Z* y

5 Q# [( B6 q7 {/ b  f& T( r8 iExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
6 j5 `3 K7 k4 e/ y1 u" K File: <prefix>E<FWAlias><ClassName>.h
$ h( m$ p0 r0 z0 | File: <prefix>E<FWAlias><ClassName>.cpp
& o* L  m1 m. {/ Y6 b7 s
2 C. }& F" Y/ {4 @Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>6 I. K% T4 w8 y$ L# ^  _4 u
File: <prefix>I<FWAlias><InterfaceName>.h$ e+ a4 ~  m6 c- X/ X$ T  l; K
File:<prefix>I<FWAlias><InterfaceName>.cpp8 b* r. q$ R$ g1 @: [. N& D8 d% a0 ~
: j: v4 F8 |3 M* b
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>( i; ]4 m3 r; s0 H
File: <prefix>IA<FWAlias><InterfaceName>.idl
4 X3 ^7 K+ o$ S, N. l5 n( Y3 _9 G File: <prefix>IA<FWAlias><InterfaceName>.h
) ~1 Q, e9 u8 s  K+ f* C, y$ [5 R File: <prefix>IA<FWAlias><InterfaceName>.cpp
0 a3 K9 X; d& g
& p! O9 x; }) Z. @( H+ [2 sInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers
! c. C8 g& x, e8 fFile: <prefix><FWName>.dic for DS  ^( \% Y8 T5 {7 Q9 d7 O

/ d* a  x- f+ S- D( ZFactory Dictionaries                  File: <prefix><FWName>.fact
, M% U0 W4 O6 x6 e) nGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
- q4 ^; ^) h; E+ ?& k File: <prefix><FWAlias><FunctionName>.h  {, @) R/ h  X& G( L( V) f7 \' f
File: <prefix><FWAlias><FunctionName>.cpp/ v9 n: V6 q6 v( t6 \) k- a
. E* |2 ?4 z! T" w8 W5 J; \
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
, }( V3 G' I/ @! `0 N# Q" `9 l) o5 ]9 F Value: <prefix><FWAlias><EnumItemName>+ r) |. r$ E' K& Z; \/ a& V
File: <prefix><FWAlias><EnumName>.h
7 F: s& F, K4 \7 C5 W1 P) G& p
  p0 t3 P9 |# y; i) ]! _Macros                              Macro: <prefix><FWAlias><MacroName>
2 J7 o- f2 `; d% E5 h3 i File: <prefix><FWAlias><MacroName>.h
3 F0 ^5 s! x& E- s5 W& e' c; E8 J. X9 h
Typedef                             Same as substituted name
: _0 _/ h- n1 [NLS resources                       File: <prefix><FWAlias>Name.CATNls( k" f' s- n0 M8 [1 W% D
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
$ T' n0 ~  o0 |5 z, Q, P: F6 e; U0 k; n. w& a0 |
Feature catalogs                     File:
% l1 S, ^0 ~& l" c( a) D* m <prefix><FWAlias><CatalogName>.CATFct
# X  l  y( K: M5 l# }2 p; F& nfor CAA customers
: L) n/ e1 G% ~& P% [/ mFile: <prefix><FWAlias><CatalogName>.feat for DS  q8 U( f( `  [

0 e+ B& l8 D; X; D4.用户界面实体  k1 I/ a. B% t8 W. x; o
   Command Header                   <prefix><FWAlias><Name>Hdr6 y  l+ h4 O1 Q! i8 J" t6 ]
   Workshop                           <prefix><FWAlias><Name>Wks
8 q- s" l# t# T$ O6 v   Workbench                         <prefix><FWAlias><Name>Wkb
$ K. }& Y% }6 `) `& Z   Toolbar                             <prefix><FWAlias><Name>Tlb. H& p$ r: g2 S: ]5 N! C% p0 b- F
   Command Starter                    <prefix><FWAlias><Name>Str
6 P! _% m4 e3 w% q- xSeparator                           <prefix><FWAlias><Name>Sep9 h, Y5 d) p, y5 k) H$ K
Icon Box                            <prefix><FWAlias><Name>Icb% z& |: D9 y* u8 s6 u, i
MenuBar                            <prefix><FWAlias><Name>Mbr+ P( w8 Q2 {8 |, \' G
Menu                               <prefix><FWAlias><Name>Mnu! k' I# Z: B5 y4 N5 f) i' Z
SubMenu                            <prefix><FWAlias><Name>Snu
3 ?) D& o* d9 |  A" B( r. D
, o* l% T. T  j) O- b$ B" g& t5.其他实体  }; X  h8 h! d; b+ p
  Features and Late Types               <prefix><FWAlias><FeatureName>
  ~& P8 ]8 ~. Z- A) N <prefix><FWAlias><LateTypeName>6 U+ O. P' ]. O; G6 N$ m

: t& ]' L0 v0 C" i. K: KApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
/ ?) p. {6 B4 H) Y* X3 h$ f3 EData Members                         _<DataName>( }% T/ r; S* e* f- G3 `/ S& C
! d, R9 T9 x& D& Q* V
Method or Function Arguments         The i prefix for input parameters 0 Q4 S8 T2 n5 p+ ^
The o prefix for output parameters
8 V; Y% k4 Y  n& W  _# A; TThe io prefix for input/output parameters
# @7 c2 m0 b8 d! A
2 G3 l2 S" R0 [5 Y6 e6.名字的变化' s* b, O  ~, @- E6 D
变量名字要以小写开头   int counter" D2 u, n. }3 I% I
函数名字要以大写开头   void CountItems()
% m7 N* ~# H. N5 u4 _2 E& k# ?数据成员要以下划线开头 并且不能是public   int _length
8 V) U2 p: v& ]. x0 W% j( C% z9 w! k- w. r2 A+ A9 H5 O5 f
4 b6 R. o5 v+ b' t3 x: \& P+ `
- `- F& R1 `  X
0 N. e4 N% [- o# q; t
7.指针
- E: E  k8 T* @, ^. p0 O
# g9 G, J$ |* P0 s% U' `0 U. c 3 |/ a  i4 \; J- w% H, `
  
& {$ R: w0 K( D! b+ k$ D4 FPrefix
" k  V8 S6 C1 F! `  , A. h. r1 a+ n% c9 {/ q
Means
) G! @& J8 Z( T: F( z. y% G! D  2 ^$ N; x  ~7 F& {. r
Example
7 }+ v8 @4 A6 h. e8 v
4 ?' L! o* m1 I2 h( p2 I) f  
4 C9 K* F! ^7 J  C8 e2 ?( P2 Yp
' p1 M+ W) F; o1 n! B% k/ R. k( B  ; T* `+ W, E2 h- g/ m; j
pointer: n6 v- F8 ^, M# w) e4 a0 l$ \
  
/ u1 _2 w' v* h* bCATBaseUnknown *pTarget;
) d5 U0 {! ]' t( w! A% j
7 B2 V' U$ n, Y8 e; ^  " Z' m& W" o% j8 q2 y4 J
pp
! F& b$ p, g* }3 I  
% q! m# F  v) Y4 f4 D6 D& K/ C0 Wpointer to pointer) j; j9 p5 n$ r
  
% p% s- Z& t& o  D1 ]6 n' J: vvoid **ppTarget;! F. l6 k% A1 v' E4 [

  ?9 s3 j2 H- I- Y  0 e5 a( M1 W. b; R
pi6 f4 K6 V" u6 Q* K$ i  h
    ~6 m) k2 F0 c9 R3 ?
pointer to interface: S+ N: T) f7 R' g0 r
  
/ m! }( l2 w9 t( n4 [, K& j' XCATISpecObject *piTargetFeature;
0 u, \6 v2 Z0 B6 Q! [* b8 P * c9 u2 E" m6 d  p% G; u
  : _9 r% u3 o( Q0 u
sp. t2 i/ `4 u/ \2 c9 i
  
. H$ S% G0 D# E, Z1 o' a  i) _6 n5 Ksmart pointer || handler& G  @) W0 ^/ G. p) P* {" [
  * ^) {, J! C9 E$ v( P; x% T
CATISpecObject_var spTargetFeature;$ c0 i) ?5 g; ]  {/ C1 y5 ~

( t" j/ A5 T. _' i& z5 c9 ~$ M  
1 X0 k' F$ Y8 y3 j6 r4 m+ ma$ H: w  s! Y' x' `) p
  " T; p8 V1 `  S4 o6 G8 U4 |
array
# o" V3 b' S, i2 H  7 v7 y& K0 |! B' |
char *aPath;
; ?6 J2 p7 l  o 6 X2 q* s. g6 u# A
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起# {5 |3 X0 b3 Q1 Z5 C5 ^9 _
8.接口指针的命名5 t, U, {& [; ^$ U
格式:pi<InterfaceName>On<RootName>
. x4 U7 g- W# [. A4 {: a$ b指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的- x* A( |/ U8 Q6 x
跟名字是用的三个字母的缩写 如上用Doc代替document
/ Q9 A7 q. }) h6 R( W6 O2 A6 |/ H' A. q+ e! \% e1 Y
/ S! p) J5 S9 J7 Q4 s* P' W4 H3 C
# V1 [& X# S9 u3 x0 S# p0 _  O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了