查看: 6796|回复: 0

[资料] CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2017-1-20 00:17:03 | 显示全部楼层 |阅读模式

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

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

×
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条" x+ E: {5 R: I+ R
& H7 M1 X4 a8 I8 L' `
. T  Q% G' O" y4 O6 R/ b" I; \
前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
. b3 K% B0 H: \: S0 \& {) m; }' L8 v做法和前面类似,打开workshop.h文件,直接输入:
+ b8 U, h0 x# E, X* n
# y5 Q, t" \; H- J

" y# }0 v+ L7 h9 I3 S2 c: N5 rNewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);
/ x/ w5 [9 C4 U9 t+ j/ X8 vSetWorkbenchPriority (CATCmdWorkbench1, 25);
/ f- B+ `* o0 n; Q5 r8 Z
NewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);- \$ t/ M! X! @

' q# N+ P1 |' n' x/ |0 ]4 [+ W//设置工具条
0 Q# I% v8 X; W& G% Z
8 Z6 ~  V. H0 G9 x4 x- \8 z

& s2 Z. o+ y+ A2 ^5 GNewAccess(CATCmdStarter,pPointCmd,PointCmd);3 q" O# M# P+ ~
SetAccessCommand(pPointCmd,"CreatePoint");4 u2 Z7 O, p7 T5 j
SetAccessChild(CATCmdContainer1,pPointCmd);
7 \- B* S7 i' D% a" _- K+ uNewAccess(CATCmdStarter,pLineCmd,LineCmd);
" _  M6 J" _- x* |& J5 T8 zSetAccessCommand(pLineCmd,"CreateLine");
: R* [8 ~& Z6 L3 \2 FSetAccessNext(pPointCmd,pLineCmd); $ d: u% o: B7 y7 V8 f2 q
AddToolbarView(CATCmdContainer1,1,Right);
$ T+ S7 N  M2 L2 ^$ |- uSetAccessChild(CATCmdWorkbench1,CATCmdContainer1);
8 j8 p$ u- C7 ?# R! R" Q  @//设置菜单
; g1 v; c/ G0 X4 z' B2 K! CNewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
, G2 X0 Q- L8 Y9 S' F) c: \NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);9 r; e4 d' n: X8 ]
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);1 w1 E. Q0 _' T2 V
SetAccessCommand(pPointCmdm,"CreatePoint");
6 q$ S7 f6 P0 lNewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
) I& x2 U% D% E6 s% q3 s0 x  [SetAccessCommand(pLineCmdm,"CreateLine");; P4 w$ j+ ?0 M9 D" G
SetAccessChild(pPartBenchMun,pPartBenchSmu);$ }: k, l5 j' N( b4 t  s+ n
SetAccessChild(pPartBenchSmu,pPointCmdm);2 x- ^6 y9 I3 U4 n: t- P  U* z
SetAccessNext(pPointCmdm,pLineCmdm);
0 h1 e: g$ W1 T  R& R4 BSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);2 w: q/ A- f6 u, x

5 ~/ u% a" a( d5 X7 z7 [7 }return CATCmdWorkbench1;
0 r* l: f9 {7 ^/ H/ O/ d& \) q0 p. V  \. a5 R/ T. k
/ ?1 c' q5 @6 `2 e* Y; w0 e
注意这段代码和前面很类似,另外在headers.h中输入4 ~. l3 y8 j- s5 C: P
+ u+ g! w/ h7 o9 b
/ E; K2 {( q/ v- ]2 P
new myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
$ C1 n0 s" r  J$ _new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);. U% o2 ]7 A* U6 Y" Y0 z

$ O( o" v( I9 D& V+ }: L' I+ [2 k! E% g% z. n# a9 [8 a6 Z
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样4 J9 V5 H" U8 L2 D, S( U
myWorkbenchCmdHeader.CATNls 中输入- A- ~- L% L5 o7 _, V

2 C1 @: Z# y2 P% W1 O. a) gmyWorkbenchCmdHeader.CreatePoint.Title    = "创建点";* F7 E% g+ @' J3 s. F& }
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
* Y- k5 d! r! U' QmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";
6 |1 T8 `) K2 DmyWorkbenchCmdHeader.CreatePoint.Help      = "创建点";% U  e+ V2 |! p: X7 x, x" w& J+ l
myWorkbenchCmdHeader.CreateLine.Title    = "创建线";1 H3 g, y7 t3 J) M
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";
/ b7 h, `' h# q  b8 d2 M$ }myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
& e0 Q' {. s- N' @myWorkbenchCmdHeader.CreateLine.Help      = "创建线";
9 g% K4 r. t# Y% g5 T8 ?: @. {7 _5 b+ u# d' w3 w2 t4 A* h7 T
4 v3 P" N$ H+ \; r2 f  i
myWorkbenchCmdHeader.CATRsc 中输入2 S% g7 [$ c2 x/ l# p1 i7 N
+ z" L$ K0 z- I  [7 t) g1 B9 _
myWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";" ]3 a0 G3 W+ ?' W( q( w9 k3 `
myWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";
/ Y. C. W4 I- n. N( Q) ~
- @) t0 u7 E# d7 m5 C, \. p) l0 N1 GmyWorkbench.CATNls 中输入:
8 C/ v' C5 F  B% Q  i6 O' l% GmyWorkbench.Title="PLM之家智能设计";& u) G9 ^$ |+ ^2 c3 U& }
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";: G: \* [2 b  O0 G5 z
myWorkbench.Help       = "PLM之家智能设计,智能设计模块";* {/ }5 b$ ?  W7 ~% p- k% s
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
" w5 o  Q. x/ S& W- S0 \" r5 M+ Z2 @' x' Z# p
NewToolBar001Tlb.Title = "PLM之家智能设计";
4 ]; u! O& H) H4 _" T) dPartBenchSmu.Title="PLM之家智能设计";8 c  n9 [# i4 D" v( D
PartBenchSmu.Mnemonic     = "P";& e& v& U) u$ J: J: f3 o
- U+ U) h8 H' b  o- m$ c
" k- v! }" Y: A7 M
结果如下:$ [: V7 a7 ~0 ^
' u3 J1 h0 w8 d% n7 U% O. c0 t
, j3 a2 \3 z" O( p2 x
无标题.png & F$ k5 @2 Z" L! I" q3 m1 }! p: ?
1 L. \! P' K- j) @, Q

( A+ s% C! N: b. v" Z* d
% m4 e* I* {* g; G  @- c% j5 t# ~0 l/ l+ W

  ], j) M" F# B3 ?$ C. d/ L$ l% b
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部