PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

admin 发表于 2017-1-20 00:17:03 |阅读模式

admin 楼主

2017-1-20 00:17:03

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

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

x
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条
- E1 X, `+ c* d$ q/ D% k$ A
9 n% w! D! U9 D$ e  `* u! j
3 I4 E. v( F% t1 `. w8 p
前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?' x) O7 [! y# d$ @6 i: ~+ o
做法和前面类似,打开workshop.h文件,直接输入:
( W! b" x( B/ H8 ?
4 K# z  i$ b* l1 X
4 q4 L' s4 V4 m8 H2 p* v
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);
1 `$ u7 P( d) @- FSetWorkbenchPriority (CATCmdWorkbench1, 25);

; S+ S! d9 s( N- o3 B" j* Z' NNewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
8 t# F& q8 q0 m
* w5 N( `4 ]2 t) ~: k//设置工具条
' b9 ~' T* v( P! Y* ~

, Q' N& T5 K) f. q7 l6 y5 H3 j5 h6 a. q- L
NewAccess(CATCmdStarter,pPointCmd,PointCmd);
* N0 F3 ^+ x3 W& D1 bSetAccessCommand(pPointCmd,"CreatePoint");
5 z6 y/ w4 A( t3 XSetAccessChild(CATCmdContainer1,pPointCmd);
* O- t& T- A6 N5 x( U% ANewAccess(CATCmdStarter,pLineCmd,LineCmd);
; L; [$ f( ~6 y) HSetAccessCommand(pLineCmd,"CreateLine");; m+ a# k. a$ @1 k
SetAccessNext(pPointCmd,pLineCmd);
; ?4 `6 x$ w- `5 m/ Q( H0 ~AddToolbarView(CATCmdContainer1,1,Right);
1 F: t5 `$ ?: i) ~, G. DSetAccessChild(CATCmdWorkbench1,CATCmdContainer1);: [, S( o; A' D3 E4 Z
//设置菜单: Q6 i4 O- d' b7 j5 ?6 W$ u4 Q
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
/ p9 S# O  s9 V4 F6 W4 B" `NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);' u( n+ @# I1 J7 T% H
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
6 b& ^7 E5 \; k6 V3 T, eSetAccessCommand(pPointCmdm,"CreatePoint");
* n' z& z0 |& z/ ]0 Y; O3 ~NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
+ |9 O9 z. \  A" W. P8 TSetAccessCommand(pLineCmdm,"CreateLine");
2 D5 _9 C1 F( M6 ^SetAccessChild(pPartBenchMun,pPartBenchSmu);8 M% `  u, W' h' Q5 a8 c# K
SetAccessChild(pPartBenchSmu,pPointCmdm);" ^# O: z# I, G) {- R
SetAccessNext(pPointCmdm,pLineCmdm); & k  t3 B2 w; A6 B* q( s, |
SetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);
8 f$ j$ e0 S, W$ \- ~0 \! l* e, L* L4 @- m2 @/ |
return CATCmdWorkbench1;
8 }8 U: ?$ l' @2 `
% D$ S; T8 G4 g( b1 F7 d- _" O% L. [( ]
注意这段代码和前面很类似,另外在headers.h中输入7 V3 |: q2 q: l+ p# y8 _3 [5 h- z3 y

4 K/ ]: j# I8 b* m
% m% x& U+ f8 J2 g( Unew myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);9 W1 v! H; {; I2 W3 A7 b* b& v9 D
new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
/ Q1 h7 ^. _+ m3 a! {" t: H2 ?3 ]. p+ E. C6 l" ~
9 D  |; q$ i% g9 z" a6 {6 }7 ^/ _
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样
' @# @# _( \" G  z+ ^7 d( u- FmyWorkbenchCmdHeader.CATNls 中输入
  v1 ~3 I7 Q0 c3 F# H0 e
7 G8 p5 D2 I/ r9 ~myWorkbenchCmdHeader.CreatePoint.Title    = "创建点";
0 L, }" ^) l% Q- ~* M: V4 N5 emyWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
1 r- D2 R# A2 _# y. fmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";
9 |6 V/ n3 }; b$ ^myWorkbenchCmdHeader.CreatePoint.Help      = "创建点";
  S' ~" q+ A3 J; j. b4 t6 B. A7 @myWorkbenchCmdHeader.CreateLine.Title    = "创建线";5 e. m2 k6 V/ [0 N4 Z8 d
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";9 _& }5 f9 r7 b$ G2 b# Z
myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
+ F6 a& `% O2 ^' |myWorkbenchCmdHeader.CreateLine.Help      = "创建线";
/ H9 c4 J& q, z& {1 |
- e, Z: {: \2 A6 k
' O9 m5 v  D7 F1 c( nmyWorkbenchCmdHeader.CATRsc 中输入
- ]. b- V) F' V. Y" P) t# R( o5 s2 B% V, o
myWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";4 c0 d- o, V6 v7 [
myWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";$ G- G5 m# I# O6 E" P, L
6 m4 r7 ~* s1 q5 L" D' H% g
myWorkbench.CATNls 中输入:
- Q% Y: _* ?6 imyWorkbench.Title="PLM之家智能设计";
: R/ J! G6 e8 omyWorkbench.ShortHelp  = "PLM之家智能设计工具集";
* j# S1 n: h3 V) M* d* S' x4 K7 {$ nmyWorkbench.Help       = "PLM之家智能设计,智能设计模块";  ~" J* i* {2 K; }7 W0 P
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";: V3 [7 y6 Y1 H, @/ s! b! i+ @3 _
1 p7 d8 y" V* C7 G
NewToolBar001Tlb.Title = "PLM之家智能设计";
& z* j" A, S% jPartBenchSmu.Title="PLM之家智能设计";" b& T( d" [" ]% d1 c) x
PartBenchSmu.Mnemonic     = "P";$ b  t+ e  f- \* z% S# h

! m+ K. I* f1 M3 j0 G+ G7 m5 v5 F' \9 M
结果如下:; w9 |; F' j* p6 T$ _* X
& r5 S0 X7 Z, M; w* W
0 A5 ?6 r+ c7 ~
无标题.png
: ~& P' B7 _, u  \: Z% U- M; P) w1 D6 E. l

4 B; i& \) W2 l0 ~/ o( M/ q6 `' D
: \# g6 ]2 Z3 z) R# t/ A6 B) c
% T; x5 d9 S$ C5 L! m$ I9 Y

2 x7 a# N, C8 v2 G' f/ _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了