查看: 6236|回复: 4

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

  [复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2017-4-19 21:39:20 | 显示全部楼层 |阅读模式

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

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

×

6 u7 M& g* b* t) K) f* B  R5 F" y. H: }6 k+ @8 ?
Catia二次开发源码分享: 关于创建命令和菜单方法
" K( U* j3 r6 q7 }' A8 B, N- S% ]& d! h0 ~9 P+ {/ N
( v: j8 p/ N5 e4 n( o, M* ?6 f2 i

" B) I: p, ]5 X3 ~! z//Methods implementation
8 x! K1 a9 l5 {& X7 {
% C. {0 V3 U2 Y! G5 yvoid myAddin::CreateCommands(). F$ r7 C( M$ n/ p) T2 x; B
{8 j( H0 Y, ?5 K  S6 }) _1 G
        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);& t4 y! c6 |9 F, e% e3 B& E
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
0 G7 P; n2 B  c' A, E. I5 n        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);4 q' G! w- R+ y5 ]/ }
}7 `4 B1 |7 \. h
CATCmdContainer * myAddin::CreateToolbars()
; V3 A: Q  |8 p' X{
! j: E1 {4 c( c: v& {        8 f2 f4 `1 @: Z
        //设置工具条2 }1 n0 `( D1 K2 R
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
8 a' T5 N3 h3 R* u% W5 N   AddToolbarView(pPartBenchTlb,1,Right);
+ ]6 Q- V8 z  c
* b& i; k6 b* A; g# p        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
! q* G6 ?8 D. M' H4 N4 i& }        SetAccessCommand(pPointCmd,"CreatePoint");
+ {% t4 Z$ b( o        SetAccessChild(pPartBenchTlb,pPointCmd);. {/ S6 M( F; G1 Y$ P" {. n
6 X$ x$ A, l0 g  |
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);6 ]( i0 h: p+ z' m0 O
        SetAccessCommand(pLineCmd,"CreateLine");
4 C9 \. y% C% F1 c( i& _        SetAccessNext(pPointCmd,pLineCmd); 5 {) Y2 U1 l4 q( j& X
+ V0 ^" P& t4 x% s8 C: L
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);& Z# A- i+ ~4 i/ x# J0 }
        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");8 C8 V* j) U* H+ v( g8 q
        SetAccessNext(pLineCmd,pDialogTestCmd);
3 |4 ?5 r; z% }- r' q: O. l, O0 P! [7 h
        1 m4 D7 Y; o0 o5 g& c: R; g1 R* x
        //设置菜单) b9 u7 x# Z) o5 z) t; B( m9 c' c

0 q+ t, K: [, Z( X3 R. A+ l        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);% j7 K1 _9 i. ]) F
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);$ l5 s4 |- E' H/ ~/ c
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
. V( Q4 r; U, R( b/ d        SetAccessCommand(pPointCmdm,"CreatePoint");8 M' ^) e) X& @! Z. @: }' H+ h2 I
    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
  }/ b- \0 k+ P! e( h    SetAccessCommand(pLineCmdm,"CreateLine");8 J5 {4 U6 S5 ]0 b
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
) Z! @" N. o/ M1 {4 O( \        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");+ t, S. R# f7 L+ i
       
7 |; y* z$ X5 [9 o( q: ?        SetAccessChild(pPartBenchMun,pPartBenchSmu);
6 W; M5 m+ ?/ d2 I/ t    SetAccessChild(pPartBenchSmu,pPointCmdm);
, z) X9 P0 y6 W& t        SetAccessNext(pPointCmdm,pLineCmdm);
7 ]7 s% n0 j0 F    SetAccessNext(pLineCmdm,pDialogTestCmdm); & Z8 e4 Y! p+ O$ [) K$ }9 Z+ y
9 V; A* D% z2 j& t6 v
    SetAddinMenu(pPartBenchTlb,pPartBenchMun);7 V# S- I# L% B

# T; P6 H& r8 t" p$ s; c. C; N/ z: c, ^; [0 B" G; Z

; q! t% l# P! Z2 d& N        return pPartBenchTlb;
" G3 N3 P1 d2 W2 |7 k/ l: C  h% m7 i# p" G6 e
}7 F4 T" k8 n, b8 H6 _2 ]! E

% Q) l7 G4 H8 D/ T: ?* H2 `9 P" v! d5 |& G! s; `. f) j% h
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

4

主题

3

回帖

38

积分

管理员

积分
38
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标
9 C7 ]0 O8 Z+ A5 a: R9 ^7 EPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
# G6 ^1 f& E+ s0 l# lPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";% F- j+ [0 Q0 k7 C4 U6 M% u% M
在PartCmdHeader.CATNls设置命令名称9 W8 r' j$ e1 \5 V
PartCmdHeader.CreatePoint.Title    = "创建点";
9 Z  P' P" }" z' d3 wPartCmdHeader.CreatePoint.Mnemonic     = "P";
/ n0 A% E& m0 W8 ~6 cPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
' b5 M8 R4 p3 F! X& A7 i, pPartCmdHeader.CreatePoint.Help      = "创建点";
, M' V3 |2 t' B* jPartCmdHeader.CreateLine.Title    = "创建线";; `! w! W- _8 [/ p. H1 W6 _
PartCmdHeader.CreateLine.Mnemonic     = "L";+ x; M" w9 {% c6 }
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
$ _1 X$ O, m& d5 _PartCmdHeader.CreateLine.Help      = "创建线";
- N* n' q$ Y. j6 J4 C0 T: pPartCmdHeader.CreateDialogTest.Title    = "对话框测试";2 m" y1 t# G2 S) M7 ]
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
# p, ?: b, H. R; l0 APartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";% h6 S7 T* \1 a; g& S
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";4 \, M. n6 h1 c6 \5 Q3 I; w
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

3

回帖

38

积分

管理员

积分
38
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标 : {, [0 l% }( r0 f- S  h% G
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";/ {4 o, S, j4 X1 {
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
  g8 g+ c8 q! w1 L4 B) T( n& [) Z* I+ Q( q& Q7 M
0 N( X( Q# G; s
在PartCmdHeader.CATNls设置命令名称% i% E8 b' a3 P* _9 }, Q5 m" }
PartCmdHeader.CreatePoint.Title    = "创建点";
/ t( p9 m  i2 G& RPartCmdHeader.CreatePoint.Mnemonic     = "P";0 L6 ?7 F0 A! `  w, }; G$ b5 R9 x
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
+ E1 o* H& m. X8 U. a+ H' E# UPartCmdHeader.CreatePoint.Help      = "创建点";
* O9 W- x# u' o: S) HPartCmdHeader.CreateLine.Title    = "创建线";
: C& ~) F0 m5 l# D  {) y, sPartCmdHeader.CreateLine.Mnemonic     = "L";
5 m# D3 p) e. gPartCmdHeader.CreateLine.ShortHelp = "快速创建线";
; n: U5 f3 v9 t8 U/ dPartCmdHeader.CreateLine.Help      = "创建线";
+ ^7 b# P. [* J$ a1 V5 p  t3 XPartCmdHeader.CreateDialogTest.Title    = "对话框测试";. U6 I- ~3 z+ c' c9 H
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
; s! R% I! q; `PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
* |# i; e  a. c% |! OPartCmdHeader.CreateDialogTest.Help      = "对话框测试";
4 C- Y6 l) X3 d" B5 I
7 ^& \& n9 U& m' y6 m. D2 l9 o2 @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

2

回帖

14

积分

新手上路

积分
14
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部