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

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

admin 楼主

2017-2-9 19:57:56

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

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

x

  ]9 \# u1 G7 u1.主要规则2 r! b* Y+ P3 T4 V% d% L6 h
CAT 代表 CATIA   作为前缀(prefix)0 H7 x: S; K# K- ~
Frame名字用三个缩写字母表示即表示成别名(alias)  例如Dlg代表Dialog   
' B! @" i- g. n* D1 W全部用英文
( A7 m" L' K1 O% C# C& c8 D0 A4 D/ J3 x, d, B) M
2.目录实体的命名
4 a1 M4 H( D- z. v/ d, C, z0 m9 ICode Framework                     <prefix><FWName>
2 c% ^# V8 S8 }0 r% s/ DTest Framework                      <prefix><FWName>.tst
- G* r2 l; p6 w# Z9 Z5 @! Z. ]7 q7 ]9 o8 K
CAA Frameworks                    CAA<FrameworkName>.edu( t1 R1 k. O$ y& V3 U
CAA<FrameworkName>Doc.edu
* w# ~7 \4 ?! ~' M4 O CAA<FrameworkName>.tst
) I2 c8 L$ D. B! X7 r& |! x2 j. N
+ ]" m; I! i6 ^: R! W1 mCode Module                        <prefix><FWAlias><ModuleName>.m
, X$ e" A* k0 G. S" ^, SCode Module in test FW              <prefix><FWAlias><Tst><ModuleName>.m
' m! t, I0 z) @( G9 I% a( LCode Module in education FW        CAA<FWAlias><Edu><ModuleName>.m
% o) ?8 u3 d1 p; d! z: ]+ `Code main module                   <prefix><FWName>.m
% q$ j# Q, V/ Y% B2 z
0 w3 A  d6 Z& Z5 `+ n( ~Doc Module in education FW         CAA<FWAlias>TechArticles.doc
% ^( ]2 V# s2 `( Z$ \ CAA<FWAlias>UseCases.doc
3 p( B5 l0 B& H( q CAA<FWAlias>QuickRefs.doc
- p2 d) E( r, w& D% U3 a! _6 M9 o CAA<FWAlias>Base.doc' G$ W4 m. U& |2 ?6 F
- W- c6 u7 V& H. {/ U2 F9 x
, E& J/ D& S; |" N0 M: C# c1 A
3.文件实体命名
. Q2 ^9 X) E- Q, f% o   Simple Classes                      Class: <prefix><FWAlias><ClassName>
/ s( q+ k2 U( k7 ~ File: <prefix><FWAlias><ClassName>.h( Q4 j9 d9 F/ J& i6 x
File: <prefix><FWAlias><ClassName>.cpp
8 i+ ]7 _. }& W5 o' _; C  L* ^( u2 @3 }4 b
Extension Classes                   Class: <prefix>E<FWAlias><ClassName>! E! t- c" M# w) }4 J
File: <prefix>E<FWAlias><ClassName>.h
: m2 v2 X/ d2 q9 T  y1 ^* `+ W% p1 w File: <prefix>E<FWAlias><ClassName>.cpp9 T  H) c" l5 J- N9 [! Y+ Q( Z

& t! D5 B$ H1 @+ ~) f; Y6 {: \4 WInterfaces                           Interface:<prefix>I<FWAlias><InterfaceName>
7 o/ X7 j7 j9 R7 F0 C9 e# \ File: <prefix>I<FWAlias><InterfaceName>.h
7 d, ?3 M3 ], K0 A" XFile:<prefix>I<FWAlias><InterfaceName>.cpp6 c" Q7 e- p* a- X- }$ f8 ^

: J: d% j- s0 g; a0 K# nAutomation Interfaces                Interface: <prefix>IA<FWAlias><InterfaceName>, u! E4 L5 n. b: A
File: <prefix>IA<FWAlias><InterfaceName>.idl5 v: F; M" Z& C- q2 q3 d" x- B
File: <prefix>IA<FWAlias><InterfaceName>.h) ]1 l. N# z6 M4 C
File: <prefix>IA<FWAlias><InterfaceName>.cpp
% m$ n1 u7 R1 @1 U- @
! y4 A$ _  {. p4 i8 ^: F, hInterface Dictionaries                File: <prefix><FWName>.dico for CAA customers9 ^& T* |6 l) J' N% V: i, J
File: <prefix><FWName>.dic for DS" u" |- H: K7 M' h9 ]4 h( U

5 s, k. B. h  A- R; {; n+ qFactory Dictionaries                  File: <prefix><FWName>.fact- e) ^" q2 |" x  g
Global Functions and Variables       Function/variable: <prefix><FWAlias><FunctionName>: Y5 Z8 |: X9 H5 y# k( a8 `  {  E
File: <prefix><FWAlias><FunctionName>.h
3 }- O1 Q& S6 Z4 @- X1 y File: <prefix><FWAlias><FunctionName>.cpp" h6 F' M- a3 g

4 k6 R( P7 J* \7 Q( e7 oEnumerated Types                   Type: <prefix><FWAlias><EnumName>
3 N& \3 a3 G$ X( p2 z Value: <prefix><FWAlias><EnumItemName>4 K* }4 ~  T0 x/ x2 U# [; e
File: <prefix><FWAlias><EnumName>.h/ {: `* ]& n, V: H1 B8 w
5 x" n' T, U" C- P( D
Macros                              Macro: <prefix><FWAlias><MacroName>9 {( C' D, o" V: Q" ^" V1 K( s
File: <prefix><FWAlias><MacroName>.h+ Y& |7 ?" E8 B  }. K* R
0 \) f9 |6 r$ n, \/ g) G
Typedef                             Same as substituted name
; y+ n3 [( s. Y9 VNLS resources                       File: <prefix><FWAlias>Name.CATNls- ?5 y  V' t* U! }* c$ w* T; k. n) U
Resource catalogs                   File: <prefix><FWAlias>Name.CATRsc% @6 p/ J& Q! ]: o3 q$ C

' N6 e2 I1 U" N. ?3 B( r* }0 _: Z3 |Feature catalogs                     File:
2 M+ `- Z  s+ B" Q8 b+ i! s <prefix><FWAlias><CatalogName>.CATFct 8 s' a- ~" j1 v5 D, h5 U) H4 n. _9 G
for CAA customers
% ?' E% [* G3 j# q1 FFile: <prefix><FWAlias><CatalogName>.feat for DS. U6 D$ v+ R' s! m* U4 C9 F- E6 K3 l
4 Q% d" b/ ]% F; a
4.用户界面实体
$ ?/ e2 U& T: g5 W   Command Header                   <prefix><FWAlias><Name>Hdr
( c+ w4 h% z& c* P1 v& h   Workshop                           <prefix><FWAlias><Name>Wks# c! \& q$ S5 u8 L+ @
   Workbench                         <prefix><FWAlias><Name>Wkb% J' W7 u$ u3 _; Q2 s- i
   Toolbar                             <prefix><FWAlias><Name>Tlb* y7 A8 l! \* B% x' H  [& E
   Command Starter                    <prefix><FWAlias><Name>Str
$ I- f5 M- G3 s: B$ @8 z: XSeparator                           <prefix><FWAlias><Name>Sep
7 u! _2 j* ]& @8 E- PIcon Box                            <prefix><FWAlias><Name>Icb
7 {  X; j! K1 L% o8 M) [8 Q% l, `MenuBar                            <prefix><FWAlias><Name>Mbr1 B4 Z! K+ h# ]  n1 D3 w" z: s
Menu                               <prefix><FWAlias><Name>Mnu5 c. Q8 h& j/ S% D( @! ]
SubMenu                            <prefix><FWAlias><Name>Snu" `2 g' Y& j  R) E2 W
! W9 x0 f- }) j  t# l
5.其他实体
) g' ^2 ^& {4 l, S8 n  Features and Late Types               <prefix><FWAlias><FeatureName>0 b' U8 D5 W  m1 \( W' \
<prefix><FWAlias><LateTypeName>/ p& F: s' N. E
; ^, x$ v8 q* Q9 i. h* U9 V
Applicative Containers                 <prefix><FWAlias>AppCont<ContainerName>9 D3 N1 p8 K. H# Z! j. h. r
Data Members                         _<DataName>6 O  {; q$ G. a: J3 N0 P
. q+ Z* t+ W  G0 t) T# _! W
Method or Function Arguments         The i prefix for input parameters
- g- m* B: @9 W3 wThe o prefix for output parameters
, G6 @, N8 E6 G$ XThe io prefix for input/output parameters 8 L5 e  @: F8 h5 R+ j5 k7 p
0 c4 l: Y2 X, l, v" g, |
6.名字的变化8 `! @' l1 {$ i9 W
变量名字要以小写开头   int counter/ O! {6 d* U- h% X. [+ p' h
函数名字要以大写开头   void CountItems()
- M* k5 {. P* R! D数据成员要以下划线开头 并且不能是public   int _length
$ F# B" n4 ~/ e1 u4 v. i& _% J# V3 W* u' v2 ~4 i7 o5 ^+ E

0 b2 X6 E- W- @- y' r( s: |
" b; W# K, {5 ?+ k7 D2 i  p
" ^( D1 k' R9 R8 n7 [% ?/ f/ m7.指针
# U7 N2 v5 O0 f% q9 v) \# k" O- e, W; ?: i, k
# r6 o# A: u* R+ x- W6 ~8 ?9 N
  
; e% ~2 |3 L0 A, Y9 x( @  k* x9 f6 SPrefix
' U8 e2 v" D2 T9 n4 d& |0 G  
: @2 h9 @8 T8 sMeans
& N% X6 S& q$ G( o1 w  
5 Y8 g& n6 E+ j" f5 yExample
: V4 k5 f# k+ m. ?& h+ ]1 v: Q- o
% n: @, l$ ~8 t. I+ w  
4 o) N  @# [0 c7 ?  E* A5 _* Op
+ L. |! d. e" x9 k8 f0 G' k  
- y+ J* X- W& q& ^- apointer
, H/ H5 t/ |* I( Q, U  $ g% b7 Z' T' b& r+ m3 j
CATBaseUnknown *pTarget;' W4 k  e5 X+ n# n
7 w5 N; X3 Q1 Y/ h- F  N9 U
  
/ s4 ]7 Q  L# _3 A, dpp9 U: b* H& `" |# d5 D- P: x6 L. }' E
  7 D5 @0 O9 I- P1 Y5 o/ q  P
pointer to pointer  ~4 v2 c% J; h5 l; E0 R  p
  
+ z8 n- a# y- y  k% {! m. `4 bvoid **ppTarget;
5 o/ ^1 S" \  l7 V' ^
, w0 y+ S' K, g: `- [  
) t6 u+ t5 y. @5 ]( V+ T2 mpi
# |" R  P" C. X( o& L  
( M* c2 Y0 I9 n* qpointer to interface" q7 I0 B; L1 w/ G) O( o0 Z$ g* U
  
8 K4 F: Q  a1 R) S: F- n0 \6 m/ ^CATISpecObject *piTargetFeature;; Y; h6 g$ Q1 w+ O/ O# G' G% i

( k1 \/ |4 ?' _  6 @- F* I' |7 Y
sp( m* U" U$ c6 w% m4 w* C6 V
  
, A% ~3 V. C2 r, Psmart pointer || handler, f& y; V4 z9 F& _: k
  ( |. Q4 P, ]& P$ c7 z
CATISpecObject_var spTargetFeature;9 f+ w6 L# c7 ?' d* Y- x, I# K
6 F- B' C, ?6 f0 \. q5 e/ Q1 F" f9 m
  
+ g+ ]& X% Y  {a
3 g- D' j, u. u) q5 C  
7 O  e' _0 o; Aarray
0 E, ?$ ?$ @7 ^0 l  7 R* D. u3 t7 K* W
char *aPath;" h+ r( O: w% `

! U6 d" Y; r9 zCATISpecObject **ioppTargetFeature  输入输出和指针放在一起! x9 |. C5 E8 g( b- y
8.接口指针的命名5 k7 e: x: {* M3 r
格式:pi<InterfaceName>On<RootName>9 c  {$ d& @, @
指针名字通过去掉类名的前缀得到 例如:piInitOnDoc   中的lnit是从类CATIInit 来的
2 e# F+ @0 u% G4 @6 n; z% m1 y* E8 q跟名字是用的三个字母的缩写 如上用Doc代替document
! G) }' e" L3 T, ^# N2 C! M/ n' _- A' C- ]. G

$ ~$ B+ |4 x0 x" P7 t% V; p; {* R4 ?) a) z0 n; 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二次开发专题模块培训报名开始啦

    我知道了