PLM之家PLMHome-工业软件践行者

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

[复制链接]

2017-1-20 00:17:03 6708 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条. [# F" [5 ]) r# \

3 ^/ y. z7 w9 ~+ }

' y0 U3 g# V% W2 O前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
2 g- @: z. P1 L4 J6 m/ c" ^做法和前面类似,打开workshop.h文件,直接输入:$ k6 z4 f2 N; T$ I! \* H' B' Y

1 S& [- u7 C+ S7 L! f, S

8 d! z, g# t; l; @  JNewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);6 z9 s! @( E6 m9 @0 R- [7 N
SetWorkbenchPriority (CATCmdWorkbench1, 25);

, M8 D2 Q4 l8 N3 Z3 yNewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
6 j6 s' `* `  [2 h
5 P- f% v2 Q8 L//设置工具条

. x$ Y% S: _2 P; u
* x% k8 g' M$ r$ B# e; M: Y! O% {1 O2 X' H5 U- c
NewAccess(CATCmdStarter,pPointCmd,PointCmd);: t, [, c; r$ g6 `8 m
SetAccessCommand(pPointCmd,"CreatePoint");
( H/ C& V' D4 F/ }! Y; z2 E& ESetAccessChild(CATCmdContainer1,pPointCmd);4 c/ v" l7 ?$ p" |- R
NewAccess(CATCmdStarter,pLineCmd,LineCmd);0 j1 B! ~2 W- F- N& [' b
SetAccessCommand(pLineCmd,"CreateLine");
& B8 U. b0 d* E7 {- kSetAccessNext(pPointCmd,pLineCmd); + R4 Y5 M" e5 K" R6 l; o
AddToolbarView(CATCmdContainer1,1,Right);3 o3 ^$ j- d# Y* v" h
SetAccessChild(CATCmdWorkbench1,CATCmdContainer1);3 I% A" h) _8 a
//设置菜单
, Y" }" ^8 t/ f0 Q3 C+ S% V# Y, mNewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
, x& v: p5 V; B6 V! G$ z4 W; O4 UNewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
/ s" ^+ }. r% ]+ ]0 b: U2 aNewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
- E& ]% C8 A8 d& P* N- PSetAccessCommand(pPointCmdm,"CreatePoint");
% \. ?7 d% ]+ I$ ZNewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
1 w& }% m) q! n) `/ @. OSetAccessCommand(pLineCmdm,"CreateLine");+ m* o6 I& M' ^
SetAccessChild(pPartBenchMun,pPartBenchSmu);4 _5 u( ~) e1 S6 w. i9 Y  v( v# E
SetAccessChild(pPartBenchSmu,pPointCmdm);
' F( g1 u. B2 sSetAccessNext(pPointCmdm,pLineCmdm);
8 ^" c) s+ ]4 a% wSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);. I/ r1 V5 w% _# l3 O5 f7 l
4 o3 q: P8 a2 U* s4 q
return CATCmdWorkbench1;
9 E0 p3 c+ y1 |9 K0 ?% f
) b" B0 q: Q& U0 u9 f. K& }6 r. F% ^5 U1 C' K3 {( B+ P
注意这段代码和前面很类似,另外在headers.h中输入
0 s$ l- c, n; r: R1 h% w8 v' ?8 {9 L( C- s/ C+ }
2 x) T- d0 p( C+ h# }
new myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
" i! r$ K! y' O" E* Knew myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
9 m* k5 @( \# v6 D3 f1 V7 `! Z' w' u' D5 N  _

7 f& m. i$ a' [3 N1 M实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样
, f! O' R. x4 w7 c( m2 I' BmyWorkbenchCmdHeader.CATNls 中输入
$ N) n! q8 }1 P2 O! m# `& y2 B8 N1 g4 Q8 U; K9 I4 V3 l
myWorkbenchCmdHeader.CreatePoint.Title    = "创建点";5 v# l% E$ C# ~: E* r8 ~# y. M8 Q
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
0 k  ?& |6 Q  e+ ?3 tmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";$ N1 f. V3 V; d% q
myWorkbenchCmdHeader.CreatePoint.Help      = "创建点";" z* Z7 C/ p; C
myWorkbenchCmdHeader.CreateLine.Title    = "创建线";/ x6 P/ E( s# G  h$ @
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";
2 Y3 t: _2 m- m  }+ ]  V6 v( ^myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";, \/ i' b$ R  }2 d) [4 Z/ ^( g
myWorkbenchCmdHeader.CreateLine.Help      = "创建线";8 }2 v7 K$ N, ~6 |" c1 o' o

9 g* r; [- E6 Y- O  b8 |2 s
& b) ^  G; K/ N9 omyWorkbenchCmdHeader.CATRsc 中输入
6 Y. n; P  m! I  v+ l
: F: Y/ I! y" W' x7 Y" mmyWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";9 ~: G+ e0 t( G# M) \2 H' A3 ~
myWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";6 s, {4 s- ]! u, ?2 V

  v/ v! r" t+ y5 a- tmyWorkbench.CATNls 中输入:
9 C; }: K% o( V, K3 G7 nmyWorkbench.Title="PLM之家智能设计";7 b+ S8 T7 x' s, K5 w
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";
1 u* V; M$ H1 W. o. H- XmyWorkbench.Help       = "PLM之家智能设计,智能设计模块";3 `, l4 ~1 D" Z7 s: L" E4 u4 b
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
) S9 D0 S  y  e5 t4 |) ?0 j% }, o8 C; s+ Z+ q1 o; I
NewToolBar001Tlb.Title = "PLM之家智能设计";
$ h" z3 Z/ V- u# z' @! M- S0 m6 BPartBenchSmu.Title="PLM之家智能设计";# T6 q1 v- \8 F
PartBenchSmu.Mnemonic     = "P";
& u3 y6 R& c9 r3 u
$ G. r" K5 o. A5 d/ l* C* N6 s% c! w: r& f% Y/ H
结果如下:
" M- C! u4 Y9 j# o! B
6 ~0 O% p- I7 O5 a
9 h- w' Y2 e7 o5 z# g 无标题.png   X- C  x9 F4 X7 k, `7 m- k2 y) m

* Z; Z- k8 y" ~% L8 E9 t' v( f1 S* q' i" @4 t4 E3 |* S
1 m5 Z3 G% J9 Y& K& b7 T6 ?
4 k+ h8 D, J3 b, U0 C5 v
9 i: v4 b. s* F7 ?' s, G9 f) S  w/ w
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了