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

[资料] 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 为自定义的工作台添加菜单工具条" G! J" l& m6 f% m: \# {  q  m/ z

: A7 g0 h6 g* e" r/ g; J
7 y. a- M0 ^5 f* N# @
前面已经创建了工作台myWorkbench和在零件设计中添加了PLM之家智能设计的工具条和菜单,那么接下来如何在自己建的工作台上添加呢?$ u+ q+ T6 g0 n' d2 C' [/ L
做法和前面类似,打开workshop.h文件,直接输入:
  t: G$ S2 P+ T/ E& y
- X( S* z' ~) L
; c. d! ?9 F3 ~
NewAccess(CATCmdWorkbench,CATCmdWorkbench1,myWorkbenchWkb);
  N! r. ^9 `/ h  VSetWorkbenchPriority (CATCmdWorkbench1, 25);
' s" T, f! l3 C6 z
NewAccess(CATCmdContainer,CATCmdContainer1,NewToolBar001Tlb);
3 a1 m. K6 P& f0 B0 I& f3 s  t, `! u, _
//设置工具条
) ^4 [8 n4 ~5 P) T5 [# x& j
: C; ?' H/ k) ^0 h9 s
9 G' `" j3 n% g8 t5 j7 h( }2 U
NewAccess(CATCmdStarter,pPointCmd,PointCmd);+ G: ?8 P+ [- K/ ?; e! v
SetAccessCommand(pPointCmd,"CreatePoint");" e9 U2 c; v# a- ^0 q4 ~" V. l
SetAccessChild(CATCmdContainer1,pPointCmd);4 y5 J2 y+ O. w  o' m4 T5 X3 Q" f7 J
NewAccess(CATCmdStarter,pLineCmd,LineCmd);, D( S" g4 m7 f& G" W; K/ n
SetAccessCommand(pLineCmd,"CreateLine");
. V0 v1 T$ i$ \# t+ n7 P1 ~3 _7 qSetAccessNext(pPointCmd,pLineCmd); 7 ^+ j6 [" K1 _# Q2 j
AddToolbarView(CATCmdContainer1,1,Right);6 E  T5 p/ V! i) S( ~" M
SetAccessChild(CATCmdWorkbench1,CATCmdContainer1);
7 m& S4 H. |8 {, `6 \/ a. \//设置菜单, Z8 h9 o8 J7 L, L
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);( e2 T% `! G- N; a4 f5 G
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);. _% D) M; M3 v+ I" Q% d: l
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
8 i1 {; j" b- p7 i" L6 Q( VSetAccessCommand(pPointCmdm,"CreatePoint");% F3 b9 T' c3 p
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);2 Z7 H7 L- o% k3 k' U" U
SetAccessCommand(pLineCmdm,"CreateLine");$ F+ W6 R8 v; \; _$ C" n
SetAccessChild(pPartBenchMun,pPartBenchSmu);1 A4 o+ s$ Z" k8 w5 t
SetAccessChild(pPartBenchSmu,pPointCmdm);
6 M3 P" ?" @" E9 b" X  U" b" kSetAccessNext(pPointCmdm,pLineCmdm);
4 k, ?' ^* P6 V: Z  gSetWorkbenchMenu(CATCmdWorkbench1,pPartBenchMun);
) B8 W5 w. h/ H+ Y0 e. e" S( g  p6 J) Z! A5 l* M0 V9 D. Z/ d; V) p) f
return CATCmdWorkbench1;- E" C6 A- X! Y! _/ l$ \
- s: z7 W# Q. _; m4 n
& t4 |6 o, t  E& x
注意这段代码和前面很类似,另外在headers.h中输入
/ T- I7 c  ]( L7 Y4 i; u: I1 u; w* q# F/ k$ H

- u+ w% x8 Q6 e4 D  b2 t& mnew myWorkbenchCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);) K" [# e* X/ ^6 k  j
new myWorkbenchCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);' _) S2 h, t2 [8 K
  O6 v% ~8 U) s3 J' D% W

/ E5 Y. E- J, [( `5 z, R实际上现在编译的话,菜单和工具条都有啦,现在加入图片和自定义菜单名称,做法和前面一样' F$ e5 d, E" t) A$ B* m! P
myWorkbenchCmdHeader.CATNls 中输入
, c% u% u" y$ t- ~3 ?' @  A$ [# i4 f' I3 z& I/ W; j' V, L
myWorkbenchCmdHeader.CreatePoint.Title    = "创建点";& \% k  P4 c; a2 F5 [! b
myWorkbenchCmdHeader.CreatePoint.Mnemonic     = "P";% c) S# L$ R; @) U; {' z
myWorkbenchCmdHeader.CreatePoint.ShortHelp = "快速创建点";
8 k. h$ t8 w& _! ?3 v* UmyWorkbenchCmdHeader.CreatePoint.Help      = "创建点";
5 I9 e4 u6 K& w% n- C  V4 amyWorkbenchCmdHeader.CreateLine.Title    = "创建线";+ ?: p; J, \! w1 d* }" `
myWorkbenchCmdHeader.CreateLine.Mnemonic     = "L";
) o  h% C/ z) Z' p) H, t5 s9 z3 x: SmyWorkbenchCmdHeader.CreateLine.ShortHelp = "快速创建线";  [  X4 n# z) Z9 l9 S
myWorkbenchCmdHeader.CreateLine.Help      = "创建线";
) Q: D% @! T& \5 A( N; Q6 _5 M4 m" M. S- a/ v. u

3 p5 u# ]% y. m7 b3 ^myWorkbenchCmdHeader.CATRsc 中输入$ N' @& A  N' @( u7 `; i9 `) R

* M' l5 p7 |* S0 i! {; @. UmyWorkbenchCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
3 c  l0 t: c; C0 w- Y$ |myWorkbenchCmdHeader.CreateLine.Icon.Normal    = "I_Line";; E: t( a, k3 }1 s" x5 ~& e
6 f# X7 S5 u* b- O( S' [
myWorkbench.CATNls 中输入:1 W" b, \  `$ y
myWorkbench.Title="PLM之家智能设计";. I- q7 V/ f6 b1 r, i7 F
myWorkbench.ShortHelp  = "PLM之家智能设计工具集";
6 p6 Z5 n# h/ c. _/ {myWorkbench.Help       = "PLM之家智能设计,智能设计模块";
5 }- }% V7 P$ G! ^) u$ ZmyWorkbench.LongHelp   = "PLM之家智能设计是基于catia系统开发的一套快速智能设计模块";
4 Y1 {8 F  a  {9 i8 v
/ N' s; C7 r! \: g# ], ^NewToolBar001Tlb.Title = "PLM之家智能设计";
+ E; Y$ p  Q  b$ ?( n# S' |PartBenchSmu.Title="PLM之家智能设计";
+ I* s4 ?1 ~# BPartBenchSmu.Mnemonic     = "P";
# s% d/ j+ C. q' h7 t0 Y. h4 J, X" T9 s2 U5 J% K

0 k2 d% C1 f( d4 s结果如下:
  y/ C4 t  u/ W' }; X: y) h# x  I* J6 Z3 H
  O- L5 b. x/ ^6 F
无标题.png
5 a5 B! g7 B$ I9 b8 |
4 H: R/ v4 ]; J$ r' d4 [2 V' f
/ y0 V" B" u/ q1 U& J3 {4 i/ m3 Y# r; ~4 F0 N

" w0 l/ }' o1 R4 }
8 U5 c0 @8 U# z9 N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了