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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条
/ D% ?8 o$ ~3 n, Y8 g0 e1 r9 j1 c- [# K  S% {
7 y& w5 R8 g8 f" Q! |) T
前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
) y4 ?8 P  n# s3 n, S, @! ?% K做法和前面类似,打开workshop.h文件,直接输入:6 ~2 y( t! M# T" [& w

* l. S$ E) q+ x7 Y. H/ ?
) c/ n2 e# B& ~, ]  S
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);
4 L% D: P1 E4 mSetWorkbenchPriority (CATCmdWorkbench1, 25);

& d* ]+ b/ ^7 V! R. n( v4 ZNewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
. I1 E- H: ]  g: r6 {$ w/ ~* Z6 K9 d9 v
//设置工具条

6 I/ x1 i6 C& s' R5 i7 |4 b/ l* X& X1 X6 t4 f/ M* ^
+ @  E( ~! T& F4 x& [
NewAccess(CATCmdStarter,pPointCmd,PointCmd);
# [4 B* Q- G. \  @SetAccessCommand(pPointCmd,"CreatePoint");6 z: w! }: Z/ C0 I* g! V
SetAccessChild(CATCmdContainer1,pPointCmd);& }5 \0 O; M- r( F
NewAccess(CATCmdStarter,pLineCmd,LineCmd);4 @' ]1 D# L% |. D# L2 `8 g5 W
SetAccessCommand(pLineCmd,"CreateLine");3 X4 ?- Y9 o# P' ?. S
SetAccessNext(pPointCmd,pLineCmd); 4 Q2 V2 b$ [2 x7 s0 d' S
AddToolbarView(CATCmdContainer1,1,Right);
$ F# R9 o: D) aSetAccessChild(CATCmdWorkbench1,CATCmdContainer1);
# S5 e2 z5 Z. n) D5 Q//设置菜单
; c9 P6 j7 U$ m. L$ g' a9 Y# GNewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
9 k/ O$ h2 ^! o) Y+ kNewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);& U' m) {2 g& q) m9 O4 H. a9 A! j
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
2 O9 v8 Q3 l+ pSetAccessCommand(pPointCmdm,"CreatePoint");
/ Y0 c; b6 O  Y' E9 L0 o& ?1 a- @NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
; O0 r/ I5 Y! [2 J: U0 XSetAccessCommand(pLineCmdm,"CreateLine");
4 J) S) `) Y- \/ |SetAccessChild(pPartBenchMun,pPartBenchSmu);; S: @* V+ D' R! K( N8 H% ^. U
SetAccessChild(pPartBenchSmu,pPointCmdm);
' j8 q: d( }: a% RSetAccessNext(pPointCmdm,pLineCmdm);
0 a5 A& t, G, e  m% ?- JSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);; }/ L' b8 @0 k6 T
% G  O4 o& n  w9 c! E1 d0 }  |
return CATCmdWorkbench1;
; z  Q0 r" @1 X7 M7 O* i* y0 Z% G! y4 p5 M% `% v" y

% j5 q- e, ~. m! A1 S# N注意这段代码和前面很类似,另外在headers.h中输入
! A. G$ X9 X1 q7 }2 ]/ L4 S3 B8 p% J8 R( s6 E; ?8 L

# Z2 Q( h1 ]6 p/ ?, B6 f! o. `new myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
8 w) q& h+ f/ u# w8 U# k" Tnew myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);# ~' h0 o3 q0 U+ h3 p" L) Q

# T& k0 x: O, j+ S, S* f$ ?7 ~% F' M8 ~0 I( \. h
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样
; ~5 s- `9 m  E( B4 A* QmyWorkbenchCmdHeader.CATNls 中输入
' J# R  I0 r9 c: E
1 O4 I- b  u  r$ rmyWorkbenchCmdHeader.CreatePoint.Title    = "创建点";7 W7 v, X1 V' D6 F/ z# B. ?9 |' n
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";/ p- D, `# K: ~% Z1 g) r- t! ~
myWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";
/ j- w' }0 q4 C: B0 M; A2 vmyWorkbenchCmdHeader.CreatePoint.Help      = "创建点";
. X! e# _% n$ _* L: h2 W0 b/ MmyWorkbenchCmdHeader.CreateLine.Title    = "创建线";/ A& q- I; }/ @9 t, J3 `
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";* W7 T  n9 E6 K$ V% ?* D
myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";4 j1 m/ e( P0 |+ @" W5 v
myWorkbenchCmdHeader.CreateLine.Help      = "创建线";/ E/ P$ u' I7 w5 o

. Z( E' B; c0 F3 L- t0 {. F" [3 G/ h+ b$ R# T
myWorkbenchCmdHeader.CATRsc 中输入
) Z2 u% C" i' \
+ ], {4 G$ U1 B2 ^" H; }7 mmyWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
; g* u1 R* f! YmyWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";! |& g2 L4 Q8 t. N. c6 z2 p
6 W; ^1 Q+ Q- @
myWorkbench.CATNls 中输入:/ Z. U6 r3 Q" f$ L2 n' c+ d
myWorkbench.Title="PLM之家智能设计";
. m7 H- t4 l, U  RmyWorkbench.ShortHelp  = "PLM之家智能设计工具集";# b# J+ g- [/ O% `  z6 \
myWorkbench.Help       = "PLM之家智能设计,智能设计模块";/ }9 o. F; C" G" w
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
5 Y; I) n* g3 n0 R* V9 @4 h! o" h2 Q0 ~7 [
NewToolBar001Tlb.Title = "PLM之家智能设计";
5 t" p& s- }, W' y" f# d* y; ~PartBenchSmu.Title="PLM之家智能设计";7 \. \* f* d1 o1 Q3 a
PartBenchSmu.Mnemonic     = "P";9 B* d* @/ ?$ `' l; {- M, d( b
6 V# f4 ?+ j- j' p$ \% {' ^
7 f* j3 Y" e: r$ r8 K9 A0 C
结果如下:: C( {  k* {# h: O( Q8 J

/ ?7 P9 z1 L: m; Z( t! X( Q1 E0 H4 j9 d# K; v0 F5 K6 i8 x+ X2 O
无标题.png
* ]& ~6 i/ }% n, D$ b. F+ T: r% z5 ^9 _; K% N7 P: w: R! Q: b
' |% {! b! [/ e7 M2 V
; ]) H. ]5 ]* z$ b3 Y) e/ {

$ r5 P1 M5 b) Q* l

0 X% g& h7 i3 `' w7 P1 s8 c1 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了