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

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

  [复制链接]

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

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

admin 楼主

2017-4-19 21:39:20

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

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

x
3 ~% W; U! \+ V

& f) v: @, O) ?5 NCatia二次开发源码分享: 关于创建命令和菜单方法
2 F, w# C: a% E9 x% t% {
9 v# ^/ g4 {( S7 l6 s+ Y" h$ ~9 R3 |% G& K: }  P. l# q# [/ _

. y& x' U1 ]/ X, p$ M3 \//Methods implementation+ v+ i5 c( v( E( ^& B. {/ _

3 f, r# x9 E( k* Z8 W) M7 Z9 Avoid myAddin::CreateCommands()
0 m- W. A& Q2 B{
/ W' K8 p# {3 W! Y  c% u        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
8 {- |/ F0 h  ~, s        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
: [9 w: P" G6 ]! {        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);
' ]7 P6 e0 q0 u; l* m8 W}: Z- I8 E" [$ k9 E) ?' ^) J$ p
CATCmdContainer * myAddin::CreateToolbars()8 V1 t. d6 Y  F
{5 U' |7 q. k+ p: E$ D
       
/ g5 O# m5 U  y) V' q6 a/ U0 ]        //设置工具条; G0 f$ s" r$ |3 D: E
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
$ s8 a/ {/ X+ c& O   AddToolbarView(pPartBenchTlb,1,Right);$ z5 I3 _0 l9 i( Z; Q# x

7 P' `0 @1 k" u# d& ?        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
6 o2 C( s) `3 z+ p        SetAccessCommand(pPointCmd,"CreatePoint");
7 `* B& }  ]' \  Y, h- Z% b        SetAccessChild(pPartBenchTlb,pPointCmd);
6 O+ B! |. I1 d- C: o/ v8 o3 ]7 P/ L3 t
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);  y4 A/ B8 O3 N6 P+ ^$ s4 O
        SetAccessCommand(pLineCmd,"CreateLine");
* Q3 B0 s0 T$ t; \7 y! y6 S        SetAccessNext(pPointCmd,pLineCmd);
! G$ Q) b$ C6 v+ R4 {+ a; d6 k2 S! k, v+ p; V4 o( p9 ^2 U
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
- R; [% W" D1 e4 }4 L- }        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");8 Q% y* X. V/ g; w1 S& ~5 J+ `( c% {
        SetAccessNext(pLineCmd,pDialogTestCmd);
3 j+ J* X9 y, S9 P( T0 S: k8 o! T  Q! l5 n0 D' N% q/ {( C5 \
        & X( L8 H6 {; w
        //设置菜单
: [, B( O: t! k1 j# V, L6 s4 C/ N. B2 W2 }+ ^
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);0 [% G0 `8 V( N- W' s
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);- \0 |. O8 k2 F: u5 _& U/ z- U
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);% O# {( I* ~# Q' }
        SetAccessCommand(pPointCmdm,"CreatePoint");
7 j. t/ a  }; V9 j1 R7 R1 H    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
4 \5 j1 |8 [, u8 J, ~( _6 y' C    SetAccessCommand(pLineCmdm,"CreateLine");* H: k' f8 l9 P3 ~! Q$ t
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);+ G( R0 h) I6 c! s
        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");' C% E1 w3 l: g9 C
       
' j* `' G# _7 E        SetAccessChild(pPartBenchMun,pPartBenchSmu);1 a! V5 N6 l/ t6 I# e( i
    SetAccessChild(pPartBenchSmu,pPointCmdm);
6 q  t! k. U+ r        SetAccessNext(pPointCmdm,pLineCmdm);
7 K; o+ m5 b5 p/ Q# M+ }    SetAccessNext(pLineCmdm,pDialogTestCmdm);
8 n+ Z+ H9 |: |) ^6 R- p, w! k: c) S1 s2 v( g
    SetAddinMenu(pPartBenchTlb,pPartBenchMun);5 k/ W( d" l' ?2 ?+ Z2 c# u
8 Y2 q. F3 @% `3 E2 p6 W
( h" E  ?/ S7 a* J

8 p( |  E3 x, O# Y/ u7 k. t        return pPartBenchTlb;
8 a/ N- x% P& D, h! ]. p" s  E! s" n% ]4 f  {- y7 {" w
}
1 L' A2 X: T/ Y) a  v& x# {5 D* u. {3 ^  O7 a9 L
& R3 \, b; {6 l' }3 W
上海点团信息科技有限公司,承接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里面设置 图标
6 ]9 s' V/ ], B' y) t& W& _" BPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
% }9 n( ~: v1 SPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
4 H% t# v& w5 i+ q* o  e7 C在PartCmdHeader.CATNls设置命令名称5 l7 F( H& V5 ^9 _3 g
PartCmdHeader.CreatePoint.Title    = "创建点";
* Q2 s/ p0 |- [PartCmdHeader.CreatePoint.Mnemonic     = "P";: ^9 f! H& J' g6 l9 l9 {1 B
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";/ D1 a. X2 `! i0 `; l
PartCmdHeader.CreatePoint.Help      = "创建点";
4 V+ W6 n3 t6 K! I1 q8 y* XPartCmdHeader.CreateLine.Title    = "创建线";" H  r' w+ n' t9 L
PartCmdHeader.CreateLine.Mnemonic     = "L";7 e$ i5 F6 k/ Y( h( t/ n& ~! H; e
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
1 a2 j5 [7 F' T( c- E, ~: r1 i1 {PartCmdHeader.CreateLine.Help      = "创建线";
+ V7 m' ]7 C0 T# C; K* EPartCmdHeader.CreateDialogTest.Title    = "对话框测试";) k$ z& E3 Z5 Z
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";* ]7 N# D5 ]: G/ R* h6 a
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
1 @% ^: I1 j5 \) h3 n6 b+ w! @$ TPartCmdHeader.CreateDialogTest.Help      = "对话框测试";( G6 r5 D6 f) Z% e9 K, d
上海点团信息科技有限公司,承接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里面设置 图标
  r8 y& I' M% P1 F2 k& w. UPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
- {8 F) J  T  w4 }  @PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
% Q  x2 ]6 o! u% {$ p: }1 w/ [5 x
7 I! M. D. K" i) r+ \% ]8 N) T' @+ c, Z, R
在PartCmdHeader.CATNls设置命令名称
' A* P: k# r. P1 }) h, n% pPartCmdHeader.CreatePoint.Title    = "创建点";* e* h; L% _1 c7 F: N
PartCmdHeader.CreatePoint.Mnemonic     = "P";
! ?2 U0 g# B7 hPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";' {% i; }4 F/ x$ q) `
PartCmdHeader.CreatePoint.Help      = "创建点";
; P' z2 A: {- y# SPartCmdHeader.CreateLine.Title    = "创建线";
! z1 ~( I- m5 ePartCmdHeader.CreateLine.Mnemonic     = "L";
( U( A# a% k0 G3 pPartCmdHeader.CreateLine.ShortHelp = "快速创建线";0 g3 p+ g+ Q9 Q# [% d
PartCmdHeader.CreateLine.Help      = "创建线";
+ W4 E; H" ]' J# [PartCmdHeader.CreateDialogTest.Title    = "对话框测试";% [: D+ Y3 _3 J6 z' {$ u
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";+ P7 j( N, {4 n5 Z* N
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";/ R  F7 E# }% Q
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";
5 H0 ]  Y% H1 b4 M  T4 J" g) w& Y/ H% q- U  I& y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了