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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

6 [- n" s( t3 m% B4 ?1.主要规则
; t" W1 W" ]1 @8 S1 o+ }! @CAT 代表 CATIA   作为前缀(prefix)) C" j! U# K$ ?
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
' @2 n5 d" g8 c" B全部用英文+ ]  @5 u: V# J% B
9 O7 U; V' |% n2 W: [
2.目录实体的命名  b2 o/ O9 P" c
Code Framework                     <prefix><FWName>
/ {" x8 ]+ `6 ?  N: A$ ~  `& r( mTest Framework                      <prefix><FWName>.tst
6 {0 Z& _$ |8 q' l0 @7 _& X9 t- R
CAA Frameworks                    CAA<FrameworkName>.edu
5 |9 g% w9 y: }  f5 a6 B5 v CAA<FrameworkName>Doc.edu+ R7 ^. C, U' s4 r
CAA<FrameworkName>.tst
$ ~; s3 z  v% }! F. t
* z2 \, d. H% {) [Code Module                        <prefix><FWAlias><ModuleName>.m
% p3 o$ l" W* z0 c4 uCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
2 s5 S: J/ w: i% ?9 cCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m3 U. f6 d) i9 g, i" X
Code main module                   <prefix><FWName>.m
, O& \% _# I1 A
2 B# T" q6 T4 a. Z7 {2 |Doc Module in education FW         CAA<FWAlias>TechArticles.doc1 m7 I' ^7 R- T6 l+ {. T
CAA<FWAlias>UseCases.doc
, _9 V( B/ R( l7 b' m: T, E& A CAA<FWAlias>QuickRefs.doc( {* `7 m( l+ o) ]2 \
CAA<FWAlias>Base.doc4 U* K' U( K/ y

5 I& G5 v1 O* M9 q0 ?
4 L$ H# e* |) E; Y3.文件实体命名2 j& w2 A" v) o  Q1 p/ h
   Simple Classes                      Class: <prefix><FWAlias><ClassName>
8 A/ ?8 C  U- S+ i4 X- ?( n& a File: <prefix><FWAlias><ClassName>.h4 j; u3 O1 Y" ]/ P) G
File: <prefix><FWAlias><ClassName>.cpp5 B: `2 F* Q' ^+ `; n5 w% ^- n

$ V4 |# g1 ?7 g5 }( S4 DExtension Classes                   Class: <prefix>E<FWAlias><ClassName>3 B7 U; n5 @7 }5 x
File: <prefix>E<FWAlias><ClassName>.h
* O  Z4 E. }1 D7 S2 s4 E File: <prefix>E<FWAlias><ClassName>.cpp1 t: y; X8 j/ o1 H/ J
# w; r: l& n& w/ A
Interfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
" F8 S  k) o" K- f& B  V! i File: <prefix>I<FWAlias><InterfaceName>.h% X. t: H: i$ g" F, _2 Q5 @4 D
File:<prefix>I<FWAlias><InterfaceName>.cpp" C. P. ]) i  C0 C# j! }/ y. G+ s. U

8 k  V- P/ a4 K& w9 wAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>% p" N% h/ a  [( T+ P7 L3 m7 P2 e& f
File: <prefix>IA<FWAlias><InterfaceName>.idl
7 U5 T7 b* g, H% V. ] File: <prefix>IA<FWAlias><InterfaceName>.h8 H1 u* L2 G6 Y% J1 e
File: <prefix>IA<FWAlias><InterfaceName>.cpp! B; t3 X' G/ L6 S/ l

5 {, P3 a! j" g8 v" h7 C/ QInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers
! ~3 ~4 n  `& s& [% A& gFile: <prefix><FWName>.dic for DS. l, Y, e# I+ [; F$ z+ F7 y1 J
5 U8 j$ R  s6 H) ^* G% z2 l% e  _
Factory Dictionaries                  File: <prefix><FWName>.fact$ k: g; W- h1 \% M! T5 V# i; v
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>
- m0 M* ?! H) D4 _8 x File: <prefix><FWAlias><FunctionName>.h
. q4 x9 \1 b6 j, o! t File: <prefix><FWAlias><FunctionName>.cpp- ~& {+ G. H$ O: k) Z9 C
2 Y* n- X/ t- d- x; N
Enumerated Types                   Type: <prefix><FWAlias><EnumName>2 Y2 @' p2 }4 R9 i
Value: <prefix><FWAlias><EnumItemName>
( a9 {# E& \8 C7 P6 K' }5 I+ [, n File: <prefix><FWAlias><EnumName>.h
0 A% n% Z& {" g9 B- u2 k/ O: q0 i' @6 {, t- d
Macros                              Macro: <prefix><FWAlias><MacroName>7 s1 G- [: }. P5 l/ Y
File: <prefix><FWAlias><MacroName>.h0 [3 t0 a0 j) Q$ J+ Z
2 U/ i. j; t: u1 V% D
Typedef                             Same as substituted name
: z4 k, X* {( d9 n( CNLS resources                       File: <prefix><FWAlias>Name.CATNls8 h- w: \7 l: s4 T
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc
  Y1 _' K8 N1 E3 ]; _0 T# x3 U3 c8 r
Feature catalogs                     File:
' S* }( ~! D7 V: G <prefix><FWAlias><CatalogName>.CATFct + g7 U: C( J# o# K4 E# D# x
for CAA customers3 |6 ^& z7 b- m9 a* ]- N
File: <prefix><FWAlias><CatalogName>.feat for DS! \* \: w2 ^- ?# M, J
# b, b9 ~& t! J! V0 n( R
4.用户界面实体
' m" c( ]/ _. V- _% `   Command Header                   <prefix><FWAlias><Name>Hdr
0 x8 G9 W: U" g2 }& B   Workshop                           <prefix><FWAlias><Name>Wks; P4 y  x  W, o  T7 {/ H# T; o
   Workbench                         <prefix><FWAlias><Name>Wkb
/ Q" C5 g8 I( @8 d: t' b   Toolbar                             <prefix><FWAlias><Name>Tlb3 U& o7 e% q" _0 R/ ~
   Command Starter                    <prefix><FWAlias><Name>Str
+ p- L  j8 p. i" ZSeparator                           <prefix><FWAlias><Name>Sep- _9 N3 h8 t. [/ h& F- Y
Icon Box                            <prefix><FWAlias><Name>Icb1 ?- H: v& ]: f$ P
MenuBar                            <prefix><FWAlias><Name>Mbr: J- ?+ B$ t, x
Menu                               <prefix><FWAlias><Name>Mnu+ N! g: {0 v' H; L- z# s
SubMenu                            <prefix><FWAlias><Name>Snu
1 T6 `& y2 P2 b1 E* \$ z& Y& |" e$ h" Z3 f: O
5.其他实体
: `# R$ E/ G5 O; K" }  Features and Late Types               <prefix><FWAlias><FeatureName>
; R3 U6 ]6 J+ Z' P, @ <prefix><FWAlias><LateTypeName>3 D: r+ j( Z& n1 `, ~7 j

$ e/ R4 J* B3 d/ ?Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>
: I! ?5 h8 F, F3 _- A7 DData Members                         _<DataName>
" z( O$ _3 b+ A- T% T1 ^! ~, z! M& h8 v2 |7 O: z% e
Method or Function Arguments         The i prefix for input parameters 5 r5 T+ V* o$ Q4 `
The o prefix for output parameters
; u" ?+ j8 G- v3 _! {. K& K/ G1 aThe io prefix for input/output parameters   H8 q: }7 M7 u4 @
1 Z% z! f0 w7 q( C( w  ~! T
6.名字的变化! A. w, s. [7 t; ^. g
变量名字要以小写开头   int counter
7 p6 D9 j" z' P' f函数名字要以大写开头   void CountItems()
; i0 K" j. I$ n; y数据成员要以下划线开头 并且不能是public   int _length
6 L% N+ k4 B, F* D+ y) v6 c% `" X% a% E. x* @

+ Y; `3 j6 n8 C. c2 }/ G# {5 ]0 T2 v7 s
& w/ ^4 t2 e  u  p$ }2 X% J" ]" s8 s
7.指针
! }/ ^7 Z$ \. B7 M/ N
  C1 h( k& H7 r' ?; h$ i( A3 D; c( y8 b 8 T; P3 y; i% ~3 w- q! e
  
" B8 h" C' Q) m. P& Y! Y9 gPrefix4 M& ^  y6 B* e) \  D
  + W8 [0 b2 p# J: y: Z, e
Means, g: Y. m9 d1 P. m- Z3 w$ L
  
! n8 B3 J: c$ }& \Example7 w5 e7 D/ i4 V3 @! w
: V( s7 f, g. L0 I8 {$ c: d0 N$ K8 d  t
  5 p( f. z+ {, R/ h. h0 n1 \$ m
p
. q' \" G0 L$ }( g  7 i+ p8 r, O/ z4 b6 }5 ^# z
pointer
( V, V6 B/ I/ C" H, d  
5 r, m& g+ e, ?2 C  s7 }CATBaseUnknown *pTarget;
6 {" d+ ]8 R+ S$ S# k: M
; E! f, h# w2 E8 \3 H7 \/ r  
$ B3 A0 E$ V- Kpp# H! y+ n' ~7 ]4 @2 J6 g0 ]! d
  / U8 t4 H5 }( P4 I4 q: V
pointer to pointer
! j* z! I+ D5 C6 G) _: H7 R  0 I) q$ v4 {/ m0 K3 V0 j
void **ppTarget;
8 J1 R6 m6 C! l5 F
7 L9 g' r# X' S5 G, ~$ i  
! V5 p; @+ |5 k! @  api
# ]* s3 n% _" L# d5 W  I  % J1 W7 `4 R" [  g4 [8 P& }
pointer to interface
% Z' e- T! }7 R  
/ D8 U7 ~) s* yCATISpecObject *piTargetFeature;! m# J, V# e- J. i, q

6 u' ~) s+ z" w  z: l! \  % j% K0 s% v+ Z  j+ \0 P# \- Z/ c
sp
4 n6 R5 W7 `; d& y9 ?4 j3 ]% x' f  
( _* _7 x- Y8 R& T$ P( T0 j& Fsmart pointer || handler' @. }' T" s: m% ~& p' {% [3 d  b
  - w6 f" ]: |1 T: V8 I6 \0 W
CATISpecObject_var spTargetFeature;4 P7 f1 J6 b& g+ q# a
* w+ W4 z9 F) H$ Q0 `5 y
  
+ R! `0 ^; L0 a" L- C  q1 u4 _8 Za
3 Z9 z- ^1 @+ e9 G- ?+ Q  & X3 C. O$ k1 e
array
) Z, F( p: r6 G1 f  
7 O/ x' i) Q; c& E9 m* |char *aPath;0 Y' J! d7 G3 n2 Q0 g! Q

! S+ x; r& J6 p7 A( HCATISpecObject **ioppTargetFeature  输入输出和指针放在一起. A9 K+ i5 s' M& [+ b$ }! I
8.接口指针的命名0 E2 x+ j  `6 T5 b1 k: A( _
格式:pi<InterfaceName>On<RootName>4 P: v9 v$ u% g8 N+ \: G1 Y% B
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的+ ~* o4 a; V. h/ z
跟名字是用的三个字母的缩写 如上用Doc代替document% s- [- v% t2 C& H

1 V$ k, R" ]8 [0 ?
" \- Z. E$ _; P
  v! F! _$ v9 x% g3 A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了