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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
4 k( I8 N7 p1 F# C
1.主要规则
$ C5 \5 g7 g! K% \. mCAT 代表 CATIA   作为前缀(prefix)
3 V" @( k) w9 UFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   5 X7 j! _8 b( N. M$ g' r4 z- w
全部用英文
9 o0 u; q- U$ v8 _# q, F0 P( j0 Z+ ]8 S6 U8 Y
2.目录实体的命名0 W" ~* t( e" P! U% m4 |
Code Framework                     <prefix><FWName># F1 B0 |6 W, ?( }) b4 M  \4 W
Test Framework                      <prefix><FWName>.tst
. V$ F0 v/ `4 ~! A
. r" Z/ i% q( d1 PCAA Frameworks                    CAA<FrameworkName>.edu( [' I: U& z. B7 v5 q6 E: A1 G
CAA<FrameworkName>Doc.edu
) Z4 H6 p3 Q# P CAA<FrameworkName>.tst( `. }; F* V6 G7 S  t3 w; m

, s# e; ^7 p, A2 T# A' H' b# qCode Module                        <prefix><FWAlias><ModuleName>.m
0 ^1 x- |$ A7 j- Z% O+ L8 i; ^  ZCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m& T. J2 ^# f# p7 h3 F
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m" U/ C: N  T0 l; e: W5 d
Code main module                   <prefix><FWName>.m2 W9 q- h, ^7 S( e) g

/ F5 E" D6 U, f& g9 [6 e) hDoc Module in education FW         CAA<FWAlias>TechArticles.doc
# ~7 X, h4 x- P" `" T# h CAA<FWAlias>UseCases.doc
0 u! j$ g  D  I7 I  c CAA<FWAlias>QuickRefs.doc
' Y# }5 L3 W  T* g4 K" d. k CAA<FWAlias>Base.doc4 h( Q3 s* J$ R; m2 N, y

6 S7 E3 ]- @# \* x
/ T+ O4 \) w! i  z3.文件实体命名
4 n5 G! v: W) R& t" W/ r3 Y! z5 I* U   Simple Classes                      Class: <prefix><FWAlias><ClassName>  ]  P2 p4 V7 p1 K6 \* z7 C: ?$ H
File: <prefix><FWAlias><ClassName>.h$ M& n6 a0 t6 V0 U( i4 f7 Q8 U
File: <prefix><FWAlias><ClassName>.cpp$ V$ Q2 q" y+ Z* k4 x
: B3 P: Q8 Z+ H; t
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>" Z) ^3 t0 c# F% c  P
File: <prefix>E<FWAlias><ClassName>.h
% T8 U8 ^# }& E. D4 l4 ?4 m0 O! D) h File: <prefix>E<FWAlias><ClassName>.cpp
. [4 P# x/ ]8 Y" O; q0 A# I9 ?# o$ Z2 ~( ?* q3 S( U
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
0 ]) T% e* Z3 R9 f+ O File: <prefix>I<FWAlias><InterfaceName>.h
* z" O) H6 j1 wFile:<prefix>I<FWAlias><InterfaceName>.cpp
& j) M6 o5 k* w; e; b: _" e) u9 O$ M: [" W
Automation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
6 J# d) r/ T' d* q! X  HFile: <prefix>IA<FWAlias><InterfaceName>.idl
5 w, j* ~4 C6 R8 m: |+ N- z5 H) @ File: <prefix>IA<FWAlias><InterfaceName>.h
/ x1 n4 O0 g& t File: <prefix>IA<FWAlias><InterfaceName>.cpp
! O8 ~2 u3 _; T6 {2 H" `6 g$ J/ U; ?: r# g4 t- @: m
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers
; G" c6 F. {! L/ @6 H, YFile: <prefix><FWName>.dic for DS8 C8 u* ]# g( E) l; a

' X  y; x: i- g8 t; v7 V8 ]2 NFactory Dictionaries                  File: <prefix><FWName>.fact
" O/ H1 R. T- T: SGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>4 a  ^# }% {# g$ S1 I. g) g
File: <prefix><FWAlias><FunctionName>.h$ e( S3 d2 M' s  ~3 C9 P5 j
File: <prefix><FWAlias><FunctionName>.cpp! p8 R* H. ~( {% [6 Z9 T- }

+ q8 C8 l$ R9 IEnumerated Types                   Type: <prefix><FWAlias><EnumName>
5 M& I, m$ s' G, X! i Value: <prefix><FWAlias><EnumItemName>3 F) u8 Q; u" Z1 T0 v/ v
File: <prefix><FWAlias><EnumName>.h! J+ }7 o' i- i( {$ O' n9 W

$ j0 z0 o' Q. h- Z, x2 YMacros                              Macro: <prefix><FWAlias><MacroName>$ x% C0 ^7 s1 ?+ r
File: <prefix><FWAlias><MacroName>.h
' ?8 J2 G! R  F: Q+ l* V7 ~2 u- S" Q" s/ H3 _. l
Typedef                             Same as substituted name5 W5 L* L! t7 d% O/ i' {3 }
NLS resources                       File: <prefix><FWAlias>Name.CATNls8 d; k$ e/ I3 S  h  f' ?0 }
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
+ G& x/ k9 Y& G2 t2 O2 ~' n  r
! N6 V6 z0 g8 R) t5 p$ T/ GFeature catalogs                     File:0 I0 ]* Z6 Z& u. ~/ ]" x5 Z
<prefix><FWAlias><CatalogName>.CATFct
3 b! o9 q7 X' B2 M6 H: Hfor CAA customers
  c5 W! Z) y7 a, c2 a. B, IFile: <prefix><FWAlias><CatalogName>.feat for DS
9 K* b- g# d! y- u
4 T; N4 Y3 Z: _: r6 m: B4.用户界面实体
5 j+ u+ [( P# k8 n, U   Command Header                   <prefix><FWAlias><Name>Hdr& n$ I( X' M5 h/ Y: g7 U- w* T
   Workshop                           <prefix><FWAlias><Name>Wks
9 w1 S+ L9 Z; M5 z) B4 S' b$ G   Workbench                         <prefix><FWAlias><Name>Wkb6 h6 r: A0 @* x9 \. l
   Toolbar                             <prefix><FWAlias><Name>Tlb
  Y% ]( b5 t* {& _   Command Starter                    <prefix><FWAlias><Name>Str' b; o! V4 a, o7 K- p  ^2 O) ^/ X& m
Separator                           <prefix><FWAlias><Name>Sep" ?) N* n& M* B
Icon Box                            <prefix><FWAlias><Name>Icb
5 H) A8 j9 P* y+ U( p1 gMenuBar                            <prefix><FWAlias><Name>Mbr
7 Q6 H) E0 Q, o% K$ t" @) t* fMenu                               <prefix><FWAlias><Name>Mnu+ H& f* X$ x9 V
SubMenu                            <prefix><FWAlias><Name>Snu
4 [9 e8 v2 C3 ~6 n! g! l. `: p' u3 s' U# D0 u
5.其他实体4 R* I6 }# e6 Z4 @8 s
  Features and Late Types               <prefix><FWAlias><FeatureName>9 M9 h; U3 b( X2 c" w" ]
<prefix><FWAlias><LateTypeName>! ~: D+ L0 W" x

( |2 R! Z2 y- \Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>2 {7 |" B4 d3 S" A, ^5 `% n
Data Members                         _<DataName>% l. r, i2 m$ M! c! g# M, h" c
5 d( u( v, [$ b* U# m
Method or Function Arguments         The i prefix for input parameters
. T  W. E! X# @8 iThe o prefix for output parameters
0 o" J. ?0 _  Z' f" wThe io prefix for input/output parameters
3 c  [# N7 h7 [' s" S# w
& b$ M: I+ j5 {- F7 v8 G6.名字的变化
: }6 U3 R: z$ j4 ~) N8 z变量名字要以小写开头   int counter
4 n# P  O9 c3 y3 r1 e- J/ A函数名字要以大写开头   void CountItems()
! |: Z0 E% j6 u' h数据成员要以下划线开头 并且不能是public   int _length
& @2 y. Q. v8 m% L5 B# [5 R0 [. K( c4 s1 I# M
. {5 G2 O5 |( M- J: K

1 D0 b" y" S. e- R% R1 N( \6 |) C7 f2 s6 t" {4 {  E
7.指针
. N  X5 y, S- e9 e, P8 @# F9 M* f4 y6 K, l- `9 K" ?) T
- E5 a+ n5 [) y$ W. x1 d( l
  
4 r) P. H0 @' ?3 vPrefix+ @- Y; B' D2 A" N& Q$ }
  
" d& [! n: a/ L1 Z& k/ u$ b3 UMeans' @' z/ I5 X7 v3 H5 g5 m8 |
  + A) t3 \  q/ Y8 [  p
Example
, P: `, c: _5 {% m* W4 q) R) E 1 x% k/ _4 ]0 j7 U6 j7 J
  
, y) ]5 d& e: Op0 ?+ K0 n7 p  \" O& I
  : w$ z+ u$ b  s! t. K0 a. F' g
pointer
( w$ i# Y- P1 N) ^9 ~; G' }  
; M: J9 \8 X0 J4 @/ S* `CATBaseUnknown *pTarget;
  Q1 \- [- j& g$ i) B5 g & a! Z4 M8 C" K7 v. Y+ D
  
8 ~' Y8 P2 {7 ~  {' K! c: Rpp$ B6 N' x) Y+ `/ j7 [% |
  
1 \- T! j) M: t) _1 H% cpointer to pointer
( v# z( E1 R6 x5 _  
; O/ c$ h) \- A$ x0 Pvoid **ppTarget;4 f* W5 S3 _: E4 O# i  ]$ q
8 S2 a" d; p5 m
  
9 b( n5 \/ G" O6 M* fpi
: {, V9 Q, n) n8 ]. h( S  5 O9 @: J: F/ Y, x: k9 r. F
pointer to interface
. g5 L; w' }/ e  l1 @& x# r  
- T! s- O! b# w5 uCATISpecObject *piTargetFeature;
7 O8 S( c( F7 j+ _1 w- Q ; `# F3 J+ Z% q  |" ]" ]) C
  & q5 h, g! W- J4 O2 Q# H
sp; \. s" a, [" Z+ U  r
  ) n4 R: B9 S2 g- e+ W
smart pointer || handler
! i2 L% L7 s# T5 Z$ R6 P  
6 u- N# `  ^- _' X! YCATISpecObject_var spTargetFeature;/ D# \; y3 o% l
! T4 @/ o2 _* m; i: R( U. s
  & R7 _! P& h1 k) t% }
a5 D. u, |: L' Z3 Q. n; Q' w
  . K1 P7 A% _3 B& c( g* v
array
* l" l3 \9 P# `  
7 s. b0 y; ?. i! X: Q2 l3 Gchar *aPath;0 i" f+ t; V1 W1 r5 N' Y
( u$ j8 P0 {7 ?/ g
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起' Q5 n4 P) R3 v) A$ R" l
8.接口指针的命名
1 T" g$ @  Q& ^, A) i; G! M格式:pi<InterfaceName>On<RootName>
& t4 D; V/ Y2 G. P5 m指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
! Z9 _( b! k2 K跟名字是用的三个字母的缩写 如上用Doc代替document: Q" [5 W3 ^' i* ~7 S
. s* W! z) }- ]' t5 l

1 q& Z  b# L" v; f8 U0 H* x( O9 s0 l& P$ }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了