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

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

  [复制链接]

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

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

admin 楼主

2017-4-19 21:39:20

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

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

x

- P( C+ M$ j1 I' v
, j2 v7 l+ a3 t' B+ _4 Y4 FCatia二次开发源码分享: 关于创建命令和菜单方法
/ c1 {7 V! m( s; S  l% s- p8 N# r( `

, ~1 B+ f$ V; f7 E7 T- Z; f. i& ?6 U% ^" I3 X
//Methods implementation
& S4 j7 U' O! m- b# X2 `. j" F: J
void myAddin::CreateCommands(), x( ^# D/ `2 Z$ U2 V+ ~; i
{3 h7 U2 R9 U* N& Z2 |
        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
% J1 e% L# P! s- M7 n        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);6 F3 {# w! v/ t& Y' ]
        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);# F) f( a& F$ M0 c* ]! e
}: ?! v% C# E& T2 n0 R) |5 U# Z: P' y
CATCmdContainer * myAddin::CreateToolbars()
$ v' J9 H3 J- C' e$ h% C{
& E" U3 Z( B/ H       
( a+ j7 \, r+ W! `) K( R: U1 `        //设置工具条
4 G( u& r! I5 N% y$ ?( n        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);4 w5 P: h8 b# S# X1 [7 u
   AddToolbarView(pPartBenchTlb,1,Right);/ o* ^8 f% s: P1 A

- z6 N# D9 C) G& b3 n        NewAccess(CATCmdStarter,pPointCmd,PointCmd);/ X, \+ ?. ?' ^! \+ c
        SetAccessCommand(pPointCmd,"CreatePoint");
& J, S4 z, G- a0 S# B! q# J        SetAccessChild(pPartBenchTlb,pPointCmd);, I* q. }6 U. }$ t7 s& O
  F1 O2 X0 {( h" q) q8 O( T, u* K
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);
" i" g% B- Q" R( L  n        SetAccessCommand(pLineCmd,"CreateLine");; |0 O% E$ F. n
        SetAccessNext(pPointCmd,pLineCmd); 9 z1 K, O+ u% o) l& C+ q+ {2 O2 d

; \! v5 _+ v  g) @% r        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
( `  B/ x4 f7 z: e1 ~* i        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");; P* }: Z. |, O9 B2 l& g
        SetAccessNext(pLineCmd,pDialogTestCmd);
' W" o# J* o4 ]2 E
" c, N9 X% k3 A- L" v6 }        & [4 {3 k. V) R/ A+ P: x
        //设置菜单
% E2 n6 `+ W$ Z# C2 K# ^: q* X
7 f0 i" ]( j# d/ s        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);0 K7 |1 Q3 E6 @0 o! j( `
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);' j5 y6 D$ P! ~/ z/ d1 i! b/ b- \
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
- K3 L6 r. k9 {+ a2 R# Q3 a        SetAccessCommand(pPointCmdm,"CreatePoint");
& P; h; _) W7 e* D4 k" I    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);) O$ t* U% m$ J- s0 d- O
    SetAccessCommand(pLineCmdm,"CreateLine");6 F" L, f; b& v2 O3 ^8 P
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
2 V1 F2 t) @+ I1 p. p3 ^- N        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");* y6 y, T# I8 N& _; k9 u
        9 @* D/ e' j  l( Y; v) X  g5 s' m
        SetAccessChild(pPartBenchMun,pPartBenchSmu);
5 p7 [$ E  v! M* ^. j    SetAccessChild(pPartBenchSmu,pPointCmdm);1 [6 ~, m" [# u2 o  q9 j5 s9 c
        SetAccessNext(pPointCmdm,pLineCmdm);
0 N9 G. }0 c- V6 p, J4 ]    SetAccessNext(pLineCmdm,pDialogTestCmdm); / u+ z9 `! D9 I, _' E
+ s7 g. i* l5 s0 k8 P) Q6 T
    SetAddinMenu(pPartBenchTlb,pPartBenchMun);
; t/ Q0 \& Z; y! O: J+ p- W( A, J; t- Y; b( }* [4 Q0 n
+ t* w! {1 P; n1 b2 M
. h0 L5 w% n" B4 f
        return pPartBenchTlb;* ?, q- O! @) ?: x( ]# N

  M7 @, b" M, P6 \}) l. `7 M& M4 c$ ]* {

7 O. R* c& X7 [3 T  ~" @8 d$ z/ p/ D9 D/ o+ d1 T7 s5 a
上海点团信息科技有限公司,承接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里面设置 图标 5 I; W; m" B. b( b1 Z5 H# F' j% b
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";0 G2 n& L/ X+ E
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
0 f, _# v" O/ ~( e在PartCmdHeader.CATNls设置命令名称- Z2 _! e* u1 E0 M/ I. a5 T! j3 f
PartCmdHeader.CreatePoint.Title    = "创建点";
. t" |( |$ E7 H1 C6 `! V) {PartCmdHeader.CreatePoint.Mnemonic     = "P";
3 a0 W: u* N/ I2 w5 EPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";2 l3 \2 H1 [6 A, \- {" {
PartCmdHeader.CreatePoint.Help      = "创建点";5 ]0 X; c' S* _
PartCmdHeader.CreateLine.Title    = "创建线";
) d: P5 a$ f7 t& g; Y6 }- T6 fPartCmdHeader.CreateLine.Mnemonic     = "L";
8 m  s7 P1 C. D0 A2 l( PPartCmdHeader.CreateLine.ShortHelp = "快速创建线";
2 H0 Y# A: s* X6 W/ jPartCmdHeader.CreateLine.Help      = "创建线";( z! V7 x6 w: `) H
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";  Y' X: o0 R' Y" K, h2 O& M
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
0 ?+ u1 B+ c: w+ }, |PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
4 |; z# K- @  n& n3 a+ Q  vPartCmdHeader.CreateDialogTest.Help      = "对话框测试";
: ~1 l: I& p8 R9 k9 L
上海点团信息科技有限公司,承接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 b  Z) t4 R! a+ P; u# S$ ]) W$ bPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";* K  V; [- r/ x1 q4 D% Z
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";+ M# i. J1 E1 n
/ Y9 Z4 s2 F* G: S+ w# G6 @
8 l/ G8 {  S( O1 s, u) s% Z
在PartCmdHeader.CATNls设置命令名称
4 G; R7 A. w$ s% [5 nPartCmdHeader.CreatePoint.Title    = "创建点";
7 ]6 `3 ~- u2 ~( o, W( dPartCmdHeader.CreatePoint.Mnemonic     = "P";. x+ x! i, o$ J% h( I9 h( M1 V
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
- I" l; s; s$ F  D! q& d' XPartCmdHeader.CreatePoint.Help      = "创建点";) [. t2 v- ~! ^
PartCmdHeader.CreateLine.Title    = "创建线";% R6 Y7 L3 E3 F5 Y( E
PartCmdHeader.CreateLine.Mnemonic     = "L";- ]: e! d( n6 L7 n6 R* U
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
" C+ s% g) ?; @- T5 QPartCmdHeader.CreateLine.Help      = "创建线";
, S+ ]: V# ^" v' j# q9 e0 rPartCmdHeader.CreateDialogTest.Title    = "对话框测试";$ I8 |& L: U0 ~2 @) }5 D! T/ Q% h
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";3 n3 b2 L+ ]8 B
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";- |! T# q9 z) ?7 y/ g
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";
( Y. ^6 t) K( N0 ~6 g( l
  c9 E1 v- q1 e. m" m# e! G! L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了