查看: 6975|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条0 `# n. M9 W& h- }8 g5 H

/ Z: k' N4 ^3 }' B2 G

# w8 X- \2 Z! ~- u1 Y前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
4 d2 {9 z0 I( @7 a/ E" \8 n& a做法和前面类似,打开workshop.h文件,直接输入:! ?) j! Y- m1 t4 ^1 m& `7 Y" V+ X
9 V5 g. z, V, k* z) c
! S( ^+ L- f/ ?/ M6 w  [
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);- y# f1 `- Z* h
SetWorkbenchPriority (CATCmdWorkbench1, 25);

# Q0 M; C$ L: I/ r2 INewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
7 w/ C1 B+ c7 Y, V7 s7 O5 S3 P+ j9 }7 h
//设置工具条
% [% w) G; d. r+ g/ Q" P

; b% q) S/ o& ?+ V; ^! ]
8 R+ P( B! S( d* CNewAccess(CATCmdStarter,pPointCmd,PointCmd);/ h: G# v3 ^7 R# U& n. E4 C) H/ U' N; U
SetAccessCommand(pPointCmd,"CreatePoint");
; a2 T# G& C! J' t8 l' \/ o5 z( i1 aSetAccessChild(CATCmdContainer1,pPointCmd);
0 M! W) X  X) g# NNewAccess(CATCmdStarter,pLineCmd,LineCmd);
2 v! i3 a& G+ e; b: U  v1 Q* P2 ~; l  Z6 ^SetAccessCommand(pLineCmd,"CreateLine");' a0 [# g" t, c% }7 s
SetAccessNext(pPointCmd,pLineCmd);
! a0 o& k7 w4 S5 R+ H- VAddToolbarView(CATCmdContainer1,1,Right);- J! H( k' w2 d/ ^3 O
SetAccessChild(CATCmdWorkbench1,CATCmdContainer1);
; a" p' V$ h" Y+ w//设置菜单! e/ C9 ^2 S1 }) V9 ^& R
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);$ O  B7 d/ m) r  m: e* K
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);' H' O( J9 U( I0 q" c/ Y. y$ [
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);. m+ y4 ~+ e$ V' u
SetAccessCommand(pPointCmdm,"CreatePoint");
- ?) T. v+ W( ], T  o" [1 |# |NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);1 p, a* X0 G  W$ e
SetAccessCommand(pLineCmdm,"CreateLine");
! @! F+ h6 E9 P5 D9 g7 jSetAccessChild(pPartBenchMun,pPartBenchSmu);
4 _6 i( U( C. P& KSetAccessChild(pPartBenchSmu,pPointCmdm);
9 o/ w) K. ]5 V. U/ R) W9 N2 ?' gSetAccessNext(pPointCmdm,pLineCmdm); , \8 m; v  U" i6 V
SetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);+ J# }! X* A% i# E

7 o0 N% c9 U& n3 r8 W! ^" yreturn CATCmdWorkbench1;6 _( ]4 ~. C( U

  Z* j3 }& I* [6 S" T+ I& i
& {1 ~6 W6 o0 g5 \/ y7 b注意这段代码和前面很类似,另外在headers.h中输入/ \9 p" N  |' p5 Y/ x7 @3 S
; ]5 e: H  b8 t; C* A$ o) c) B* Y

3 r0 L3 a7 \: J6 f0 d  z& Onew myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);2 r% R7 y+ P" p1 {- P" n6 Y/ R
new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
3 F* h, m3 q6 |6 H& s0 k3 j- G8 g4 R4 E4 j" D+ ?2 n
8 c- C: l9 E8 E
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样5 P. b  r5 |/ j
myWorkbenchCmdHeader.CATNls 中输入: Y3 w& O6 ~8 I, ]! _( R0 {& \) \

3 q$ E$ Y! e, R* x2 CmyWorkbenchCmdHeader.CreatePoint.Title    = "创建点";- x' a/ K8 l; c/ n  V: z
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";' r/ j% ^3 f2 a9 K
myWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";# \9 \$ t& U  F) z6 Y
myWorkbenchCmdHeader.CreatePoint.Help      = "创建点";
0 [0 W2 F: g* B2 ]' |, FmyWorkbenchCmdHeader.CreateLine.Title    = "创建线";
$ v" K. Q9 ?9 y) J* Y  ~myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";! Q! Q* b% n' h. I) t3 L$ b/ ^
myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
- l$ q9 R/ h4 X$ E  R/ o7 omyWorkbenchCmdHeader.CreateLine.Help      = "创建线";
1 D% t- G: E1 l8 a3 h) i: D6 T& D! i8 L. I( S! O; D/ E
/ {9 j8 d' }# _, J
myWorkbenchCmdHeader.CATRsc 中输入
0 K8 M0 T5 C7 D" e, u! u0 ^( b& _7 K) c" @4 J
myWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
1 Y% @( n1 y% W6 S5 ~+ N2 LmyWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";( _, @8 F% T( \" O( O4 X. u9 E

( u0 t; L! f7 _1 AmyWorkbench.CATNls 中输入:
6 g( J- j9 T- ~, ymyWorkbench.Title="PLM之家智能设计";2 Q, J" h' {- d/ h/ m! k, ^7 r
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";
* v/ @4 b9 a' S. n! X5 DmyWorkbench.Help       = "PLM之家智能设计,智能设计模块";8 W/ d+ j* j) }% R8 v' l" \3 }6 d9 K
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
, S. I. b. E4 G, }7 A- B9 E% ^( a7 R+ j8 ?
NewToolBar001Tlb.Title = "PLM之家智能设计";5 r7 _2 v! x+ O& {0 _4 A4 U- ~
PartBenchSmu.Title="PLM之家智能设计";* t, A( d3 R. @: a' g" A  `0 N
PartBenchSmu.Mnemonic     = "P";) ~9 ]7 f8 I$ e

) R% |2 L* p8 y5 B) ?
& t: ~6 W, F% ]+ |( k) c" u结果如下:
  J/ Y7 m0 }8 W+ ~0 v- D( k9 `
- X+ t- B6 l: f  K( D4 ?3 q
$ x+ @$ u' J4 V# i( Q 无标题.png   k- {$ I* J  K! ]; P  N

" i  h3 U$ o5 D" Q7 p
- U8 w4 u% z# a, q4 U  i% q; v& H# d; O4 z+ X0 s2 [; {

0 \1 l$ y. u& d' J$ G1 I; o

+ C. C6 |+ q: C& e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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