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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

- A! k1 y1 m0 ^5 h1.主要规则
6 q% E% x% J+ s1 [. P6 kCAT 代表 CATIA   作为前缀(prefix)# T) ]3 m0 N! t9 |& t# L
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
/ c( d; m# f" Q9 O/ x" C3 @1 Y全部用英文9 c9 M, X  c( }$ t

9 ]9 A% l9 N0 x4 S2.目录实体的命名* O  w5 J' ]; \2 g5 ]. `
Code Framework                     <prefix><FWName>) H0 t$ ]3 Z( a2 s) U
Test Framework                      <prefix><FWName>.tst
7 R/ K' p; T4 P
- y4 g4 W" L, Z: J( oCAA Frameworks                    CAA<FrameworkName>.edu- Q4 q7 C; x; o
CAA<FrameworkName>Doc.edu7 ^' J* H1 i, s. s2 K( b- }9 ]0 K! q
CAA<FrameworkName>.tst; I- O9 L( }( h
3 V2 D! }- }/ C, {
Code Module                        <prefix><FWAlias><ModuleName>.m. [% F  b5 |$ w2 m. g+ c. W% g& \
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
, w; W; d. i) ZCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
$ M% j4 k& I! |! A2 n4 V/ ?: dCode main module                   <prefix><FWName>.m8 o. a' Z, t) R6 ]; j2 r: C. g

! D3 k* G* U1 w: j9 j0 C0 h- ^! l1 _1 ]Doc Module in education FW         CAA<FWAlias>TechArticles.doc
3 R: Z, n0 D& [& h& E! d( ~) R2 h CAA<FWAlias>UseCases.doc+ K8 p* \2 t6 F
CAA<FWAlias>QuickRefs.doc
, t# m/ O3 f4 r. K( K CAA<FWAlias>Base.doc
6 v0 n7 ~3 E# }! x' X" D( f
6 Q( _& j" {/ x/ }3 _$ r" v: ]! }) H" n8 ^
3.文件实体命名
$ t. g1 |4 F1 q/ W   Simple Classes                      Class: <prefix><FWAlias><ClassName>1 b. m& A2 w. N$ f0 X
File: <prefix><FWAlias><ClassName>.h" P. ~+ g4 j& [  U
File: <prefix><FWAlias><ClassName>.cpp1 [  N2 _# g& t7 S# V
1 J9 y+ \" I- @" E7 R7 r
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>
, x. W: S! ~+ t* K+ F4 g File: <prefix>E<FWAlias><ClassName>.h
6 x4 ?9 I* r, ^: o% e+ e" c File: <prefix>E<FWAlias><ClassName>.cpp
" J$ F4 U! }5 j9 c- N( I: f' s$ N6 W* B) u4 G, X5 d
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
$ F/ r' H: i1 J" } File: <prefix>I<FWAlias><InterfaceName>.h' R8 ^5 X- F, R9 {- s8 U0 J
File:<prefix>I<FWAlias><InterfaceName>.cpp
. u% j7 e( ~" [) C: d2 y9 s4 p" s0 P4 [; p" Y9 J' u# A- i# m7 d) A
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
. W" G1 z/ ?! h1 Y+ h$ F% |File: <prefix>IA<FWAlias><InterfaceName>.idl$ y! O! S5 P% Z5 W% A3 R
File: <prefix>IA<FWAlias><InterfaceName>.h
5 k1 P! o; |8 b/ s0 G! v8 F( U File: <prefix>IA<FWAlias><InterfaceName>.cpp
1 u! d8 x! y; B1 S( J4 ?' u4 t# g; H
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
) B* J/ e' |7 O' K' s& M- RFile: <prefix><FWName>.dic for DS/ s$ ]. x4 o/ }! A
, l- a! B+ y) o$ O3 W) E
Factory Dictionaries                  File: <prefix><FWName>.fact7 }) S" g  a/ U9 w8 F
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>% _# H1 |1 U# Z# j- j' d4 W
File: <prefix><FWAlias><FunctionName>.h
8 g. i3 x' m4 ]- S+ M6 v8 D# N File: <prefix><FWAlias><FunctionName>.cpp
. Z& }7 w' H" T6 v0 k: U) c9 m( K! _% n6 R$ Q. x  C. h% d
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
3 V: i* u2 Z1 c% l' r) Q Value: <prefix><FWAlias><EnumItemName>
: n2 h5 ]: I& Y; u/ a$ w File: <prefix><FWAlias><EnumName>.h2 ?8 ^1 X8 @# T. Q2 I. d& R
; ?+ u# K; i$ E  R  N# f' C6 t5 R
Macros                              Macro: <prefix><FWAlias><MacroName>
7 [7 F/ v3 H( N$ O+ t File: <prefix><FWAlias><MacroName>.h) B: f* l2 l8 v& C9 |9 B
( L% V2 W- z' a( u' a
Typedef                             Same as substituted name' W( e, f7 h" B2 {
NLS resources                       File: <prefix><FWAlias>Name.CATNls
. ]! k$ w6 D# m, C3 Y0 G* bResource catalogs                   File: <prefix><FWAlias>Name.CATRsc: ^2 {. h2 Y. h: v* @: }. |! g9 j

( G/ ~" T% J8 LFeature catalogs                     File:
4 n' |8 q1 A! S <prefix><FWAlias><CatalogName>.CATFct
* h: r/ \8 X5 i/ b6 ^% hfor CAA customers% K8 p+ y, Z# p6 q. R, C- L
File: <prefix><FWAlias><CatalogName>.feat for DS
4 S/ f: W7 o6 b1 a; _+ f: ~! U, ]8 }$ E8 G$ V1 M- S  {0 |/ K+ q
4.用户界面实体6 t! X4 {8 `6 e8 ~
   Command Header                   <prefix><FWAlias><Name>Hdr
+ D0 W) D2 {7 B1 e   Workshop                           <prefix><FWAlias><Name>Wks4 h& J, R% D4 H' R: X) g' h
   Workbench                         <prefix><FWAlias><Name>Wkb  r3 N9 z4 a3 U5 }) C5 s* q) X# t' p
   Toolbar                             <prefix><FWAlias><Name>Tlb5 ?4 q: z4 T) |7 B
   Command Starter                    <prefix><FWAlias><Name>Str
5 c7 v6 Q; D, c% \3 {6 V7 fSeparator                           <prefix><FWAlias><Name>Sep/ y! e" ^% l$ E. o# @' \  n
Icon Box                            <prefix><FWAlias><Name>Icb
0 B# K/ [: w1 y. z4 XMenuBar                            <prefix><FWAlias><Name>Mbr
* k3 ~- e1 I0 f6 b8 GMenu                               <prefix><FWAlias><Name>Mnu" S9 \9 L# c& z
SubMenu                            <prefix><FWAlias><Name>Snu* o: }. f7 b- ?" J" ~
4 D6 [5 w& g* a7 U
5.其他实体+ E  ~) C4 l+ G4 p
  Features and Late Types               <prefix><FWAlias><FeatureName>) S2 j' o' c/ H' r
<prefix><FWAlias><LateTypeName>
& ]' f2 e6 U3 g: f- S& z1 L" _! x# s6 U/ s% M$ b; z! v
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
8 {# i: \7 P0 V, k3 cData Members                         _<DataName>& Z% q9 A+ s5 G( U/ f4 F  N( f8 ^

* Y6 O) ?- ]% _% K$ G& ?/ bMethod or Function Arguments         The i prefix for input parameters * {" {+ F% |' W3 }6 {2 Z- g; ?
The o prefix for output parameters
) E2 V1 g. e8 r* s0 u, ?The io prefix for input/output parameters 4 F/ j8 }6 S0 e0 k7 s0 L

6 k1 C: S% H. t8 n3 g0 Q6.名字的变化) j2 H& q! k) _4 D( [! a9 d
变量名字要以小写开头   int counter7 Z+ l9 \' ?, `5 n
函数名字要以大写开头   void CountItems()- b, M9 Q/ `8 O( m2 Y4 T0 l7 R& |
数据成员要以下划线开头 并且不能是public   int _length& f" w# r# ^" L- [# z

. x6 L1 f0 Q  x. [. ^& {5 H4 n7 p; u2 [, V% I& F
% G+ B; w% S0 b8 M3 ]3 Y1 J4 k( c
* t+ @( r: \7 r6 b8 K$ X
7.指针
( U4 B8 K! o% s$ i7 J0 m+ H" K" R" D" Z/ ~

' O, ~) K! P4 M  r) m  % Q. s6 g6 P& ^. y7 @# b5 i
Prefix+ h: B! K, W/ X
  
( ]. S( V  Y' N# h1 L* e! ^Means; t* K8 j. J! e* l5 v
  
+ D3 }! b, n0 X6 _Example
; F: @. Z$ d1 s: N
: i9 U2 l8 |+ d' h& m" g$ X6 n  
) T5 K% n* k7 x6 ]% Mp- t1 r  V8 \' I9 n: ]8 R
  
) C. x5 W7 p( l8 T) ?9 \9 s( Bpointer
1 s7 G, {  ]( l) f* Z  5 H$ P  ]& I$ H! W- ?4 Z7 A
CATBaseUnknown *pTarget;, u, t4 ~8 B, C8 e0 t8 t
2 g4 X9 @  V- n6 |1 T  Y* x2 N
  
3 m) B9 |1 N# |# U4 ^pp1 m/ q% m; R( ]: f4 {
  ) j' [! F; `" ]# G1 g9 o# X) M
pointer to pointer
9 [7 k9 V3 @) ]3 z+ p1 |' v, I$ J8 t  3 j7 p& ~6 k: s# ^6 W( ~! `2 c
void **ppTarget;
  W. n- H6 L4 c / r$ ?4 b4 G+ V3 ]0 h
  ; T! K: z- E9 U" F
pi3 b. u9 W& v8 U: a4 u
  1 {% y& B, x: @& f$ V" J' U
pointer to interface1 V8 `$ _8 X5 _1 E. a
  % d8 O5 |' l% F0 n: e4 p
CATISpecObject *piTargetFeature;
1 Z* J6 T2 p/ V( L1 P/ w- I
$ ^7 p9 i8 q8 J/ h  1 r$ U2 U, N4 O* Y
sp
3 U/ A3 s) Z! p, d  ( W: G: j  i* G
smart pointer || handler3 b" ~0 g' l; S
  % e0 Q* K8 {* L  M0 @0 |) i9 w
CATISpecObject_var spTargetFeature;5 o+ _" M$ f$ N8 [3 g

' l' ~: }. R) ~  K! x  
( U7 \$ l* m- m0 c3 N, H1 `a
  B/ }, U: c! e. W" ]  
" ?# S5 d9 Q: }$ H9 Sarray
, n+ h) \& Q# Q0 U8 n, Q. K3 V  ' J0 p* D: L, L( d( J9 H; K3 T
char *aPath;& \, V8 d# v8 g) o

. s# U0 Y+ O; s8 Z1 uCATISpecObject **ioppTargetFeature  输入输出和指针放在一起
* i+ @! R, I3 {, h8.接口指针的命名8 a7 H6 w5 h5 Z. F0 c
格式:pi<InterfaceName>On<RootName>
5 S+ W- C+ v4 w1 g5 C* U指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的0 _8 W7 }  @9 {" m0 |3 Z9 |, A
跟名字是用的三个字母的缩写 如上用Doc代替document# j' Y4 B# P1 z' c: @

5 l5 Z  k5 P1 [7 ?1 f: H# \( W) }9 F9 {( @

. }7 d* f: W  Z* b4 b% L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了