PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

Catia CAA二次开发命名规则---

[复制链接]

2017-2-9 19:57:56 2920 0

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

admin 楼主

2017-2-9 19:57:56

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

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

x
  f/ g2 w* |# b( [
1.主要规则
2 i3 L$ Z6 d) |  oCAT 代表 CATIA   作为前缀(prefix)
" Q/ O4 W, @! P# |5 [Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
( Z" E9 g8 Q/ o- j2 P/ t  \% `9 e全部用英文2 `" o7 c* n# ?2 }8 N& S- V
! A/ t  h# R7 k' g
2.目录实体的命名2 v/ h% j" w4 g) d! |. L- K
Code Framework                     <prefix><FWName>" ?6 a) o9 P* \/ q( y' G3 Q7 n
Test Framework                      <prefix><FWName>.tst; _8 s$ j# l$ z! r! F

2 ?5 ^" ?, [. a% ]. q. I; LCAA Frameworks                    CAA<FrameworkName>.edu% ]' z" r$ x( v5 E! d: S% x# T
CAA<FrameworkName>Doc.edu+ i* k8 M+ I$ B! N( @
CAA<FrameworkName>.tst
- y4 L% ]) S8 f- ?
5 ?" R) o# u+ J3 h/ l2 lCode Module                        <prefix><FWAlias><ModuleName>.m
  B6 Q6 u9 v/ Z8 ?Code Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m) Q* V+ q/ r$ o! K( A
Code Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
. S; e. ^( `' V6 F: CCode main module                   <prefix><FWName>.m/ ~3 L% P5 n2 G4 }/ t6 d' {! A0 a
0 s, u8 Y! }* P+ h3 U* t
Doc Module in education FW         CAA<FWAlias>TechArticles.doc; n$ W* b) D. O6 m2 ^1 N0 w: V
CAA<FWAlias>UseCases.doc1 L$ J$ n6 r! O, [) g# p
CAA<FWAlias>QuickRefs.doc" P/ i" v+ ~/ w; ^% [* m
CAA<FWAlias>Base.doc) U4 e7 M8 q8 w1 ?7 ?* X. B
1 ~5 J) d! j) o
/ }, C0 \" ]* Q: _7 [1 B) Z
3.文件实体命名8 P3 T, H9 {" l: l  a( P
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
- C% v8 p- v* @4 G; B; _. v" \ File: <prefix><FWAlias><ClassName>.h5 [8 z# z  n0 C" g. {0 ]1 v
File: <prefix><FWAlias><ClassName>.cpp
8 ?3 V, g/ J, ]
4 ]) U+ b- Z, SExtension Classes                   Class: <prefix>E<FWAlias><ClassName>8 q9 n- o; G+ U# G5 k7 T' `
File: <prefix>E<FWAlias><ClassName>.h
- z/ y+ M5 p* w# D3 o& W) g File: <prefix>E<FWAlias><ClassName>.cpp  X' k2 H! ?: `$ r. k& e0 Z2 f

6 \- q# _' u$ wInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
( [' A! _4 K5 E1 ~) I* b File: <prefix>I<FWAlias><InterfaceName>.h
" d* O; W+ x. ?File:<prefix>I<FWAlias><InterfaceName>.cpp
- U  W4 B6 D2 H, c- s
# J) M, R0 K/ G$ C1 [  vAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>
3 N4 Q$ o( e8 g3 N/ H6 V+ bFile: <prefix>IA<FWAlias><InterfaceName>.idl
% W( X2 s0 p! G9 J+ L File: <prefix>IA<FWAlias><InterfaceName>.h% w" r& J1 W5 b
File: <prefix>IA<FWAlias><InterfaceName>.cpp0 [5 Q9 J2 f- u+ A7 D
# W2 F( d1 c. }, F; K/ W" o
Interface Dictionaries                File: <prefix><FWName>.dico for CAA customers. V$ g8 P" I; |- U' B! y
File: <prefix><FWName>.dic for DS& ~0 A9 u8 u0 }
# R& u* O/ G. q# i; I! P/ j
Factory Dictionaries                  File: <prefix><FWName>.fact5 y# Q' H) i1 _7 s9 P
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
, b/ o4 f( a! `+ T, ?* w4 C, Y; A% l File: <prefix><FWAlias><FunctionName>.h
4 Y& o) \( \# U8 b1 f; ?% H& E File: <prefix><FWAlias><FunctionName>.cpp* q( _, y0 V. @; m8 ^

% q9 d8 C( o/ J, uEnumerated Types                   Type: <prefix><FWAlias><EnumName>3 P! }" ^) i' G2 |* e
Value: <prefix><FWAlias><EnumItemName>9 a2 U& T3 D3 E0 n+ h3 P- [
File: <prefix><FWAlias><EnumName>.h
1 p+ X" _/ T% u1 d3 b$ r& O% h- G- n6 [( g( Q! c
Macros                              Macro: <prefix><FWAlias><MacroName>  ~9 e( ^7 f. [* q# |
File: <prefix><FWAlias><MacroName>.h
0 u. n+ H4 i* u" f2 f0 N6 ?! k7 x$ U' c7 m* q0 l8 h
Typedef                             Same as substituted name
+ G* k( S! P0 u. s# G: wNLS resources                       File: <prefix><FWAlias>Name.CATNls. p! ]* w, g  k* m
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc: h: k, ~& g+ o

+ _5 `+ {- Z. U8 }' zFeature catalogs                     File:
- l+ q! a. x( |" d- t6 W <prefix><FWAlias><CatalogName>.CATFct
$ |# E  L" v, z4 l: Hfor CAA customers
3 m6 q' @6 v/ h8 e5 aFile: <prefix><FWAlias><CatalogName>.feat for DS
: `" [+ I$ q/ v! y& b! p# U- P6 a
4.用户界面实体
" r' Z0 n; e. D) G5 U   Command Header                   <prefix><FWAlias><Name>Hdr) b0 D: Y' v9 x# I$ b! V, E
   Workshop                           <prefix><FWAlias><Name>Wks
* v9 ?2 S0 b. `+ g   Workbench                         <prefix><FWAlias><Name>Wkb
5 o9 Y4 S7 J7 U* S   Toolbar                             <prefix><FWAlias><Name>Tlb
' `$ R. d) w/ b3 f5 [; J   Command Starter                    <prefix><FWAlias><Name>Str; l) J' c/ b  i/ h
Separator                           <prefix><FWAlias><Name>Sep( b' @8 G6 j" V' G! \# [  F5 e
Icon Box                            <prefix><FWAlias><Name>Icb+ n. Z- S! Q4 k6 O1 W) y) D3 {
MenuBar                            <prefix><FWAlias><Name>Mbr5 ~3 d& Z7 C7 p9 L
Menu                               <prefix><FWAlias><Name>Mnu. ]9 Y( C' h7 B; }* x  H: u
SubMenu                            <prefix><FWAlias><Name>Snu
% w; @) p' U, D/ Q' ?' j& t! n% |. p3 j. R8 `3 |
5.其他实体# Q' X$ ^' u6 X# L
  Features and Late Types               <prefix><FWAlias><FeatureName>; @3 I& |; a. k8 |! V1 |4 b
<prefix><FWAlias><LateTypeName>" U1 H' u) {' R/ {' N& Z& \, k# l
( y3 Y4 ~9 K$ q: P  u1 s0 q
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>( ?. T* C8 S( j6 k
Data Members                         _<DataName>8 t( O' e: l4 s5 B: w1 [8 k

* G! O, P8 v: yMethod or Function Arguments         The i prefix for input parameters
/ S0 t4 _- ^3 c& DThe o prefix for output parameters 1 v: Z6 j8 n$ \  ]" c
The io prefix for input/output parameters & ~+ K' R& {3 {. L- T* g, \
2 \6 p2 g" K. X) p! q
6.名字的变化
# B2 T! M. k# w3 M  B变量名字要以小写开头   int counter+ n9 C7 V0 d- P: r% A: o
函数名字要以大写开头   void CountItems()
  {( c1 [6 ?) a9 [7 k: L' g8 ~5 I数据成员要以下划线开头 并且不能是public   int _length
; \, L8 U9 p, m: p2 h
8 \- i# q$ y$ p0 M  L9 m
/ D. ?3 ~& O' f. j1 F, z  S2 x8 f: i9 r& w/ R' d# X

" D) J+ D! o6 y8 l1 X, |7.指针
" n, W0 \8 U! P5 Q/ T; k
3 p6 a9 f, z# N2 I' R% B
) M! f6 ?* S4 o5 I3 x  
8 T' x( h9 y% [) TPrefix
5 f" ~6 A1 ^6 R  
/ e2 C% {) c1 m, p; A; iMeans$ {- K: L$ C" k
  
) a1 o8 E- S' MExample
2 V# A6 q( l( C* l2 C. H1 J
, w0 \& S. I0 w- M8 J( A: y  # [4 y" d+ E1 K' C- \# K
p7 T7 V$ U% G2 M( u$ _
  : Y/ b$ Q8 d$ W
pointer
5 ]( i4 c3 P# s7 ]1 L" c  + I' l8 p* U; K
CATBaseUnknown *pTarget;# `( I2 I. v+ G! ]1 @
/ F7 i% n4 K8 C0 u8 h! ?- W
  
6 N' a* H8 [5 F/ z4 U* P3 app
3 \) R% h: M8 ]  
( E$ `$ b6 X, z; O1 `4 d$ v2 {pointer to pointer! m6 u2 w' }/ x. Y# \, o
  
( S, h$ s6 m3 {" v/ Dvoid **ppTarget;
4 h2 N: ~7 j0 g# p2 o- ^% e6 Q* u) w
; D/ _5 Y3 K- ^! t: w  
% B0 N# M/ _8 G- E, [9 Lpi3 Y' H5 l7 M# {* T6 |' Z% L
  
: f$ S' h4 N  ?' U; apointer to interface2 f# x+ q2 R2 X& Q1 Z
  
- q4 Y4 e" g0 R6 w% BCATISpecObject *piTargetFeature;
/ b' O* d% [6 r 5 g$ f) a/ Q8 t! f1 G) R% u- A+ E2 q
  ( v3 o3 R( z+ v* D9 Q( C2 ~7 b
sp0 H- P7 B8 t  x7 e: |, o
  + c5 U: A4 x3 S# i# @: P* ^
smart pointer || handler' f# C$ d5 G6 Z6 ^# D$ U
  
: u' c) p/ P4 ], n+ a9 ]CATISpecObject_var spTargetFeature;4 I7 I  p0 p! C; v

- _$ {% ?" J; I4 w$ A. n/ W: @$ {$ _8 A  
5 M" ]4 x8 f& H4 S" ^2 c3 za. ~- n6 _. q3 Z4 I0 r0 t9 x
  5 N) E/ n7 \% C3 g" R
array, Y0 J1 j" Q; W( s3 B8 o8 g: X2 J7 V
  
1 ^. V' G1 t- Qchar *aPath;: m* Y. z6 K" d2 D

- Q  I3 [5 [1 a& z: RCATISpecObject **ioppTargetFeature  输入输出和指针放在一起
5 T6 P, v; }0 c3 m3 W. |$ \8 c8.接口指针的命名
$ H5 e" i7 R: y2 h/ y  }5 N, |格式:pi<InterfaceName>On<RootName>8 ~7 D1 E( l7 K$ ^# j
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
7 D. d- D0 ^7 }! B/ J+ O跟名字是用的三个字母的缩写 如上用Doc代替document0 e/ i' ?: ]$ m5 k7 G  W- I, Q6 j: c

' s: T7 h& }- [' g3 B" v
4 B6 Z9 C3 ~. f4 [. v
9 O& a) k' e7 E. y- R5 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了