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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

4 ~7 h- m; h5 @6 ~1.主要规则
8 Q  c6 b# ]8 J4 e) @CAT 代表 CATIA   作为前缀(prefix)% A0 |/ F/ U' s4 Q. B, V
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
8 Q/ r) A; {5 R) j) D全部用英文' k" ~! G8 K) o  l' _+ e* G# {" ~  f

) s) B' Y4 Q5 ~5 p# e9 T! C2.目录实体的命名
6 k3 ?. B0 `" B( i) h  ]" KCode Framework                     <prefix><FWName># ?: u: C# ^, A! d# r
Test Framework                      <prefix><FWName>.tst
2 `% m  B. h2 `0 i$ f; T" h9 Z, @0 [/ \
CAA Frameworks                    CAA<FrameworkName>.edu
2 r0 r& D. I( R! e* X- t CAA<FrameworkName>Doc.edu
8 E' o8 j. r. C9 Y6 I3 [ CAA<FrameworkName>.tst
, B: _7 G8 a4 @7 g# y1 Y+ ]: t9 y9 ?" }0 b. K9 y, @
Code Module                        <prefix><FWAlias><ModuleName>.m
- Q8 w3 ^9 O' n7 W' }" ~: ZCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
- h  E! S+ e9 P. b* |. J9 A( J/ d/ D- cCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
" n- F; ^0 c1 t6 b0 a/ U7 oCode main module                   <prefix><FWName>.m9 J6 N' H- a! N' a# L

3 Y, K( ^) s+ g8 }Doc Module in education FW         CAA<FWAlias>TechArticles.doc
% B! M8 O* K4 B% d4 G CAA<FWAlias>UseCases.doc
$ ~5 y' c7 T- Q8 E* c. |2 j$ g+ } CAA<FWAlias>QuickRefs.doc
2 Y) A; m9 u( @, Z CAA<FWAlias>Base.doc, }% }+ T: q% _$ O( a
# L# O; c5 i4 X  o

# H% d2 I; j& r, G3.文件实体命名/ _2 V% a7 m/ E; W& V
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
3 f0 w* J2 E, F5 l+ s1 c6 V0 ^ File: <prefix><FWAlias><ClassName>.h/ t  V- H3 Z7 ?5 i& T  H5 [: ]
File: <prefix><FWAlias><ClassName>.cpp
' x# ~6 |5 |0 g& S0 b* h: a. d
$ Q$ F) D8 D* C5 n  j8 F( ?  `1 k# H* dExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
& P" R% Z; u1 K3 O; k File: <prefix>E<FWAlias><ClassName>.h
# j/ b- ~3 l/ h0 B; V8 A File: <prefix>E<FWAlias><ClassName>.cpp. P3 m- L' B1 b; {4 T

4 _0 [  F, `* w  {4 N) ^0 M+ I% K  EInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
) @. P& Q) e2 [+ H* w" l- a* p File: <prefix>I<FWAlias><InterfaceName>.h# Q) T! y" ]( q; J
File:<prefix>I<FWAlias><InterfaceName>.cpp9 b6 Q2 [; j+ u3 Q: g. Y

' f: ~: I3 c6 ?# a7 o) f, z* h  j- MAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>& J3 |6 h$ K. B+ n# W
File: <prefix>IA<FWAlias><InterfaceName>.idl; J$ R% }8 j2 e
File: <prefix>IA<FWAlias><InterfaceName>.h
/ Z2 ~) q+ Q: O/ i' n# k File: <prefix>IA<FWAlias><InterfaceName>.cpp
. B" m0 T$ ]+ w
7 a: A: h; T5 k# H: A. YInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers# l% X6 _1 b6 v7 ^  V
File: <prefix><FWName>.dic for DS; l; F1 f) G6 S! u) l# ^' ?- k

) r, @" n2 s# d6 YFactory Dictionaries                  File: <prefix><FWName>.fact+ R5 L, Y% d! z# g
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
  |, l% k$ [9 E( n& R. k File: <prefix><FWAlias><FunctionName>.h8 Y4 Z, m5 g4 l, d% b# Q; m# C
File: <prefix><FWAlias><FunctionName>.cpp
6 l% G4 j  r/ c) t3 v! j. ^1 ]* z7 o3 X
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
) G- @4 m' W1 l0 K" _) V Value: <prefix><FWAlias><EnumItemName>
' z5 m4 d$ l, _" O File: <prefix><FWAlias><EnumName>.h  B$ g; m, F7 O# y$ J9 V+ [' G- T; S

' G& {% j& L+ M9 H1 K2 tMacros                              Macro: <prefix><FWAlias><MacroName>
  b3 W) R- E: d- }2 @, q  ^- } File: <prefix><FWAlias><MacroName>.h
6 q& w& b' l, \' l9 ?$ _+ M2 }' W$ g- ~# L$ z
Typedef                             Same as substituted name
' y6 `$ C3 r, A/ q2 YNLS resources                       File: <prefix><FWAlias>Name.CATNls
4 R5 _- r8 v+ s) m9 E9 fResource catalogs                   File: <prefix><FWAlias>Name.CATRsc
1 S3 q* M8 ]) k3 r6 B, q# @  S( S( {& t- W
Feature catalogs                     File:
7 z2 p/ S+ V$ O( Q6 U: r <prefix><FWAlias><CatalogName>.CATFct " O4 a7 V; b) r4 F
for CAA customers( q, k+ z, H9 c9 `
File: <prefix><FWAlias><CatalogName>.feat for DS: S* @0 o5 C! l/ Y" p$ W3 l
6 z. J" W: J/ P* u
4.用户界面实体
* X! {. k+ c% j4 z6 b# C5 f6 U5 v   Command Header                   <prefix><FWAlias><Name>Hdr. G. a8 g; _  }* i# F) a2 E
   Workshop                           <prefix><FWAlias><Name>Wks. J4 B5 @0 |/ E% R2 x2 \
   Workbench                         <prefix><FWAlias><Name>Wkb- A6 @- _8 M" S: K9 L+ {
   Toolbar                             <prefix><FWAlias><Name>Tlb
5 j/ Q8 Q. s3 o2 S. H$ D   Command Starter                    <prefix><FWAlias><Name>Str
7 Q/ U4 E, X! q% l$ RSeparator                           <prefix><FWAlias><Name>Sep5 T( r5 Z+ L) [: m6 C: B8 L
Icon Box                            <prefix><FWAlias><Name>Icb
$ c7 I4 r' x: {; O( TMenuBar                            <prefix><FWAlias><Name>Mbr
; |+ S2 K9 P3 UMenu                               <prefix><FWAlias><Name>Mnu
# {8 t7 v$ ]/ }SubMenu                            <prefix><FWAlias><Name>Snu$ e4 [/ }8 |' W$ x* I+ U  [

4 |- [, v% r' Q5.其他实体( g; N4 }! q+ W
  Features and Late Types               <prefix><FWAlias><FeatureName>
, R* i, v- ^" a4 a) z+ G <prefix><FWAlias><LateTypeName>
( ^/ U; X9 Y( X
3 C6 k2 J8 k/ d3 S: O" zApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>; X5 e. q# @+ [  F9 H. v& f
Data Members                         _<DataName>* b- h- K  j+ D' q* o4 g! D

* E& ?6 B( w# L# C" EMethod or Function Arguments         The i prefix for input parameters
0 W8 K' d. c  ^. C7 V4 TThe o prefix for output parameters
: L* r- `  ]2 A( b7 }The io prefix for input/output parameters ( j" y, ^' y7 l) ]' w
$ y2 H6 h4 M5 O3 a7 u
6.名字的变化
& |6 X* j' M9 |2 [% q变量名字要以小写开头   int counter
  p3 a: a: o" t) s# _$ D. H4 O, h% w函数名字要以大写开头   void CountItems()3 A" u# m9 ?( C% e
数据成员要以下划线开头 并且不能是public   int _length. D3 ?% J* Z" L& h  I8 H

) r/ c/ c1 R% Q; u, `+ b1 y% d" x8 M# G" |0 m1 q5 Y! I+ Q2 H
8 U. D  z! a; T% _$ E* O
  D6 P9 g) U5 @7 U
7.指针4 H0 X0 n; ]& p

  Z8 ]$ s; V" U+ K  T/ s) }
( T6 M3 t" u3 K  
% o6 Y. ~  s7 {" Z& vPrefix8 D/ Y6 |" m( M# l6 J. R7 X6 p
  
" }4 ]3 \/ _' b& o# QMeans. w; Z  L# p# C# L  b- s2 \; o6 r
  $ a) q7 @9 A! E# j
Example
  {! w- S& X: Z' v7 }( S
( j% Y" L& U; b$ r$ p  ) n8 a) n  L0 o  _% {6 J6 Q( g
p
, ~7 [: b$ h, G$ L: c! C' a: a  K  , P1 g- l8 z' s* l" E
pointer9 X) @' B' R' M) b, G# n  N. V
  
% ]) f& j8 c! I* R' bCATBaseUnknown *pTarget;) _$ R1 U+ d4 S6 z0 ~& _' k" c9 I

+ Q$ _' s- a: a* u' Z# j  o  & [: L1 I; ~- w, u! W9 l9 @4 Q) U5 R
pp
" O, h- Z4 i. {% Z' F. i  
0 M% [; d; @. P4 j; F& hpointer to pointer2 s6 o+ j3 v) @/ Q6 I2 [
  
( h2 a. c7 K# [/ J. qvoid **ppTarget;
# l" r4 k1 E& B  S- X1 E
" X9 x8 {3 I; J5 L$ K, X  
7 e3 w0 e% y# r* N  F+ Z: npi
$ P9 m, c9 a4 G  [  ) w' E+ ]9 T3 W* O, E
pointer to interface
$ l. W- y' e6 ]+ B7 E. I* ]3 H9 M  . \' h( z* D, F" n$ D
CATISpecObject *piTargetFeature;0 e- L, }4 z. j. w+ q5 q
7 R! E# O( B1 o$ H) T
  
8 B0 _6 K. t! }; s1 e6 msp
! ~  q. c9 W8 \) d1 K$ N- a3 }& \  
% s, c: A* n$ r# F+ L3 z$ ]smart pointer || handler
! L8 v( I% g4 d* @7 W  " N/ V2 v/ ?3 X3 O0 }4 g7 \- @  w4 {
CATISpecObject_var spTargetFeature;/ s" [, G2 c3 s+ b- f) W: U  z

3 X& ~* ]' X: p" Y; S, w' {  
7 z% g% ?9 g0 l' k! a/ @a
" m5 e5 J* p# _+ Q, l" h5 x0 Z  + P3 p- ?2 `' f# Q' {; l% u; z4 B
array+ U1 K  g  R, j+ f9 Q5 g. V3 _
  % W) l9 l" A" Z) Y8 [8 j7 X# o
char *aPath;
1 |6 x, u+ f. x1 V& x ! c: H" b0 }+ K
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
; ]7 S9 C' ?1 _! K8.接口指针的命名
* B+ A1 h" G$ ?: a# P# _% w格式:pi<InterfaceName>On<RootName>% t8 ]( e1 ^* U. I2 v/ n7 F. B2 l- U
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
% y6 L2 P9 s) z) [跟名字是用的三个字母的缩写 如上用Doc代替document
: |, J4 o7 L4 U( T3 f: J( I7 w4 h7 _4 ^. S9 B

2 |. }8 ?0 `9 x7 A: V, o8 U0 w+ ^. T2 S/ e2 K8 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了