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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

# K1 v$ A9 b5 i% ]% M1.主要规则" F( s  }3 B8 }3 @6 @. T( d
CAT 代表 CATIA   作为前缀(prefix)6 r) o" [4 w6 E& O( m) W! y
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   4 m1 S5 c1 j# P6 a: D. ]2 M
全部用英文
9 O# X& g% \, b3 e7 p' M& }4 N& V! s3 g' A) R8 E0 Z# U
2.目录实体的命名
1 M4 ]) a$ a% p0 U) A" t* u2 {Code Framework                     <prefix><FWName>
2 d" ?- X$ I0 ^1 J0 `8 W  zTest Framework                      <prefix><FWName>.tst
5 u7 q/ A% J; U' O' R/ \2 D+ K! A4 _0 \' l$ g
CAA Frameworks                    CAA<FrameworkName>.edu
. j: ^3 Y$ A3 ~- }( f7 V5 G2 x% a CAA<FrameworkName>Doc.edu& g) U9 K3 S4 R3 y, A4 F, H
CAA<FrameworkName>.tst  }' \) k5 h! V5 `: H  B6 L

/ h9 a1 {- l5 z% B+ bCode Module                        <prefix><FWAlias><ModuleName>.m
& w: U( u: |8 {' M3 oCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
5 @" h- m# y2 v" h% P% BCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m( H. W* C( `( B# p3 T9 u8 R/ @; a
Code main module                   <prefix><FWName>.m  V5 g' D5 U1 W8 h1 s

+ b  O1 c, r9 Q. L5 i+ N1 N8 _Doc Module in education FW         CAA<FWAlias>TechArticles.doc
$ f: u, E( J- o* S& T CAA<FWAlias>UseCases.doc0 m- v" x, D8 r
CAA<FWAlias>QuickRefs.doc
4 j- P* [. R/ v0 X+ ] CAA<FWAlias>Base.doc, S' K; [; j9 `* y% ~- D
& p' N* j" l9 o. I( g$ c6 @
' c; W. [) A* Y$ m7 M1 {. v2 ]
3.文件实体命名7 h6 N6 `  ]+ T$ ]; v& W7 b6 N
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
1 Z6 L, p' g. w3 q) ? File: <prefix><FWAlias><ClassName>.h* L' t6 S7 `$ G- N
File: <prefix><FWAlias><ClassName>.cpp
/ {2 O7 W; Y' Z9 B( P( T# E# W& a$ X* y
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
; v- R. m* H* p5 B; \ File: <prefix>E<FWAlias><ClassName>.h, ~0 J* o- k7 y' `2 j: |8 x: }2 ?
File: <prefix>E<FWAlias><ClassName>.cpp6 o+ c8 |5 D/ \. D; q: l4 x2 U
! Q3 N' T( Q( x  }
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
1 a, k- ~$ c& F# H6 p File: <prefix>I<FWAlias><InterfaceName>.h: q* ^0 \8 z! z) ~8 E
File:<prefix>I<FWAlias><InterfaceName>.cpp' p0 P; o  |; L2 ]  m3 P
( W4 B/ @0 V6 Q, A& U9 I+ [
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
& X& \3 b* v) X; {! S" yFile: <prefix>IA<FWAlias><InterfaceName>.idl  F4 Y. y% Z* \& {
File: <prefix>IA<FWAlias><InterfaceName>.h  c  I' u+ F% x! A* \/ v& a
File: <prefix>IA<FWAlias><InterfaceName>.cpp! t# `- Z2 Q+ |2 v

. L5 _4 h: Y  Q4 c+ ~Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers3 z) d9 m4 s7 v2 D  m/ E. I
File: <prefix><FWName>.dic for DS
5 m/ G+ B+ `( v* c
1 [, z$ g6 a, O( v, V; lFactory Dictionaries                  File: <prefix><FWName>.fact$ A# D3 K4 q% y# m
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>4 m5 \0 x' O: d2 I0 e9 V
File: <prefix><FWAlias><FunctionName>.h
; M: e! J0 `5 j% B2 X! y File: <prefix><FWAlias><FunctionName>.cpp
. F; T5 M& ?3 x- \3 a1 q5 F3 f" U, c
Enumerated Types                   Type: <prefix><FWAlias><EnumName>8 T& b, U7 ~6 I& _( K* g4 E8 j0 w  D# U
Value: <prefix><FWAlias><EnumItemName>
  S% q% ]( V1 {0 V. d( D File: <prefix><FWAlias><EnumName>.h' Y8 W) z( T# u/ P2 o( n

9 b  q# ]0 g$ S7 }Macros                              Macro: <prefix><FWAlias><MacroName>9 i4 b+ A" c, ~2 z: ^6 |9 U
File: <prefix><FWAlias><MacroName>.h* q, c( a7 w4 j1 j) R  g$ N) y

7 n% W. H" @7 Z" sTypedef                             Same as substituted name: ]! L7 P' H& \$ [% e0 q7 ~- A& u8 v
NLS resources                       File: <prefix><FWAlias>Name.CATNls( @6 m+ S5 R' W7 N9 i
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc  O: ^1 [2 f) @2 Y% g: @# p5 k

6 N: L  K: x1 S( R8 O6 hFeature catalogs                     File:  P" ^. V; h: q9 W$ \! Q; H& X
<prefix><FWAlias><CatalogName>.CATFct
3 P+ L7 A* Q1 @for CAA customers* A* g4 K9 M! k' I
File: <prefix><FWAlias><CatalogName>.feat for DS+ z6 Y6 l3 F# X. P' g

0 |( B0 V  i3 m+ [  N! a4.用户界面实体: y2 A' K7 V' ]$ [
   Command Header                   <prefix><FWAlias><Name>Hdr
+ W( b& V/ u, O) W   Workshop                           <prefix><FWAlias><Name>Wks
+ X/ w, U+ y7 {; H* F0 E8 X   Workbench                         <prefix><FWAlias><Name>Wkb6 c  y3 T, X2 K; C) X( O
   Toolbar                             <prefix><FWAlias><Name>Tlb
' l1 [0 x7 n4 n$ |   Command Starter                    <prefix><FWAlias><Name>Str
9 i  \+ a; \" [$ Z/ N7 F, N- w# t  S+ qSeparator                           <prefix><FWAlias><Name>Sep
& C1 s( F* l2 @* M$ ~* v: oIcon Box                            <prefix><FWAlias><Name>Icb
/ F+ y" r1 ~* {, o( }& u) lMenuBar                            <prefix><FWAlias><Name>Mbr
% K1 {3 J: e: w! K6 H1 AMenu                               <prefix><FWAlias><Name>Mnu( [9 l5 ^# ]! T% \
SubMenu                            <prefix><FWAlias><Name>Snu
5 E4 m* q2 q  _
" m; [; C( W$ I! C5 t; ^2 w' ?5.其他实体
1 J  N/ A) B  o1 k6 D0 ]$ u* y9 D  Features and Late Types               <prefix><FWAlias><FeatureName>
* |& F4 ]3 P7 L1 M$ o8 N9 r <prefix><FWAlias><LateTypeName>5 U- s: Q2 D  u# B1 S4 g

6 b9 }! H/ v. [6 A$ p, N- c- ZApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>+ p- Q; h& v- X; a2 ]
Data Members                         _<DataName>( J; F* X& t( q# [1 Q
$ g2 G; R) X+ r- ?" s
Method or Function Arguments         The i prefix for input parameters + N0 A# l3 o7 r. `% N3 K4 r4 T- P; y
The o prefix for output parameters
) f1 O$ `; K0 `) L' ]The io prefix for input/output parameters , u  w" c& v3 k& n" i( m+ q' K" U+ G

/ B( g8 G+ s; U6.名字的变化  a0 a" N6 w# g
变量名字要以小写开头   int counter; V5 b7 D% X0 K9 E; w
函数名字要以大写开头   void CountItems()
: X: ~( m9 w* L- k) [. }1 E数据成员要以下划线开头 并且不能是public   int _length4 f4 i) r# z+ q* y0 q( X' a
# {0 s+ e/ B% A( |: X+ U  g$ s

7 j# y4 A9 F$ T* t& p; a7 S$ \0 `) m9 i# O5 C- d
. h  `1 F) {( f9 x& N% G( O
7.指针- V" D! a: i, |" @2 x, [( J

8 \; W" D" M. W
4 U" z( U0 ^' p( r# f  1 `/ j/ @& o3 [% K" v9 R
Prefix
; g( F+ V: ~/ `  
$ g( D6 s- x2 h1 q4 f, v5 _Means
* b, k& }9 J; ~7 c5 ~. S1 q+ N  % k6 k( m( e" d$ N1 E9 z
Example- j. b. `4 N( R- u, L& v
- j; R5 V2 I) ]2 \
  # O! O2 d  m) u9 q8 i3 R( ?2 B
p% x; B3 h% W' m/ I
  
- X9 X& d4 A2 C: i9 _7 tpointer7 d& H# y5 x/ y; D# P
  
( P' `, v# Q, P4 aCATBaseUnknown *pTarget;
. c( H3 |, m8 C: |" S
, C$ V1 o( _4 b& V) r* J1 {( ^  
3 a" V. Z7 @( O' Xpp
2 E! L2 o3 y1 `' c4 H  9 F/ D* E5 s9 B! T8 I! T% z, X
pointer to pointer
6 w& M2 v% @0 O  w  
. G3 \8 q+ ?/ r1 Qvoid **ppTarget;
1 d: {; p- \! r# U' d
9 i1 `2 q  k- z! w6 y  
; ?2 ^1 N7 c5 O8 b6 vpi
0 Z2 y& i% v" T! a( b  
- \$ w+ h) F- e; Xpointer to interface
! S0 x8 \5 ~0 q# A6 H5 |  / o- R& X& b9 C, t; a% T% f
CATISpecObject *piTargetFeature;
1 i2 L, |% m: `6 x 5 ]: Q: G9 t( g2 q" T7 D
  * `5 [! o$ J; c. q, b! K
sp0 n# m6 V# B5 p
  
5 O9 `5 e6 d* `% i# l6 p* v6 ~smart pointer || handler
1 ~! U% A3 _+ C$ e) m  * R. z, x' @( ^6 g& E
CATISpecObject_var spTargetFeature;
9 v( g5 h  H; T  M
- S' V6 J+ n* p# N, f  
" L  Q& f7 ~, L% |# S& O* k9 _a
2 y( Y# {4 n* a, j9 {  - b; j3 L1 Z1 [! b# C
array
  U  w# T) z* l% P- U4 t0 b5 f  
) \& }5 y: n/ |; ~. `6 T4 schar *aPath;
$ R2 a: }6 K% ~" o( P7 o4 N7 f . n5 ?2 @- L0 Q" X* i
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
, E* d, O0 R+ ^8.接口指针的命名8 f: E7 Q! j7 t/ D' E
格式:pi<InterfaceName>On<RootName>
" D5 G6 K# m  ]6 v; i指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的$ a6 g# s: O9 a& x
跟名字是用的三个字母的缩写 如上用Doc代替document! D* r! `! `1 X6 C( G' N5 _3 g

# y2 b  T. P# [; ^# h3 A! N+ g# p
% r$ m' V( Q; @, m* J: b0 B1 r8 ^0 b4 D+ P2 p) ^6 V! `# }( `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了