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

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

admin 楼主

2017-2-9 19:57:56

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

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

x
1 k( b: B: n% X9 d+ V
1.主要规则
; t" r0 a8 r! X% {$ @0 qCAT 代表 CATIA   作为前缀(prefix)' Q8 k4 ]% m. }1 w" b
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
; J( i0 W* _  B6 {) k: P全部用英文
# S; s8 O% s' M
7 g$ }6 Q* L9 |& Q( n) ~* X7 x2.目录实体的命名9 f. K2 Z, g) t3 A- B) k
Code Framework                     <prefix><FWName>
) T" k* y. n! D) Y. ]! s  E5 oTest Framework                      <prefix><FWName>.tst
  n' g9 L# O# F4 s7 |$ f  J
' S1 q5 L0 r/ g* P. k6 XCAA Frameworks                    CAA<FrameworkName>.edu1 p2 N& d1 ?; K. k1 m" `! o0 Q
CAA<FrameworkName>Doc.edu
- ?: j' r: ^8 c$ w9 Y; q& ^ CAA<FrameworkName>.tst
' n& |" M# F4 a2 H: ]9 S4 G1 w' V1 |; I
Code Module                        <prefix><FWAlias><ModuleName>.m# _" X; z$ V0 c' d& }/ ^6 i. {
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
' ^+ R7 s1 Y" d0 pCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
; J- F$ G! Y! o* r( u) \" d) f' `Code main module                   <prefix><FWName>.m9 E  q% T7 _# g0 o; s$ ]5 `
% t' L0 z# x5 k
Doc Module in education FW         CAA<FWAlias>TechArticles.doc0 V, b5 O+ Z7 ]2 }* M
CAA<FWAlias>UseCases.doc
) V* o4 I/ G: e# H+ Q( m1 v3 P CAA<FWAlias>QuickRefs.doc3 A$ S: H/ r1 S9 S) a) L/ o% m
CAA<FWAlias>Base.doc, ]- R$ J/ u: f0 J& [: S

( n5 d- Q% W; ]' w% @
0 N% s: ?& r* d% j7 S; d7 _6 t/ {5 @3.文件实体命名/ m+ m! X2 ?; W1 s1 }1 ]) W
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
" |* {& O5 W4 V" I* Q/ b File: <prefix><FWAlias><ClassName>.h
0 g, F1 g' r  d: M0 n File: <prefix><FWAlias><ClassName>.cpp
8 C2 Q1 A: g6 J2 t' _8 i; J9 F
% V3 }0 _9 l5 Q% S9 TExtension Classes                   Class: <prefix>E<FWAlias><ClassName>
- [: G* i# q; w File: <prefix>E<FWAlias><ClassName>.h
- Y, \% x0 h7 _3 `/ m) t File: <prefix>E<FWAlias><ClassName>.cpp
/ _3 [$ d/ x: Y* j  u# ^7 p
' @  ]9 z3 {6 h2 ]/ L; R5 VInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
  @( ~4 F6 Y& D; d. b+ K: ]% Y9 j File: <prefix>I<FWAlias><InterfaceName>.h) P* k! ?+ Q. h6 z
File:<prefix>I<FWAlias><InterfaceName>.cpp/ W* _+ g/ J8 \2 [; x4 l# @# j

: M6 N  |1 Y8 R8 e2 t/ h+ eAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
) g/ N: g/ D0 O! s; d0 v  sFile: <prefix>IA<FWAlias><InterfaceName>.idl* d3 A5 P4 d  S! y
File: <prefix>IA<FWAlias><InterfaceName>.h
9 U9 M" J5 b/ C- L File: <prefix>IA<FWAlias><InterfaceName>.cpp
+ h# F) H! e6 q2 B1 v" L. k1 @% O1 [3 G# @  ^7 _& t: ], K& v
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers0 u, X7 M7 K) e4 c/ P3 ^" M* r6 B
File: <prefix><FWName>.dic for DS2 r5 Z3 `5 j; O
; ?/ V7 A9 R- A
Factory Dictionaries                  File: <prefix><FWName>.fact
2 z2 }) t4 T# h1 Y. e. k1 z. C6 w! SGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
, W2 r4 s" B7 r; O; V  x( |$ d File: <prefix><FWAlias><FunctionName>.h' s& C8 N% a$ @  P/ L8 C
File: <prefix><FWAlias><FunctionName>.cpp7 i% I9 h* Q, ^: U
& y/ Q/ C' N+ g, G8 ~
Enumerated Types                   Type: <prefix><FWAlias><EnumName>
- U) ]8 _5 u% n Value: <prefix><FWAlias><EnumItemName>
7 W/ q$ e6 w+ Q, g# d File: <prefix><FWAlias><EnumName>.h
4 w4 {! E" R6 V& r  {
1 @- f, P; f- XMacros                              Macro: <prefix><FWAlias><MacroName>
" K- b1 p8 {2 B File: <prefix><FWAlias><MacroName>.h3 G5 I8 {' U$ q$ }$ Z& N! W* d/ G
  J# O+ }& w! ~; Z
Typedef                             Same as substituted name
* d# O; s8 ?' n2 |% X# Q* zNLS resources                       File: <prefix><FWAlias>Name.CATNls2 m4 j& d, H) n0 V- R. }/ f
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc0 \6 f  b& S: ^# m. m( z" l

5 A5 B8 t' B1 \. rFeature catalogs                     File:
3 i% \; Y1 ^8 y$ m <prefix><FWAlias><CatalogName>.CATFct
. {' P" d) ~5 a4 ^for CAA customers
' o! t) l. y/ x) ?, }File: <prefix><FWAlias><CatalogName>.feat for DS  E# ]0 o1 m; \. b) v! c

* a- z) K( h2 U4.用户界面实体/ e8 \7 }/ O" F2 z& l, f* _
   Command Header                   <prefix><FWAlias><Name>Hdr& v  R) G8 w9 X- d
   Workshop                           <prefix><FWAlias><Name>Wks
; \; ?) c4 {# r7 F  B   Workbench                         <prefix><FWAlias><Name>Wkb
9 t/ h6 s3 J! z   Toolbar                             <prefix><FWAlias><Name>Tlb; x4 V( K9 e% [' j
   Command Starter                    <prefix><FWAlias><Name>Str/ `! i$ I- A; Y
Separator                           <prefix><FWAlias><Name>Sep1 c+ W7 Y7 w" I( f; e1 }
Icon Box                            <prefix><FWAlias><Name>Icb
( N6 L/ ~/ ^- u9 w' y. UMenuBar                            <prefix><FWAlias><Name>Mbr+ \5 w- I  d2 T& X$ o* e$ T$ c0 z
Menu                               <prefix><FWAlias><Name>Mnu  @- _, J3 @" l7 b8 o% |. A
SubMenu                            <prefix><FWAlias><Name>Snu2 ^7 s6 Z- g4 |  x' F

# s- p4 e$ V" }) Q" M) B5 w5.其他实体
: w2 n  t/ w1 u/ E# {  Features and Late Types               <prefix><FWAlias><FeatureName>
5 ^: f/ _1 A: G0 r <prefix><FWAlias><LateTypeName>+ S; @  t  ~. I% @
2 G( ~4 g/ y! W
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
/ i8 w4 |1 x# Y6 D+ G6 qData Members                         _<DataName>
3 |) W/ k( h0 D; u1 l: z
) p8 @5 w" P) j' c1 ^; h5 T8 Y' LMethod or Function Arguments         The i prefix for input parameters 7 k0 L  y3 d0 E$ |
The o prefix for output parameters
  G( Y4 ~% i1 sThe io prefix for input/output parameters
1 U* \! p; ^/ b+ G! V6 n
' u8 e9 P- u: t" @4 [% y& U. j* X6.名字的变化
3 s7 p, z" [4 o) U1 l1 j! o. o变量名字要以小写开头   int counter
0 f7 C# x% M& ]函数名字要以大写开头   void CountItems()! d) r! e5 H3 `6 I/ C
数据成员要以下划线开头 并且不能是public   int _length& Z, O& I# N( D* m( u- {* F

+ [+ W6 c" D4 o" _5 F: B4 Q: c9 h$ m. L4 n$ [9 f" l0 C
6 j  u( b* a* y5 Q0 W; P2 B& C( v2 H

. v1 u+ E# ]- C: a4 [2 E7.指针  d' {; N$ {( \9 \

) K' G( j* T6 e: X
! i/ {7 W# J0 [" _& E4 B4 ?" B* M  / M8 J+ F; {1 K
Prefix
$ m7 U9 F  b7 ^' n9 H& v  T  , ^) K; h4 K- m1 _$ ^( k, j0 N
Means, F9 `2 @/ ]7 R* W" H
  
, I" @$ j: H: O, j5 U& mExample+ Z- t( L* J  I6 x

) Q( I0 |1 o* q4 l$ q2 d4 `) ]  j# y  
# C+ O& ?& Q% Q% h3 H3 np8 Y+ ?  K8 q% y7 T3 M/ F9 q- A
  
5 E& _  w" e! c4 tpointer, M" A. c9 Y& l" G' N3 e
  ; }) n) {& V4 F0 g
CATBaseUnknown *pTarget;! F4 {/ D, }+ y; T" U4 B6 M' t) W- k
2 _! m& o$ h8 A+ B( [  ]4 X6 j+ {
  
4 A6 H' m/ k6 x0 x7 r" s6 spp
4 w2 r2 N1 q' V( k) X6 {  0 V# \! X# T  p. Z7 S
pointer to pointer) C6 x6 ^( E$ l6 L. e" I  q
  
1 U" n. Z5 T5 Tvoid **ppTarget;2 b8 c, e: m+ F  r) u0 |% x7 T  R

5 X8 ^* u: L0 T/ R' b  / g2 u+ M# u7 H
pi
& J' E! h- N5 F9 T  % M$ B2 i( [: a: Q- F2 ~$ P
pointer to interface+ d5 g/ F( l+ Z5 @6 n0 x
  
1 ^* y& w  [' [0 ^$ I7 iCATISpecObject *piTargetFeature;9 v1 F# t6 ^7 a3 q* [  i/ R
6 b" Y- N  i: T, y
  
4 p& {9 ^% l% wsp
8 q# d2 B. v6 M  
( O1 v. V" x+ `" k9 ?* ssmart pointer || handler
7 k' c. V, ^+ c6 ^. p5 D8 ~. k  4 T: N3 }* f; C; X
CATISpecObject_var spTargetFeature;
8 d# V5 a& H* u. \8 }: n& r - v4 z/ d9 W+ i+ m
  - F6 X, _3 b0 ]' H% ?& ]4 W
a7 ?+ j& a2 [9 y1 c8 j4 }+ Q7 ]
  
+ m, |- G) o% A& l3 Warray
- ]* D: q+ i  N' g6 [; o& ]  
$ d% l, Z: X$ O1 l; `& n( Schar *aPath;' U( t. x1 S! F/ \5 @
5 B9 o; E% b. o+ m: J
CATISpecObject **ioppTargetFeature  输入输出和指针放在一起
; }3 j1 m8 m# v  d* _8.接口指针的命名
: F, w! {) q9 i) a% N4 Y格式:pi<InterfaceName>On<RootName>/ q$ [  y2 I3 [6 L4 V7 {
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
% J: L& x0 v: x( q7 U6 c1 d/ R  I+ _. ^跟名字是用的三个字母的缩写 如上用Doc代替document' Y% ~! d1 L' N( ^
( u4 T2 Y+ u$ u- Z( a

1 `( U0 z" x" g+ P4 z. P, v3 q$ O; C; M2 s% J* [( Q. i
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了