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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

( X( y- w' l1 g6 y& u1.主要规则$ I; w2 R0 p% O: j2 j7 E
CAT 代表 CATIA   作为前缀(prefix)
6 D8 v1 A  L- O2 rFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
' |5 y/ C1 b$ m4 ^; `2 I3 X全部用英文
: b3 _3 w% }# m  i2 f; s
0 @% I- V/ C& A5 q$ C+ s8 {, _4 k2.目录实体的命名
& V+ R' D: Y# S& ^5 kCode Framework                     <prefix><FWName>
$ L! |+ E; m  a0 ETest Framework                      <prefix><FWName>.tst
5 p1 V) j& ]9 Q$ r
6 s) n7 ~6 d: }. j0 {# S* jCAA Frameworks                    CAA<FrameworkName>.edu% S+ b2 N1 a* N  c8 a( D
CAA<FrameworkName>Doc.edu
4 m5 G. {, F/ E7 Q6 i  ? CAA<FrameworkName>.tst( f1 [# K& d9 `6 ]% U6 a
1 L/ V" e* U' m/ G* G2 \9 B2 \9 x
Code Module                        <prefix><FWAlias><ModuleName>.m6 X' D7 X5 _9 F3 [5 K
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m' ?5 _. Q1 u7 T' I
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
' [+ M! \% w0 t" N1 h2 L1 xCode main module                   <prefix><FWName>.m
" R* J4 t$ s2 Y
& V9 k1 }$ p( K) GDoc Module in education FW         CAA<FWAlias>TechArticles.doc
. D, I* _  m1 n0 b8 l. k CAA<FWAlias>UseCases.doc$ {: m, y& [, L! @
CAA<FWAlias>QuickRefs.doc
0 m, j& W3 Q. ?- J CAA<FWAlias>Base.doc& q6 z' N- \8 o4 k% T& m2 J, J

' T* P' M$ i/ E
+ {2 L  `2 E9 Y% U3.文件实体命名1 f  U6 Q9 L- Q6 a% ?
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
( j3 d* g3 I; W File: <prefix><FWAlias><ClassName>.h
& J. i) H4 @% @- C7 x+ D File: <prefix><FWAlias><ClassName>.cpp0 X/ L4 f) H& S$ C- F, x
% n& c, D$ ]- @4 s/ u
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>! \3 t& z) a! M3 l
File: <prefix>E<FWAlias><ClassName>.h
8 H8 e( B! V' f* k1 @, A: ^ File: <prefix>E<FWAlias><ClassName>.cpp- J9 `, Z" Z) |+ k9 `

7 {, `2 I: k6 VInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
4 S3 s* s$ ?; M' R6 t7 t6 p File: <prefix>I<FWAlias><InterfaceName>.h
& p' U8 J6 c7 A: IFile:<prefix>I<FWAlias><InterfaceName>.cpp1 \/ J, J( Z' F- O# D
1 x" I+ Q8 X9 Z0 L
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
7 C  T5 ~8 @6 G' S5 X- }2 @File: <prefix>IA<FWAlias><InterfaceName>.idl
* E" P  ?7 i# L3 V9 x  k File: <prefix>IA<FWAlias><InterfaceName>.h- j/ t2 @% Y# `7 E1 h8 R* x
File: <prefix>IA<FWAlias><InterfaceName>.cpp
( I+ N( o) M# y3 |8 h
7 V% D5 W8 `& e  A9 J3 P' N5 ~Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
0 N3 T3 I4 D2 L! \) X; Q5 J: X/ C6 ?* dFile: <prefix><FWName>.dic for DS" Z& S7 O! P  v( I2 X

% ~0 s/ P/ d9 Y* Q  ^: ]Factory Dictionaries                  File: <prefix><FWName>.fact
. O# K( B# t: [. i8 ~Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
$ v: E+ P( f0 d% _ File: <prefix><FWAlias><FunctionName>.h& t2 ]# O; e9 w" U0 K: f" Z% D5 E
File: <prefix><FWAlias><FunctionName>.cpp
5 V3 h, e# G. A+ ]) N2 w& t1 W3 q/ ~0 x# _9 i! F; f2 i
Enumerated Types                   Type: <prefix><FWAlias><EnumName>" B: r( f4 P6 j; L3 K9 T" O! I
Value: <prefix><FWAlias><EnumItemName>
' W0 L1 Z8 j% B! g File: <prefix><FWAlias><EnumName>.h
- K: L) k* D& b2 @+ S- ^- P! w3 l2 F4 q1 L0 R/ [4 h# F( }; B2 h
Macros                              Macro: <prefix><FWAlias><MacroName>
; ~0 ~2 a# `1 v File: <prefix><FWAlias><MacroName>.h
. V. q3 p5 s, M3 \5 @
) G! b% y) ]3 k. A) \Typedef                             Same as substituted name
% _8 \7 H& o% pNLS resources                       File: <prefix><FWAlias>Name.CATNls7 ]/ T5 y! V" M) J1 R- N0 f% t& @
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc9 a3 f* z& B9 X0 n$ L# W) I$ r, v

$ X' A/ l- x; l  iFeature catalogs                     File:4 Q/ M: i2 N; f% a: m
<prefix><FWAlias><CatalogName>.CATFct
  s, S' H# v- l* P: R; O6 \, F: ?for CAA customers7 M! g" x( E* n6 \/ ?0 ?
File: <prefix><FWAlias><CatalogName>.feat for DS. t! K0 B& k3 l
) N) n5 K2 t# C9 |4 Q) m
4.用户界面实体
% B- k  B- [9 N2 E6 w/ H+ @   Command Header                   <prefix><FWAlias><Name>Hdr
8 t$ D: g- G( {5 m) X1 n6 O   Workshop                           <prefix><FWAlias><Name>Wks+ f9 w- ?. t7 ~9 L
   Workbench                         <prefix><FWAlias><Name>Wkb
" A1 v9 w, T' h+ ^" w2 j% _. h   Toolbar                             <prefix><FWAlias><Name>Tlb$ I  Z( C" K5 H8 j( k
   Command Starter                    <prefix><FWAlias><Name>Str# U( s3 C- j/ B. E' T1 q
Separator                           <prefix><FWAlias><Name>Sep0 c3 I6 J: y( H  |- j1 M: j
Icon Box                            <prefix><FWAlias><Name>Icb
- T8 _  k5 h/ y' B* _MenuBar                            <prefix><FWAlias><Name>Mbr
3 ^2 ~* G) y' M6 R. \/ t8 ?Menu                               <prefix><FWAlias><Name>Mnu2 H- s1 z" v$ ^0 l" h
SubMenu                            <prefix><FWAlias><Name>Snu
; a& u7 v$ N2 w1 X
9 ]6 [) Y# @3 j4 U0 |: @4 ]5.其他实体
+ q0 L- r& L! q: A$ u2 Z, A' ]  Features and Late Types               <prefix><FWAlias><FeatureName>
6 s  q: T3 ]/ o9 ]% l <prefix><FWAlias><LateTypeName>" I/ d! n7 h$ V" P! s& a

& y& |4 N1 D7 d1 w* Y; A" j% JApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
$ l3 }$ e1 t0 OData Members                         _<DataName>
' y7 |" M+ E0 ]& Z. k" @' s8 U8 \0 z1 x4 g/ l& t1 F
Method or Function Arguments         The i prefix for input parameters
! Q0 i* L7 t3 J( S, A! S2 cThe o prefix for output parameters " R# ^- I3 T# [% ~) X6 @: N
The io prefix for input/output parameters
4 T% }% w0 @. |" Z
+ [' v/ e, C/ U+ A+ p6.名字的变化
& y1 x% ?; W" V* _1 m变量名字要以小写开头   int counter/ b: i8 b# A9 d5 m, ^
函数名字要以大写开头   void CountItems()
' b7 V* O# \" U% Q( K3 n. p% `4 X数据成员要以下划线开头 并且不能是public   int _length
& S; j) r% _: q6 M4 n6 t# t7 _9 s$ U3 ]) g' G! b) f+ v) R

, i3 k; n; b- H4 k8 j0 h+ f( c' F1 E1 d, h' M/ G: Y, ~$ m1 P8 ^

/ P- d% D4 C' p* ]8 {( C$ z* y7.指针: {/ h4 ~8 G9 @/ t3 E: m5 T

2 n2 ?* S/ A8 p4 p9 E3 q, B
: D; @! O  R+ e; c  
" P# f. J9 w! L7 g2 W! EPrefix
) \: {+ h0 ~- X1 C9 \# \7 U  
: E, p4 R$ O2 ]9 ?- ]Means
0 @2 _7 r. s7 \4 k0 r; a. R" Y  
1 {+ c2 o% [3 z" kExample5 \% @' b8 a# d% z7 y* @
, k) p% {9 a4 q3 j: b1 ]! b, T
  
& G1 V& n  N! ]8 P) a$ g( w9 cp
4 ^8 e' I1 h# ?. d# c! U9 U* W  
8 H+ U: V% {7 m3 h, \# B: gpointer0 B- N) P' F; Q/ `5 d' G' }1 T8 G4 h
  - C0 |  k$ R6 P8 R% M' y9 _
CATBaseUnknown *pTarget;
& {" X# f: H2 I! f7 p. Z( b
) ?6 i8 M7 C( `0 B8 f; y) Z  # c% v  ^% i% ^' n: s. Y* U
pp
2 Q' u, v. b3 H0 |, ~9 @  , v# i0 I: a& `6 K, j
pointer to pointer
* N# r" i, X: w7 A3 r. b  
5 o8 W. R/ D3 S- h, \void **ppTarget;
1 S6 S; M, G, V! D5 L0 J0 A; r & F1 F, @* Z- j3 c1 G# T
  
* d) r. F7 B1 V8 _# B& ^% Spi- w$ R0 X# Q: `3 W' h" Y
  6 _% s1 ^3 `7 [' m1 ?; K# j$ ]
pointer to interface' _* |  J4 W$ i% K
  
' j2 S* U4 w8 n+ K8 kCATISpecObject *piTargetFeature;
2 z0 _' R' C7 e9 g6 b7 @. z! Q) o
1 j3 g; K7 N. a9 Z% T  
- {6 c1 B& v/ Ssp
9 }/ `; F3 o' k: _+ V6 x* g( [4 h  
" e+ Y" ^+ N6 W& ^6 {5 s/ o3 ^smart pointer || handler2 {; c* n+ g2 b( U5 t" E. P0 N2 u
  : H  [7 e( ^9 O
CATISpecObject_var spTargetFeature;8 ^- Z* q% O/ B9 f/ V6 H7 o: x- L

( w2 k$ W6 O. u- }7 |  G  
  u" N, x8 s8 g$ b7 m7 ?a
3 q0 {) ?% h/ Z( {8 B  ' \' y7 o& y: G! Q3 j! o# ~2 Y  E
array
0 F. b# i4 b" J  ( f- B" s& L: `: c
char *aPath;6 Y5 Z, r( g  z; g0 I
) V7 T  J$ h1 I
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起" X) \0 U: Y' i- p5 Z* o
8.接口指针的命名
- {( y. c6 o! h% X3 x$ g. x格式:pi<InterfaceName>On<RootName>
! q$ v. L' N, I5 o. U指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
; R; D: T, f* Y跟名字是用的三个字母的缩写 如上用Doc代替document7 a. {2 T/ U0 c) n( f2 T

7 W$ N  H' E- L! z5 q& o) [7 [3 o( A4 K+ ~6 w$ {

' ^$ \2 }% G7 t4 Z; {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了