查看: 6795|回复: 0

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

[复制链接]

4

主题

3

回帖

38

积分

管理员

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

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

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

×
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条2 |1 }, i/ a5 \* o* {

5 Y: q& h- y) a- ~
& {' X1 X/ x; E9 o0 a/ t3 S
前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
& V6 W7 ~6 I* A3 v* u4 p做法和前面类似,打开workshop.h文件,直接输入:
9 w6 J$ x' l: P3 d% B4 M
2 [8 g0 `) T) q

. `3 [( K: A/ T, y& [( mNewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);) X7 D9 G/ W: w9 ?
SetWorkbenchPriority (CATCmdWorkbench1, 25);
) W; _2 j2 ?! i8 t: M6 C& Q
NewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
  a$ Y' z5 h2 V- w1 [: h- E9 d7 \$ _% |$ v* ?7 P
//设置工具条

& K# }" {2 L; l$ E
8 Y, Z4 c; Q  l' d& R8 e& y' j! w3 `: p+ k  m5 z
NewAccess(CATCmdStarter,pPointCmd,PointCmd);3 X: P. E1 E5 o0 d% q4 x/ A
SetAccessCommand(pPointCmd,"CreatePoint");
( ]- ~- _" g" m7 oSetAccessChild(CATCmdContainer1,pPointCmd);
! m3 G8 Z- H6 o& R( m) f) w# bNewAccess(CATCmdStarter,pLineCmd,LineCmd);3 k( n3 k5 Z; ^1 M; N$ x- f
SetAccessCommand(pLineCmd,"CreateLine");" S* T2 S6 T8 B! n
SetAccessNext(pPointCmd,pLineCmd);
. r# S  a/ M# T- JAddToolbarView(CATCmdContainer1,1,Right);* S# ^, e. }/ ^; h  q7 }
SetAccessChild(CATCmdWorkbench1,CATCmdContainer1);! O7 C$ y5 j0 E- R: b0 i
//设置菜单  E, [" d. w! Y3 [! V
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);2 s* j7 N/ D9 L( |
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);  L7 L+ _; x. ~3 ]9 e
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);! h5 Y( ]9 r; ?( u; l2 x% s
SetAccessCommand(pPointCmdm,"CreatePoint");4 a$ `1 I" s4 P: }1 m
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);6 K1 Y- Z7 l+ a7 o5 z; v
SetAccessCommand(pLineCmdm,"CreateLine");% o! Y4 z- D. b7 s
SetAccessChild(pPartBenchMun,pPartBenchSmu);0 S0 e- r  s2 O' j* p6 e
SetAccessChild(pPartBenchSmu,pPointCmdm);
4 Y+ n" B+ P& V# j# F! o) w" pSetAccessNext(pPointCmdm,pLineCmdm);
8 H. z3 W9 W+ [: t- @" zSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);9 Q. R8 e9 O- T0 W+ r

: X( z# o: x! T& U' v0 ^2 S. ~return CATCmdWorkbench1;
& I7 F1 L# i# @6 N, W! r
3 F3 O. y6 v4 s) w& H8 y8 _
$ Q" V4 g1 S; p/ Q1 P注意这段代码和前面很类似,另外在headers.h中输入
7 k3 t+ b1 L$ C4 z8 J" [5 p3 g

3 u  g; ]: |9 X% ?: ?new myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);- Y- h* n. V% {; Z/ T/ T* W% I; v
new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);* P' e& P, x, ?6 R3 D& _

- J+ W& w/ c6 A9 l. ?$ N2 _8 B3 ~  N; b7 g; n+ ]/ C- r  P
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样" b: w1 t9 ^( S$ O0 v
myWorkbenchCmdHeader.CATNls 中输入+ T  ]1 e! I% O
2 j# t2 f7 }0 w1 A$ |
myWorkbenchCmdHeader.CreatePoint.Title    = "创建点";2 D8 H: S6 S4 t# q6 C
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
/ Q4 ?( U# K7 r3 u/ KmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";, Y$ e) C, t! o4 q
myWorkbenchCmdHeader.CreatePoint.Help      = "创建点";
& Z7 a# |/ |, A' NmyWorkbenchCmdHeader.CreateLine.Title    = "创建线";
4 [9 E" }5 U# B4 E; B* N5 z( zmyWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";- ~. i1 [+ R" s, X& {
myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
4 Y3 D+ [$ M: r! u& umyWorkbenchCmdHeader.CreateLine.Help      = "创建线";) L# E9 C3 `' o* i6 U
5 g0 `# d- F- \- x0 c7 t# _
% S1 }. L% V' D* }+ Y% ?/ m
myWorkbenchCmdHeader.CATRsc 中输入
8 h- C1 L: B! P3 T) z  Q* x2 Y4 W# D1 }
myWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";; i: O8 `  ?+ |8 p: _5 Z
myWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";3 {( J. j& {4 G* x
" i9 S. ^% |& z4 T. l! E; u
myWorkbench.CATNls 中输入:* G; z$ Q+ ~" E0 _
myWorkbench.Title="PLM之家智能设计";; {* q' j) P0 }1 w6 m
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";% }6 `* G. ~% ]* b3 Q4 Q$ [
myWorkbench.Help       = "PLM之家智能设计,智能设计模块";$ I+ l( d* Y% P  F) J
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";9 s' L  k$ S2 o. J

5 }5 c2 t) G: }3 LNewToolBar001Tlb.Title = "PLM之家智能设计";
. H  X9 |& v+ ~1 e$ NPartBenchSmu.Title="PLM之家智能设计";
  ~8 ]  _1 A9 U, D& k/ yPartBenchSmu.Mnemonic     = "P";) q$ w) F# C( ~' S# s

/ a2 q, x4 e8 ^
! r. D5 _& m  A, X结果如下:
( Q% i4 D; |+ m- e& `0 O$ G3 X1 V  W+ F2 ?; U+ q- A

$ l) U& c1 j* i6 i8 u& g% A 无标题.png 3 y( E8 S3 @% p5 a7 O! `6 B

6 x! Z$ v, U( s/ k/ C2 w
  b2 P% ^6 I' S4 g0 ^3 [0 y
- H4 }9 S/ f  {  y) j' o) i) a0 z. l' e* u% H5 v: k

$ z# W4 a4 R' w+ ~7 z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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