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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
CATIA二次开发入门教程---12 为自定义的工作台添加菜单工具条
  T4 ^: Y# v. _% F5 T; R4 g: I1 I9 M- S# C2 N

$ w8 e( i/ G5 Z0 ^/ P  Y前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?
: `( V% I( g5 U1 _6 O0 S% J做法和前面类似,打开workshop.h文件,直接输入:
0 \6 m7 U/ }! e. U; y1 ]
- y0 f8 Q: _3 _1 s' y
, ~. m& Z; B0 k* e* C2 l
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);6 E' D9 T+ d, f+ ^
SetWorkbenchPriority (CATCmdWorkbench1, 25);

2 c: c" b  k6 mNewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
& p% |' O7 a% Q  ]( M# f3 r. u8 M1 z+ E8 P  \
//设置工具条

& ]- A! n: f5 ^1 ^: @
1 s. C( j$ ?" \* B" p' j. ?
7 e( r% L1 A4 m0 LNewAccess(CATCmdStarter,pPointCmd,PointCmd);
* ~  y6 F4 c& gSetAccessCommand(pPointCmd,"CreatePoint");
3 Y' W$ b! }  G9 S3 _! `SetAccessChild(CATCmdContainer1,pPointCmd);# T/ S) M. u8 Y
NewAccess(CATCmdStarter,pLineCmd,LineCmd);
& w4 [( |, G3 g0 JSetAccessCommand(pLineCmd,"CreateLine");- T: }4 Z( u2 h
SetAccessNext(pPointCmd,pLineCmd); 5 f  N# T5 j/ P/ {7 u
AddToolbarView(CATCmdContainer1,1,Right);
9 g2 M5 I" b- K4 T! F" _SetAccessChild(CATCmdWorkbench1,CATCmdContainer1);1 Q- r+ h. t5 n0 H' p' m
//设置菜单
/ w! O2 s$ E9 d! M' MNewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);, @9 M7 o3 Y) q0 s( O, E* O% q
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
9 O  e# y" m- E1 H; CNewAccess(CATCmdStarter,pPointCmdm,PointCmdm);" a* z) C# B, W, L* y
SetAccessCommand(pPointCmdm,"CreatePoint");& T6 i4 [4 M! L
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
+ m9 j2 n) P& a1 k# J) {- FSetAccessCommand(pLineCmdm,"CreateLine");$ q3 c7 ^1 A3 o# F1 r
SetAccessChild(pPartBenchMun,pPartBenchSmu);
3 d& {+ }1 s& S4 SSetAccessChild(pPartBenchSmu,pPointCmdm);
' c3 e2 h& E: S0 y+ W; G; B( f  OSetAccessNext(pPointCmdm,pLineCmdm);
( ~. I) I3 S, L$ E1 Y$ eSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);
6 @  }- U- ?) |% Q7 \
4 Z# {/ {* e7 K3 _/ ?4 yreturn CATCmdWorkbench1;
. H  w* ?; s6 G- J6 J7 M
6 e+ p. f3 j6 s& a) [, Z5 q# F# t8 F6 M
注意这段代码和前面很类似,另外在headers.h中输入
1 J4 n% p3 w. w$ H9 ^& y  W
6 r4 g* h9 K8 l
8 S9 s  ~% ^4 P6 t7 d6 F0 Cnew myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
9 ^7 b1 t! k" ]' `! Gnew myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
0 ~7 c" o6 T! i( E5 Q* u; k1 k( r* d0 ^" {) y
; r5 `( A4 U$ X5 J& R! Z
实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样
1 B8 e# X  U( i: D9 X5 d7 C) j" YmyWorkbenchCmdHeader.CATNls 中输入) Q; Z/ X5 w- g  w! o! N

0 y% M" R+ Y+ u0 ZmyWorkbenchCmdHeader.CreatePoint.Title    = "创建点";
" X7 J9 Q& Z; C  p' M0 V5 W* FmyWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";
' \+ {, g- k$ s0 E- a" jmyWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";' @: I4 D: N: z* Z: b, w' R3 F
myWorkbenchCmdHeader.CreatePoint.Help      = "创建点";  S9 E' Q  T$ y9 x
myWorkbenchCmdHeader.CreateLine.Title    = "创建线";. U0 p7 J; y" E# a+ e2 ]: k
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";. Y3 Y8 w2 x3 T
myWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";
, T+ Z3 v* w8 v: |) ^myWorkbenchCmdHeader.CreateLine.Help      = "创建线";
) q6 s) l$ d* d" g( K" E5 H0 \% F; M2 L! `
0 {+ M" s! d/ w) ?6 H2 i
myWorkbenchCmdHeader.CATRsc 中输入
. n( [! G  q- V. W+ @3 A* q* s. H: O2 W; r. \3 C( x+ n' x
myWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
+ D- ^- a$ y2 a$ h( ?- bmyWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";" B8 ]8 R! g+ s; w6 O+ V1 u; M! E
+ |6 g7 O1 ?3 W% ]6 Q0 {
myWorkbench.CATNls 中输入:  [) V$ v# Q; Y, h  N' _/ t& X
myWorkbench.Title="PLM之家智能设计";5 D' U. Y# k: z- O! u8 c2 S4 \
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";
, f: Z+ n; P: L6 F+ G- e0 N0 m$ E0 RmyWorkbench.Help       = "PLM之家智能设计,智能设计模块";7 g4 }6 f" J  }* }/ ]: q  C
myWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
. r: Z0 D  s/ y8 C
5 I: ?9 f( ~5 ~5 g" q9 g, L' kNewToolBar001Tlb.Title = "PLM之家智能设计";8 v' g; ^: m0 m( y. Y
PartBenchSmu.Title="PLM之家智能设计";
1 k7 n4 m8 f1 @" \" h% JPartBenchSmu.Mnemonic     = "P";  C. G9 }. y$ `2 V

; T2 V9 [3 ]5 k' M; q; d8 s3 z- {# h* I7 \& W
结果如下:* @2 T& q5 X# }  k
& V0 W! R0 M$ K
% u1 N6 E% D6 T( z8 y9 F: C
无标题.png : z( w, B" n% X! ?9 `- G

. s3 n: X; x( {# d2 v* c# B  w- w4 M) i8 ~1 P

& P' V& l0 c$ W# P" C1 W+ B! B% X& m/ j& c6 o$ v

4 R# x% l% Q: c' O( l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了