PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-1-20 00:17:03

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

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

x
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条4 M% ]; \) ]: j6 u$ ]: r: o

* ]4 W( h9 @+ U" n0 s8 V

* I. j8 o- y  ~: w. ~前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
: _. M/ ?3 A, N% r) I* ]做法和前面类似,打开workshop.h文件,直接输入:
1 m% y- @0 r* K3 Z  x
* q& \- t4 ~  a# n& E* X. F0 b
" o4 {2 ~' U( m& Y$ ^2 ^. Z0 [  E
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);5 f# L* p3 X0 {8 ^
SetWorkbenchPriority (CATCmdWorkbench1, 25);

3 b# U5 F+ |: ?NewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);, C2 x6 J  V" V+ e
+ b' g  V6 j5 ]4 I; w1 b, s) }- t# ?
//设置工具条

3 t' S6 h1 K* R# ]
6 A: n6 p1 l6 W* [1 L; m( R7 |0 g5 s( G$ m5 P$ ^, w9 h3 ?; V7 g
NewAccess(CATCmdStarter,pPointCmd,PointCmd);7 A* m. `' B6 g7 I# n, H
SetAccessCommand(pPointCmd,"CreatePoint");
8 ]+ T3 ]3 S: `6 m; cSetAccessChild(CATCmdContainer1,pPointCmd);# v( w- A8 L7 q- ]- G$ t  b
NewAccess(CATCmdStarter,pLineCmd,LineCmd);
) H, `/ d  ~4 B% WSetAccessCommand(pLineCmd,"CreateLine");
- }, v, X# ~2 @$ S1 z( ^$ q7 K# USetAccessNext(pPointCmd,pLineCmd);
" ?& Q! @$ V3 U; J# kAddToolbarView(CATCmdContainer1,1,Right);
8 ?. z% A# M) c8 a/ W7 b/ V3 uSetAccessChild(CATCmdWorkbench1,CATCmdContainer1);+ D* a9 B# I$ ]; N6 Z! x( s
//设置菜单
: ^, R( D+ t8 ^4 y" _NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
8 e9 i; T" l' ]5 f$ Z- oNewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);# E4 g3 Z! t6 _7 H6 S$ J- H: Y1 O
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
9 W+ m1 ?) {2 BSetAccessCommand(pPointCmdm,"CreatePoint");$ t/ T+ z$ `$ L2 m, D1 W* i
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);4 f- u  q- S+ ~* ~; U
SetAccessCommand(pLineCmdm,"CreateLine");
. T2 V( `. ?/ I. X0 ^( n& jSetAccessChild(pPartBenchMun,pPartBenchSmu);
6 f; D/ C9 G, nSetAccessChild(pPartBenchSmu,pPointCmdm);
$ S0 v+ o2 i3 V9 g, BSetAccessNext(pPointCmdm,pLineCmdm);
" O  J1 Q, I( bSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);# `/ P# V) C" O5 x8 X! P

5 ~4 m0 @$ l' V8 z6 o  Q# f. ereturn CATCmdWorkbench1;
4 u' _# ?% f. Y
/ f6 U6 t$ a+ U3 U' E+ y5 O5 a; d6 U/ o9 N) @
注意这段代码和前面很类似,另外在headers.h中输入
  A3 q, a' D% Q, `/ j! q# L
) {: p. t) U8 z) O
1 S: |2 l' ^0 t; f4 \) nnew myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);4 g/ p- _! Y' y. z+ a
new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
# K# Y: V) K/ E, `' D/ N0 U7 v" a( Z" G% X

( o& Q4 \) I2 o: {9 u, _, l4 D/ d实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样
* i0 B, o! F2 K7 A! q7 `) s. HmyWorkbenchCmdHeader.CATNls 中输入
/ i& P5 s2 n3 W) L
) E( y# u  s, g2 V. t( ?- i5 j; [0 _& cmyWorkbenchCmdHeader.CreatePoint.Title    = "创建点";
% q8 r1 e" @( @: G7 N  imyWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
. ], U  [* W- O! o0 OmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";
* f( Q( A- i) a9 H- G5 E" z4 EmyWorkbenchCmdHeader.CreatePoint.Help      = "创建点";7 z$ m. p2 M2 T/ Y
myWorkbenchCmdHeader.CreateLine.Title    = "创建线";
6 Z  O7 D3 w& zmyWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";
$ g1 a8 r8 [& C  L7 tmyWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
1 Q/ ~9 \( Q8 ?myWorkbenchCmdHeader.CreateLine.Help      = "创建线";8 E5 e1 I7 L( [- t  n4 Y( t9 c
4 ~; {' H" e! K# C, n+ \7 X

; b6 w, w0 v& {9 Y8 b% BmyWorkbenchCmdHeader.CATRsc 中输入6 K) t2 }* R( c% E( X

9 g" `  ?: w5 Q1 R7 K0 wmyWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
$ H7 q+ C5 q; GmyWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";: v" i. Y# D  Z/ L+ ^; g; s, t+ S

+ M) b9 E' }- u4 J! e% i- o* z! rmyWorkbench.CATNls 中输入:
0 ?* Q  d3 P$ K1 J# ZmyWorkbench.Title="PLM之家智能设计";
# M  O$ R" G0 i8 ^  n# N3 q; Y2 m  r! h! ^myWorkbench.ShortHelp  = "PLM之家智能设计工具集";1 h6 ?5 v2 l. l1 x
myWorkbench.Help       = "PLM之家智能设计,智能设计模块";; L' n9 s4 |! w9 R
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";9 c  p( t, W$ F- t6 a
& ]+ l! e! E7 ^3 h) Q" |
NewToolBar001Tlb.Title = "PLM之家智能设计";6 G$ _# Z5 ^2 }; D1 p; z) ?* `: P
PartBenchSmu.Title="PLM之家智能设计";- ~0 Z( w+ Y/ N0 \# i$ o
PartBenchSmu.Mnemonic     = "P";3 j* ?8 Y: r. `1 Q# m3 i' j* m) e

! }4 P5 G8 y3 J8 m" c9 H) A$ j* j6 k
结果如下:  b7 e0 a4 E9 S! ?' \. K

9 ?+ x  i! {: M4 \) W; a, X1 a% j7 P7 _; M1 Q& @6 Z8 E
无标题.png
$ U- u$ R- K: j9 I9 m8 a3 |( f% q* d  m

% R/ ^5 D% @4 a
6 [, W4 y# D- n% D$ o  Q
- G# s$ z+ f% K) u- I

2 p" S8 i* }7 v/ @' a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了