查看: 6392|回复: 4

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

  [复制链接]

4

主题

3

回帖

48

积分

管理员

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

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

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

×
+ p- Z& r1 R. h2 G9 \+ M
7 A* f2 c0 v+ F, [" t( t. m# J& R
Catia二次开发源码分享: 关于创建命令和菜单方法
8 w' g9 _9 W+ G; C) u2 R6 W+ J1 g5 b; G( M+ w6 h5 q( ~, `- h* Y/ O
' H6 f7 T! Y8 u  \8 C: h3 M3 V
5 F5 o9 M: g$ W8 K0 s
//Methods implementation. m3 j' r. p1 l
! Q" c) d- K5 n8 L: w* h% w
void myAddin::CreateCommands()
' ]9 v" `1 H/ O9 X9 I4 y" b7 b{
  B1 |' x6 P; b! L2 Q  j        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
! m" ?2 u0 n4 k. j. P        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);, i  y4 M5 A& Z* ~/ W; G% ~
        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);5 R/ v' s0 W1 O" }5 j4 z
}
* v( S, o6 q1 p5 QCATCmdContainer * myAddin::CreateToolbars()& S% Z( d: k; i4 ^
{
2 I# W  u1 c/ t       
: D3 W, o. M! K0 |% x6 m        //设置工具条
4 o, F" @( `$ P        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);- ~# A% H1 ^. V0 G9 W2 S$ C
   AddToolbarView(pPartBenchTlb,1,Right);
' w: d2 h: i/ J2 n
; J# e$ F2 |, C! ~! A. C) Q' m        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
' f8 B- ?3 L; T! ^" J$ O1 ^1 w        SetAccessCommand(pPointCmd,"CreatePoint");
& W  f3 \# K4 R) o- \        SetAccessChild(pPartBenchTlb,pPointCmd);, \, z! M( V/ v' ?

6 `- Z6 K2 i7 Y- O) I# O        NewAccess(CATCmdStarter,pLineCmd,LineCmd);9 p" R% p+ e/ z. P/ y- @
        SetAccessCommand(pLineCmd,"CreateLine");
/ p2 e; H+ |4 G- y8 Z9 l  V3 j        SetAccessNext(pPointCmd,pLineCmd);
5 F8 L( O' H! `( h% a# f, m- N, f/ F, ^( F4 _0 j7 X9 ^, p% p! N4 t
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);' ~9 g% H2 Y+ }! z
        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");' M! S5 a9 j9 Z; W3 e, h- ?
        SetAccessNext(pLineCmd,pDialogTestCmd);
8 l  T- c* }/ `! p9 i/ L. V
, Q! r+ w- D% h# N& {        - H% B/ ^9 m5 l$ H$ D
        //设置菜单
  R3 [9 o! {3 O+ H+ w( g" M( f: B( E. N2 y
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);8 f' f1 x8 z; o. j: I* i2 D
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);6 r7 ]7 F" B2 Y" v8 h$ S
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
0 d" R5 a) E4 l        SetAccessCommand(pPointCmdm,"CreatePoint");
  g7 {) s; f9 Q! Y9 s) S* S! o$ k; |    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);) u+ \  F% @) j
    SetAccessCommand(pLineCmdm,"CreateLine");
# i' Y" P- Q3 E2 b        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
+ z0 N' D, c& L        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
- c  q: t: `- D3 n. ]       
* }- r  {& [1 ?$ M* W        SetAccessChild(pPartBenchMun,pPartBenchSmu);  c) B$ `: i% f; q: \
    SetAccessChild(pPartBenchSmu,pPointCmdm);3 @2 L- g7 k  O; Y
        SetAccessNext(pPointCmdm,pLineCmdm);
6 \+ ~6 h  J. J    SetAccessNext(pLineCmdm,pDialogTestCmdm); ) a; H$ R* a) e- {

9 |1 @: O' s* l/ f1 l& K: X    SetAddinMenu(pPartBenchTlb,pPartBenchMun);9 i" q0 q% i$ q

: y- `0 F) N. L0 ]8 I1 Q  r& R
# h2 }* k& Y4 k3 d6 a" ~, U4 o: f" N0 \
        return pPartBenchTlb;# J1 {; m+ m5 x

" o7 S2 a% s2 @}
; g/ i  g( S, F' b: L. u' _3 R* u3 w

0 ^3 F. ]6 \9 n) v* r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

4

主题

3

回帖

48

积分

管理员

积分
48
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标 . d+ z6 f- n" W& }' w' p
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
0 B6 w1 f9 g8 E2 mPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";1 D; W* U0 K' K  a% ?) P; U. M. t# h( T
在PartCmdHeader.CATNls设置命令名称
+ t+ r& h9 @7 h1 A/ L+ M7 yPartCmdHeader.CreatePoint.Title    = "创建点";. t" @$ P! u" d7 O+ F% g+ h
PartCmdHeader.CreatePoint.Mnemonic     = "P";2 c7 E6 n1 ~% q$ C
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
, _) p0 f+ Q# RPartCmdHeader.CreatePoint.Help      = "创建点";6 N4 ?+ G( C8 \/ p
PartCmdHeader.CreateLine.Title    = "创建线";
+ N, B" z( I0 o7 x- ]. EPartCmdHeader.CreateLine.Mnemonic     = "L";
5 d: N: n" Z$ a: {PartCmdHeader.CreateLine.ShortHelp = "快速创建线";- o& h) `# f5 v
PartCmdHeader.CreateLine.Help      = "创建线";8 L* \3 |1 }8 z; X. J' [- F
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";
3 o6 O3 Y  T# X3 S* G$ m9 N: `PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
5 Z7 ?# g" R' `+ a; }1 f! `) k7 ZPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";1 `6 x, a& Q( `7 {6 p% v/ T0 W
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";+ J6 ?0 ]+ H, N+ s: s* {' S# b/ y+ N
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

3

回帖

48

积分

管理员

积分
48
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标
6 G8 B7 t, q" Z% J- B+ w5 O- yPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";/ S4 e8 H2 v6 D, m6 d$ o
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";5 A+ f2 ?$ E* C0 F1 \  T7 F; u

4 O5 ^( ^2 q4 ^3 T- I$ ?0 U: G% x% q" g& w  h, n
在PartCmdHeader.CATNls设置命令名称
) m9 A* V( ~) l. d1 `PartCmdHeader.CreatePoint.Title    = "创建点";
) l1 y/ U3 w4 SPartCmdHeader.CreatePoint.Mnemonic     = "P";3 F+ K/ ~! C/ x! h* M
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
9 Q5 `) ~% k3 P0 l; g9 P4 `8 NPartCmdHeader.CreatePoint.Help      = "创建点";0 z8 X6 |% X& J+ K6 ?% C! {' t$ f5 X
PartCmdHeader.CreateLine.Title    = "创建线";
4 G8 K! j* L  WPartCmdHeader.CreateLine.Mnemonic     = "L";
2 X. p2 t1 d9 tPartCmdHeader.CreateLine.ShortHelp = "快速创建线";
" `+ f7 i! J( ^9 t* pPartCmdHeader.CreateLine.Help      = "创建线";
- b( o0 }' T% c* W0 qPartCmdHeader.CreateDialogTest.Title    = "对话框测试";- G% n, s6 I, N* h# L2 f1 M4 U
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";; k% `* B) b% M
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
& j( v% C' h, h2 `1 f9 wPartCmdHeader.CreateDialogTest.Help      = "对话框测试";; O; \' n+ [3 z* c

4 G% \. c* W  _2 ^) e- c4 S5 o8 [7 U
上海点团信息科技有限公司,承接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客服返回顶部