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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

: L  H1 a# t8 i( `; O1.主要规则
% z& j% ?& c. r; r6 B& q6 pCAT 代表 CATIA   作为前缀(prefix)
4 z" f# V6 a& S0 X; f! iFrame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   , c4 w9 W3 F8 s4 q! D# z
全部用英文- S) h/ [( G; T7 A' Y& d

: e, T7 }: z7 E( i* e# I$ Z2.目录实体的命名
8 Q/ }8 \, r0 d0 M$ ~Code Framework                     <prefix><FWName>2 I% \( g/ q0 @$ y9 n
Test Framework                      <prefix><FWName>.tst- z/ i6 \- t7 l& E9 ]$ ~

! W( f  H2 T5 o- Q( |2 _CAA Frameworks                    CAA<FrameworkName>.edu
' ]% \/ X  N; ~' A* X* e CAA<FrameworkName>Doc.edu
5 Y3 y9 b4 N+ }( K  N CAA<FrameworkName>.tst/ M+ n/ k+ w# [# A+ P

; T4 t- F9 N2 y# fCode Module                        <prefix><FWAlias><ModuleName>.m) ~+ T- b( l% k
Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m! n5 e  e* e' q
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
" W1 q6 b; T- h' [' aCode main module                   <prefix><FWName>.m. S- |0 N/ ~$ O4 G( m) S

& }7 a( ^8 F9 }Doc Module in education FW         CAA<FWAlias>TechArticles.doc& ?  p! ~! ?+ P5 W$ E
CAA<FWAlias>UseCases.doc# t' Y5 c+ ]' |; g
CAA<FWAlias>QuickRefs.doc. Y( f, u' K+ P' A
CAA<FWAlias>Base.doc
8 \7 Q2 ?, k: ?
4 b4 i4 {. U! K5 b' B) C
" {# K& d4 O+ A% @/ }- j3.文件实体命名
- D8 ?3 z  @# A' I4 k2 B   Simple Classes                      Class: <prefix><FWAlias><ClassName>
# b  _$ q2 r3 {$ j2 P File: <prefix><FWAlias><ClassName>.h
1 {" G+ B7 V) h7 l9 I! N1 ^- H5 p File: <prefix><FWAlias><ClassName>.cpp& B- ~2 o! w# R4 b

3 d" S0 F  D9 m4 q0 |Extension Classes                   Class: <prefix>E<FWAlias><ClassName>/ `: h5 j8 H1 u" M/ z1 f. |9 W& H
File: <prefix>E<FWAlias><ClassName>.h
" j1 [3 N  B/ a1 o( T  l File: <prefix>E<FWAlias><ClassName>.cpp7 F; p5 t5 e# ?0 [

, q2 d* |+ N2 ?3 \3 N: y# n7 O- kInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
6 [8 L6 i5 |. w1 Z: Y0 ` File: <prefix>I<FWAlias><InterfaceName>.h
: d7 h- U$ M* w, }& p9 dFile:<prefix>I<FWAlias><InterfaceName>.cpp0 \9 u; e+ y8 J- b/ M

: ?$ J% c. ^0 mAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>' `1 E. e3 e4 N& e1 O! [
File: <prefix>IA<FWAlias><InterfaceName>.idl
6 l9 d- v4 e+ f File: <prefix>IA<FWAlias><InterfaceName>.h
( ~" n1 r3 f' ?5 u, y7 X7 h  { File: <prefix>IA<FWAlias><InterfaceName>.cpp
; y' y- {, R8 ^9 |4 H+ [  X
( B  R8 H; p6 A- C& m# @Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers. ^8 A' T; _0 F% [; U1 c
File: <prefix><FWName>.dic for DS
$ R% T* U9 E% e6 Z0 Q
+ E1 r7 |* g! A7 N9 Y# g' f/ k4 mFactory Dictionaries                  File: <prefix><FWName>.fact
) Q7 s' H! i0 t# A: y5 d# fGlobal Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName># S1 {6 {$ n! ^; N, W9 r, r# J
File: <prefix><FWAlias><FunctionName>.h6 L2 n# N2 V& k+ J& Y
File: <prefix><FWAlias><FunctionName>.cpp
4 E+ a9 n1 h) w7 X: U3 w- m: H$ u, N6 [
Enumerated Types                   Type: <prefix><FWAlias><EnumName>+ m" i6 ?1 s( E6 z0 O7 ~
Value: <prefix><FWAlias><EnumItemName>
  x, N* i1 x- w/ e! C3 V" J File: <prefix><FWAlias><EnumName>.h9 Q2 D$ ~8 A! ^

; p: l7 s9 S' R9 y* S; M9 [% T# [0 |8 n2 t2 jMacros                              Macro: <prefix><FWAlias><MacroName>2 t) @1 T/ [) x- L
File: <prefix><FWAlias><MacroName>.h. N4 D+ A5 N, V# i1 }! S) O& {
' I5 T+ }* h% O1 ]8 x
Typedef                             Same as substituted name
0 |* X! x, X" ?7 o# r5 J8 wNLS resources                       File: <prefix><FWAlias>Name.CATNls5 A, _* f% Y& h2 w
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc6 J, |3 _" U/ I8 N8 k8 |
! W) p1 O' |( J7 N% |- ~4 x/ K. e
Feature catalogs                     File:2 j3 _0 ?0 {8 u- `+ h
<prefix><FWAlias><CatalogName>.CATFct
' o5 R. P( V8 N" n3 e9 w# R2 Sfor CAA customers+ o# f# V2 w; z6 U2 d4 B/ X1 b
File: <prefix><FWAlias><CatalogName>.feat for DS
# H: q$ u, \: V4 \+ p  r# V9 |9 g
/ l1 j2 h: p: D% W; H4.用户界面实体0 B+ b+ Z+ D4 u" A' Q' `
   Command Header                   <prefix><FWAlias><Name>Hdr
& y: D. ~. G7 J. ]2 z' z& |   Workshop                           <prefix><FWAlias><Name>Wks# r' r! S( O( q: s/ O: }
   Workbench                         <prefix><FWAlias><Name>Wkb! \: }) l3 m8 ~5 U& X( a
   Toolbar                             <prefix><FWAlias><Name>Tlb* A( O8 ]0 f  H$ D. U
   Command Starter                    <prefix><FWAlias><Name>Str
8 C" N- j4 l4 e8 ~0 bSeparator                           <prefix><FWAlias><Name>Sep
8 X3 g6 a. `, ]Icon Box                            <prefix><FWAlias><Name>Icb
1 Q5 i  r6 E/ Z3 {- f0 G3 zMenuBar                            <prefix><FWAlias><Name>Mbr' m5 k2 l3 L/ ?9 T
Menu                               <prefix><FWAlias><Name>Mnu  l% `( [) c! N& R
SubMenu                            <prefix><FWAlias><Name>Snu
4 U/ J+ ]& e9 f) _' h/ T
7 P; @3 X1 @7 w/ H: z5.其他实体
9 ^' {& |% l  U1 H( Y  Features and Late Types               <prefix><FWAlias><FeatureName>) w5 ]2 W, k4 {- e/ H
<prefix><FWAlias><LateTypeName>
% `5 f5 f' W9 P
7 `$ _" J1 Z) ]5 L$ r$ F  Y+ BApplicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
8 N' ~1 w- p  Z9 B0 ZData Members                         _<DataName>
7 l% j# \5 K: R* d' H# O# U
& x7 o0 c& f' ~3 KMethod or Function Arguments         The i prefix for input parameters - g* b  S  z; {) E. M
The o prefix for output parameters
0 K, W) l/ C; J& ]The io prefix for input/output parameters 7 @( x; Y; I6 O
3 p2 [3 j1 `; i9 i4 q" h- X
6.名字的变化
3 C  l! J" h1 x6 j! g& `* Z变量名字要以小写开头   int counter
9 a6 R: K% |2 V9 R函数名字要以大写开头   void CountItems()
9 K7 w: y8 ]1 J数据成员要以下划线开头 并且不能是public   int _length
  ^: \3 ]9 E6 p3 i9 b1 y; _
3 _# n7 Y8 y. {% n3 P3 H: B3 H9 L
8 I4 g6 z; ?( }/ [" l4 Q5 g  _& ]2 w( h# v5 s
2 c8 I& k  P" W4 b
7.指针
) _# G4 }( d5 `1 v, |; c
3 z2 _- E5 }& B3 Q; C
$ _  Q& m6 y) x  
( E6 _: Q0 F# O, t! D& v3 M% vPrefix/ h9 I, O( m. S6 f
  ) p# I. ]0 s9 {1 J
Means
% `% p" W; ^% o. i  . b" F- V$ U0 s9 {$ \: b
Example' [+ r) o! u1 R6 w6 e& d/ D
8 k  Z6 {" Y' @+ h  @
  6 [. P. G5 K1 c
p4 s4 b2 V, s$ i% ~8 o+ h8 B
  
' w# s" ?9 a; r# I  jpointer' E+ n( [2 I6 p( b+ I' L. H
  0 [/ ^; R9 O6 G: g
CATBaseUnknown *pTarget;" v1 G  k0 z6 [0 a; y$ r

  s( {* ]/ R! F$ E  
( a2 c% Y+ w$ npp6 K6 e6 g2 O: M
  + P! h# @$ P$ ^0 a' t
pointer to pointer* S/ w8 S2 r! `
  & ]/ I5 I6 }' E8 F3 o
void **ppTarget;; G( w1 R0 q  j% }7 o
/ v2 M" v# c. @7 @( c  v* H
  + O( n3 e* p! A( U
pi
$ A# ^+ S% \5 ^  
. I+ x/ B. O+ T* v0 s/ Y' @! s" \pointer to interface% e; N8 B+ O+ N& g+ A; y; ?2 `
  . K2 K3 z' [; ]% Q  m5 k+ c7 D8 J
CATISpecObject *piTargetFeature;
% @  P  x7 x. Y% h
3 w4 B. X% |9 g3 p# s3 }  
" Q- _" `) U8 D+ |5 E& msp
1 g  c  o& M! U4 t! P% T  
0 b5 H, d2 h. S5 A9 Q2 b: jsmart pointer || handler% N' S# P  U7 v% f: `: ]
  * q( z* {0 P% K- L0 c) o; F4 y
CATISpecObject_var spTargetFeature;
3 @6 a. K9 p( q( T
, H$ a: c# r. w  
7 @1 o. u" `1 W6 va
- U9 }7 {3 A! m+ ~  
; a! n+ e( V9 D: Sarray& l, d: C6 ~+ ?7 w1 q
  2 Y: ?; R1 j; z" k; S7 P
char *aPath;
. p  ]3 j% t+ |
  |: F3 b+ a7 W( Z4 [, UCATISpecObject **ioppTargetFeature  输入输出和指针放在一起. n5 x, V" V& n1 {% F
8.接口指针的命名
2 c4 a+ G( o3 _" p  \5 J格式:pi<InterfaceName>On<RootName>, |& B7 t$ R+ J& h
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的8 _/ M* k  d! b. M% X+ O( j# D
跟名字是用的三个字母的缩写 如上用Doc代替document
# _/ ?. o( [$ y/ F. H5 r5 y# W3 x  @

# q! u5 x; @2 S3 a1 B0 E) B# C9 [9 c5 @$ ]; g, ]
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了