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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
' y9 }6 v4 b/ I0 ~7 z
1.主要规则
+ T% R0 u) O4 E, K' Q1 K* x( }CAT 代表 CATIA   作为前缀(prefix)
8 s3 ~0 f0 c! @3 p+ L, ~; _Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
. j3 b/ o& r* s: f( J% N+ n全部用英文2 W8 ~, J0 {1 m1 J1 U+ w! |9 B! Y

* T' [3 x4 @8 J- Z6 ], \2.目录实体的命名; Z( s: a  x1 n; B
Code Framework                     <prefix><FWName>
/ p) q& ?! d" J& l/ |Test Framework                      <prefix><FWName>.tst
! J4 @# I9 Y$ ^& d# q4 j% t8 c
8 _' S& u! o) J; |8 _3 N5 A) RCAA Frameworks                    CAA<FrameworkName>.edu
8 L( i! N& a- e1 i2 X# P- ^ CAA<FrameworkName>Doc.edu% l# o9 z( T0 [/ K9 K7 j0 _
CAA<FrameworkName>.tst9 f* J* E% K7 O% F
1 y( z6 Z7 F9 M+ ?2 `9 V4 X. ~% s
Code Module                        <prefix><FWAlias><ModuleName>.m
2 Z4 h0 Z2 c- F9 H2 ?  U9 Y3 lCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
8 P  K$ l3 i6 i# ^Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m- Z0 o  s& h3 W2 t, S* Y4 \# R1 D
Code main module                   <prefix><FWName>.m
, N( @5 x' `' x/ X$ U
" J8 f: k$ X6 pDoc Module in education FW         CAA<FWAlias>TechArticles.doc
0 c4 T6 R# _$ i& g! _' V CAA<FWAlias>UseCases.doc/ U* ^- ~6 b" r+ Z
CAA<FWAlias>QuickRefs.doc
7 m% C. n; f! J+ p+ g# u4 H* u% L CAA<FWAlias>Base.doc9 |- ~4 a8 ~! T6 W* V

  }. {& V$ x5 T* z" k% I7 X- i' j3 ~# e! a
3.文件实体命名7 P. e5 ?" {& d
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
5 a: E1 d+ @# M File: <prefix><FWAlias><ClassName>.h1 @/ b6 F# o2 I% e7 h! l
File: <prefix><FWAlias><ClassName>.cpp! M) u2 b% ~! }$ R7 V9 f& O) }
4 q* I( a3 q% x0 z
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>" W7 w) g& p1 v( ^- q2 e) w- f- |3 A
File: <prefix>E<FWAlias><ClassName>.h) s9 s2 }1 C) W
File: <prefix>E<FWAlias><ClassName>.cpp5 z% l5 A, T4 \
' F6 x8 s3 T4 b
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>( u- Q3 Z$ m) Z0 O; k+ p9 u
File: <prefix>I<FWAlias><InterfaceName>.h9 i- @; v8 I4 }! Y9 K
File:<prefix>I<FWAlias><InterfaceName>.cpp
9 A1 }( Q& F! v: R2 Q- m4 u2 B% M/ l- ]6 \! U" i* Q2 }
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
- }& m* l% i& Z; j. {- j$ `$ CFile: <prefix>IA<FWAlias><InterfaceName>.idl
2 O' L0 \! q4 Q3 l& K% N' s) p File: <prefix>IA<FWAlias><InterfaceName>.h
1 T0 W. n% q  i" r File: <prefix>IA<FWAlias><InterfaceName>.cpp; \; N, l6 C! ]! g% j; ?
* i( ^, \* P) Y: L
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers( Q9 a6 o- C/ P# D! r3 J; Y! Z" q
File: <prefix><FWName>.dic for DS7 a2 B& L5 ]. N7 P$ P5 U) V! ^' s
  k) q3 f7 [+ M9 d6 p% Q+ k
Factory Dictionaries                  File: <prefix><FWName>.fact
8 O" J6 ?: {7 J$ _Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>( Y9 }% x9 a* J, D  s. u, j$ R
File: <prefix><FWAlias><FunctionName>.h
$ \' g! ~; v. f3 x" p File: <prefix><FWAlias><FunctionName>.cpp
) \( B0 f& `) F' \
9 D; c, z/ z- W3 o1 Q! T; k; W8 SEnumerated Types                   Type: <prefix><FWAlias><EnumName>5 w" L! i+ Y+ I5 |
Value: <prefix><FWAlias><EnumItemName>9 f6 @& [+ T% R4 t( H$ m; ]& ~
File: <prefix><FWAlias><EnumName>.h
" z5 ]( J1 y' a8 ]
) I8 W) |5 l7 e; Z# MMacros                              Macro: <prefix><FWAlias><MacroName>
8 s5 Z+ y1 M: |7 m. N* a File: <prefix><FWAlias><MacroName>.h! l& [  _: x( }5 U- z- C% i4 o% ~
/ C$ {' d* R: ?+ S
Typedef                             Same as substituted name
  k3 ]8 r, d& C' ~: O3 v3 R3 \) _NLS resources                       File: <prefix><FWAlias>Name.CATNls4 \# w: j: B0 ~5 w2 m
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc5 U+ |  _; W3 ~
- U  ^8 `$ ~# ]& n, k& _* }
Feature catalogs                     File:- L! x7 m6 S5 c
<prefix><FWAlias><CatalogName>.CATFct
- x7 t: i, a7 s+ I. T$ B+ g" Kfor CAA customers) y! R( L1 O* y2 |, B1 O( l
File: <prefix><FWAlias><CatalogName>.feat for DS
. M+ ^) }# O2 K. G# P7 q3 y' N: W/ D$ s! \( ^
4.用户界面实体
/ T4 q# |8 u- I  B; i$ L   Command Header                   <prefix><FWAlias><Name>Hdr# `3 A7 r: _5 H6 D6 D1 T5 u
   Workshop                           <prefix><FWAlias><Name>Wks; S$ N6 P: D* H, d7 l7 v! I
   Workbench                         <prefix><FWAlias><Name>Wkb# O* {3 j& q3 E+ V
   Toolbar                             <prefix><FWAlias><Name>Tlb
6 e) k4 B1 W& M  }   Command Starter                    <prefix><FWAlias><Name>Str
' n  |" Z, m2 K0 hSeparator                           <prefix><FWAlias><Name>Sep
# n$ M6 Z2 n6 H5 ^  |5 @: N8 [Icon Box                            <prefix><FWAlias><Name>Icb+ y  `) P  x# U- k$ V$ \
MenuBar                            <prefix><FWAlias><Name>Mbr
; y1 K; ^& \' W$ x  Z! v7 hMenu                               <prefix><FWAlias><Name>Mnu
2 B: _3 Y+ C" m0 [0 F8 r( U# M! ySubMenu                            <prefix><FWAlias><Name>Snu
+ Q5 w" K2 P5 q0 W. Z+ Z# i8 h3 E2 w* K/ p+ a( m9 t- A
5.其他实体6 V6 U) n5 g* ^
  Features and Late Types               <prefix><FWAlias><FeatureName>* L9 Y! j7 O% m7 \! \8 |+ a% K9 I
<prefix><FWAlias><LateTypeName>
/ z" ?& N! p% d2 @$ z% ^: r  u
9 T3 g% H& V& y* @Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>1 s* V/ m! B3 I, T
Data Members                         _<DataName>. D2 K4 t* {: }9 U4 H# D# J/ J
) B8 p. B0 ]  e% r5 b- p' s: C( p
Method or Function Arguments         The i prefix for input parameters
* c0 f! p7 d( P( \, A6 ?1 C" I6 Q5 w2 eThe o prefix for output parameters
; [- l* `; i! ^, }) }* N! QThe io prefix for input/output parameters # {5 l7 H$ o8 f2 |: u, r- ~1 S5 o

9 a" X5 k' Y0 T# l' P6.名字的变化
: k6 R6 u* X% B' s4 ?- Q. M变量名字要以小写开头   int counter
8 ?; g  G0 B+ l( f) R8 F! H- Q函数名字要以大写开头   void CountItems()
1 T1 k+ ^* ]5 Y数据成员要以下划线开头 并且不能是public   int _length  {8 |* e8 z. H: d

+ k( _! V- M) h# C8 x8 Z2 Y! }( b1 S3 [6 C/ W

" U4 [; R. X% r8 e3 r( |6 r
3 E' {- X2 E' |% U5 ~0 r7.指针
4 W5 W2 b3 {/ e, n6 D2 |( A% q; |+ m2 R; \" ~0 ?

7 |2 X* g3 k% A+ ^/ }0 @  
4 J; E) |/ ^- q) m) g. i( Z9 j! DPrefix
& m2 d3 L: S+ d2 |8 J  # R$ x4 H9 s& w% b
Means- z3 O8 ^( S& ?; V  s
  
( X( n# D. {9 ^# f; |Example% r( u; \5 u2 g

3 E1 @% G* l: u1 O5 f/ D: g0 [  7 F7 ?8 b' m) V, y, P* r
p: x) @5 M* D" M) b. T! N
  
) r2 @% z8 _. ]: _pointer9 V, I$ `/ X% O! z) x+ U  {6 P
  
2 g& v5 w; Z9 ^9 kCATBaseUnknown *pTarget;, @0 O  E$ M1 j5 g- r$ P, t5 a2 J

  W9 a8 _# D# L5 K6 E, a0 o0 \  
1 h5 [  Y3 L3 p& z- e& Rpp+ W$ d7 \  `' s+ |7 L6 J) a
  
% X6 O! j4 |+ B. f9 apointer to pointer
9 w2 u4 y% _/ a' c! a2 l5 P  / y0 ~# D2 `8 _4 n8 S
void **ppTarget;
. Q' I3 E3 f+ k! r# R4 s0 J 1 F% v1 p9 `# V9 @% m! z, O" n
  
2 C9 ?; [: A. s0 O) Y1 R+ hpi
. N: p: L( h) j9 y, z. {# x  
, h6 s1 F. P. L& t- W# Bpointer to interface, y; M& N3 S1 V) \: s; p
  
) _' X' {8 x+ j7 C, x( R. \CATISpecObject *piTargetFeature;$ y3 y! w6 |* u3 b9 r

1 E/ U2 N4 P( R' x* z  3 \$ w) {$ V" C4 I( S+ L: I
sp0 b' E( `' [3 ?
  6 x& h+ |1 n( C' j: P0 X+ R
smart pointer || handler$ z8 ^* S7 C' P/ e
  
( C) j0 u+ O' q+ D9 v; w2 N% gCATISpecObject_var spTargetFeature;
( R$ a, @/ E1 m2 Y; U* [: A/ w6 c - g4 M# y% D+ z( c7 g0 {" V( ]
  ) c  J  H0 Q# p5 _) P3 P, w
a
) c# b) c, B1 S" L/ R  9 t( a' a9 p. u3 I
array& T+ [! s9 l1 t( E+ G
  ' {; _. S7 w6 t+ |4 \9 y" P; W/ n
char *aPath;7 F! b  F& I$ [7 r0 _; |

  m2 e3 d/ y6 o9 z, m/ K- yCATISpecObject **ioppTargetFeature  输入输出和指针放在一起% _# F# ?* v0 z0 j7 g5 f
8.接口指针的命名# j8 Z# E7 X' q& K
格式:pi<InterfaceName>On<RootName>
% W, e3 {( h; h) G7 A9 g0 ?指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
- P7 M; T7 w4 I" [跟名字是用的三个字母的缩写 如上用Doc代替document
  A9 x- `, s* L; |* W( P: F1 c* B( P' n
# ~( A; y# m0 x/ |  U% u, P

. I* r5 w! k6 Y0 ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了