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

Catia二次开发源码分享: 关于创建命令和菜单方法

  [复制链接]

2017-12-12 17:18:06 6022 4

admin 发表于 2017-4-19 21:39:20 |阅读模式

admin 楼主

2017-4-19 21:39:20

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

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

x
  h3 X# }7 u: M  K1 {/ ?3 i& o& G
8 b& Q( X0 U5 a$ Q* U6 W* j
Catia二次开发源码分享: 关于创建命令和菜单方法
: F, N7 G4 J( R% ^* M3 U5 z/ Y1 C3 c
& b9 ]" L3 R- W; C' B3 D( e

4 T$ v7 x6 c7 A% w) f! c9 q//Methods implementation
1 R% y, e; X9 y2 f: ^, b% j" d- q0 @) `4 p' f
void myAddin::CreateCommands()0 Q  o' s. v8 m1 v
{
2 Q- Q$ A/ x. d6 `        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);3 S+ x  H; {5 N. i2 ]
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
5 T% u3 c3 e$ p9 |8 z* L! C        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);, G  G8 X" \7 n- s0 s
}
0 m) ^( e/ _* D8 s/ b' JCATCmdContainer * myAddin::CreateToolbars()+ T6 x; D% J, i* t' G
{4 b" S; S6 }8 ^7 m* ~. h/ \
       
' T5 z0 h6 m" B. p4 P( G1 n        //设置工具条5 S* X% ^9 `( i3 Z+ K
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);& J% D: i! I- V+ K: Q0 G
   AddToolbarView(pPartBenchTlb,1,Right);( B" P% ^, {8 }. W/ T# E& ^
) w, Z: p% H$ `4 Q. x$ ?  G
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
5 c, j/ U) }; J0 |/ J        SetAccessCommand(pPointCmd,"CreatePoint");
1 q8 f/ t3 r  a        SetAccessChild(pPartBenchTlb,pPointCmd);
- n2 [+ F  X( `; a5 L9 e
6 B. H3 T1 E7 H9 V, A5 u& u        NewAccess(CATCmdStarter,pLineCmd,LineCmd);. Q- O- D/ H# s9 M/ z- m3 i
        SetAccessCommand(pLineCmd,"CreateLine");: e- s$ j- i' @' r& D' V
        SetAccessNext(pPointCmd,pLineCmd);
0 _7 x% w2 G  B: Z# @! \) _: y& P$ F# K/ `
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
* H" u+ j( N3 ]; A        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
. B2 ?9 t* E; m# @        SetAccessNext(pLineCmd,pDialogTestCmd); 6 c; k9 Y2 T0 U, j: ?3 `& R0 w
( w5 J1 ~, ]7 t' R- H! l
       
3 [) t& p! Y, v        //设置菜单
  P# K" X4 }% L( g- y5 f. |( c# G, Y8 g$ p" e, l
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
0 r$ V% S. }' c8 s: _- K# h        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
  g$ J8 A- U* Z/ Q        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
3 d# ~$ Z! {% H2 X9 w        SetAccessCommand(pPointCmdm,"CreatePoint");
; [( ~$ a! G- H    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);: k/ t  @. [& g) q( W, x
    SetAccessCommand(pLineCmdm,"CreateLine");
' {0 q' i% ~$ B2 ~3 Y* {        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);( y/ u; n9 k' n, D) y
        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
3 }, e* E- k2 L6 z$ ^/ y( @        ; h: h) t& u) F* I  J7 N: a' T
        SetAccessChild(pPartBenchMun,pPartBenchSmu);( @, h! o% ?. x' x, y+ z! C5 X$ u
    SetAccessChild(pPartBenchSmu,pPointCmdm);' j( r) _* J. W# j$ i# w9 _+ l1 x
        SetAccessNext(pPointCmdm,pLineCmdm);
) r2 U, ?- L4 j/ }    SetAccessNext(pLineCmdm,pDialogTestCmdm); ( ?1 M7 Q0 }% [% u3 \8 c

5 s7 b: ^) @5 B7 x6 ], z$ Z    SetAddinMenu(pPartBenchTlb,pPartBenchMun);
6 V6 m4 l2 R: l8 v1 o4 Y# o, @) O' @1 {; _3 Q

& t# P: O' b% D$ n' y7 {- U
% L; X& z! P7 S6 R( V+ Q- {+ p        return pPartBenchTlb;
& o; l1 g! M9 \2 F$ {. m/ B' O
" L9 V" ?$ \! ?. @# m- ^3 G}
/ x$ z8 }5 m! \# Q% r$ y! z) ?# p( x. [7 r$ R: r

: Z3 p% F0 B% t) D
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复4

admin 发表于 2017-4-19 21:41:17

admin 沙发

2017-4-19 21:41:17

在 header文件CATRsc里面设置 图标
7 w1 ~' U( M/ h( m# g6 m6 [: PPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
/ M. X; u7 i8 t: h: oPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";; G9 q! f. P# Q) d; o% O- F
在PartCmdHeader.CATNls设置命令名称
; d- L7 N9 l) D$ \& h, [PartCmdHeader.CreatePoint.Title    = "创建点";
7 u) u; e1 }1 i3 A' p" L  ]; YPartCmdHeader.CreatePoint.Mnemonic     = "P";' s% S6 b' K% V6 M2 D! o2 L
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
5 X  e7 G9 G  }4 T  u5 q+ \PartCmdHeader.CreatePoint.Help      = "创建点";
  C2 o+ b/ k$ ~PartCmdHeader.CreateLine.Title    = "创建线";
6 `# J8 [; ?5 I8 n+ H3 [PartCmdHeader.CreateLine.Mnemonic     = "L";4 z: n! u7 O6 m5 {
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";7 f* a. k) }3 f% J9 a. w
PartCmdHeader.CreateLine.Help      = "创建线";
8 |! Y8 g0 P9 h* @* j/ cPartCmdHeader.CreateDialogTest.Title    = "对话框测试";( U/ [$ s/ b+ ~  R( R8 V% Y% G
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
8 Q. n5 B6 g0 H: Z0 D( nPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";3 k: L  E9 q8 d2 G: J8 o
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";) W) L, j: K; V( m1 v+ l$ k
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2017-4-19 21:41:31

admin 板凳

2017-4-19 21:41:31

在 header文件CATRsc里面设置 图标 9 j! n0 e$ W# H/ |1 A% U
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
# |3 \# l; V! i, ^8 J" N4 F9 S% W3 R/ bPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";' y9 p7 S9 a  |. U. k( z# {1 \. E
- _: M# N% ^' F1 h* Y0 L

) ~4 E6 F1 I% v+ }* u# d  o在PartCmdHeader.CATNls设置命令名称, k. x, J, O6 \
PartCmdHeader.CreatePoint.Title    = "创建点";
( Q& X, G& y( \PartCmdHeader.CreatePoint.Mnemonic     = "P";
  l; R6 v5 s8 J: H; OPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";" G4 o+ f+ F: K; h: F7 S
PartCmdHeader.CreatePoint.Help      = "创建点";
* ~" M" J" |0 v. a3 r1 \( u# fPartCmdHeader.CreateLine.Title    = "创建线";
* s8 P) D, I. C) I- BPartCmdHeader.CreateLine.Mnemonic     = "L";8 }1 f, P6 A) {' i) `
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";; q/ T* M1 }( @+ l
PartCmdHeader.CreateLine.Help      = "创建线";
9 V, D1 a1 A+ UPartCmdHeader.CreateDialogTest.Title    = "对话框测试";0 d  S) @+ ]+ z3 R3 [7 ^
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";. {& K* s( f' e1 K
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";, [4 F5 j$ N+ G
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";
: B; t% u8 z% A* y
0 @( o1 l$ }/ \7 ~
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

大飞行家 发表于 2017-12-12 17:18:06

大飞行家 5#

2017-12-12 17:18:06

刚做CATIA开发,不知道从哪下手。。。现在只会简单的创建2D图,还有简单的实体操作,怎么提高?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了