查看: 6313|回复: 4

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

  [复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×

. I& c( {. P$ C. j) v( j, X8 R; \; X7 Q) a- ], J! X
Catia二次开发源码分享: 关于创建命令和菜单方法
6 Z- O  C. Z% v8 d8 ~
( I( a0 h1 i& g8 }3 N8 h& q
1 K# q5 B5 f& ?- s  i$ O2 f; P2 U! ]) H! X
//Methods implementation+ f; ^# J, ], s+ _: M' i

* M2 f- }8 x! [( e& t/ Q5 Gvoid myAddin::CreateCommands()
# O: x1 r  G/ l) O{) J7 C" v! U" g8 N& h  H
        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);3 a+ f( s, p% i3 B0 T' C6 m
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
7 P' ~6 C# G' @6 ^* |* i        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);
8 A1 f- l7 l' u. B) V: T}' x3 p" q1 c7 p
CATCmdContainer * myAddin::CreateToolbars()
6 B7 D. {: M; b) _, ^9 G) R{, Q1 i; K2 s  V- J1 |
       
5 J1 u. L2 j5 V* e- }& Z        //设置工具条% j( Y2 j1 c6 a4 G! H
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);$ K( ^0 L! L0 d* w6 Y8 e1 |- _
   AddToolbarView(pPartBenchTlb,1,Right);
. d: {) i, P) e: D( _2 {! o# b0 a. e& K
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
: N( y( Z3 m% |# r        SetAccessCommand(pPointCmd,"CreatePoint");
' D* G) l5 Y! r$ Z8 [6 H' o        SetAccessChild(pPartBenchTlb,pPointCmd);+ m- F( y7 o' n/ w" _0 \/ K+ d- K
# P9 E" O! _+ w* o
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);! o! m" o. h& Q* [, T
        SetAccessCommand(pLineCmd,"CreateLine");# r7 e( e1 ?8 v" }+ ^& t- h
        SetAccessNext(pPointCmd,pLineCmd);
. N- j% b- z/ H' ]" ~6 V* \# e# }3 |
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
8 I5 v% j/ `, r        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");% S* Q3 d" l* f( T# u3 c! z
        SetAccessNext(pLineCmd,pDialogTestCmd);
. s. \* T4 M/ V' W' S( ]2 l" {3 E7 ^- ~' B! i. J9 L4 `
        8 ~$ Z$ ~- V; D1 z& c4 X
        //设置菜单
. G, L  u/ J2 k% k% `6 q! k$ n8 \) U) d
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);$ u" W( [4 D4 D! W. V/ P
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
  n, W  z* z* P( q. o- U# \: `3 s        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
! e7 X: i+ y2 A5 R3 t# S" x6 F        SetAccessCommand(pPointCmdm,"CreatePoint");
  J" R! K8 Z( g" s    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);- }" v/ T1 |1 }' h4 H
    SetAccessCommand(pLineCmdm,"CreateLine");* V- B  b! ]* s' X
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
& J3 r' l' V$ t2 r0 Z2 g7 A        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
. x+ i* |6 S0 M1 M8 {       
$ R0 p; `$ r: }& M+ n. I  G) v        SetAccessChild(pPartBenchMun,pPartBenchSmu);1 ?+ e+ G7 A: c& \3 ]: k
    SetAccessChild(pPartBenchSmu,pPointCmdm);
" F8 `( z% C) w        SetAccessNext(pPointCmdm,pLineCmdm); 6 m0 k! e! w( H+ r% |
    SetAccessNext(pLineCmdm,pDialogTestCmdm); 9 g! _5 R8 c, u3 R& g% M  h

8 ^% Y3 U' T1 H  t# f    SetAddinMenu(pPartBenchTlb,pPartBenchMun);- e: Y# J1 C7 a( `' w$ o. _
: ?3 f" b* i  }2 B- E5 d
8 W" a( Q9 W( o3 l, }6 ?

! }8 L; k  T3 S+ ^        return pPartBenchTlb;$ h0 t$ E% E" e: U
% U  t: `' j: n
}7 t' v+ A# ?$ m

( n$ j  i8 P: f* M" H. F: a7 q1 c& \
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

4

主题

3

回帖

44

积分

管理员

积分
44
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标
0 h9 {8 c+ e0 j$ e; J" fPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
2 }# T- h9 V! {) p7 o& CPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";* m4 @) w# ]1 b8 C, F/ K0 t
在PartCmdHeader.CATNls设置命令名称
  N7 h0 [! z. z" C6 O, W+ |PartCmdHeader.CreatePoint.Title    = "创建点";0 k' m! L1 j' [; r0 T6 X) w3 Y
PartCmdHeader.CreatePoint.Mnemonic     = "P";; R; b  {0 @! y# M# F7 G+ L
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";$ O9 X# s! n5 }( S& m, i6 T
PartCmdHeader.CreatePoint.Help      = "创建点";
# V) N5 t1 d- X5 K" KPartCmdHeader.CreateLine.Title    = "创建线";& {- Q, p/ B5 ?# p# m
PartCmdHeader.CreateLine.Mnemonic     = "L";
9 u9 L! v& Z0 G) }6 d& vPartCmdHeader.CreateLine.ShortHelp = "快速创建线";
& E$ Y# E( S( v5 Y3 L3 Q9 K2 Z1 fPartCmdHeader.CreateLine.Help      = "创建线";
' s$ F- ^( G# b' SPartCmdHeader.CreateDialogTest.Title    = "对话框测试";' D. [) p% H2 c+ [
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
2 E4 Y% \5 X* w2 f" ]0 XPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
! ^' X+ a$ k4 O" X2 \; ^6 TPartCmdHeader.CreateDialogTest.Help      = "对话框测试";, c9 S' e0 r- i5 K
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

4

主题

3

回帖

44

积分

管理员

积分
44
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标
; ]1 T0 r: }6 |8 x& tPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";) t" u/ Z" J" Q' O$ V1 ?; b; H, y) }
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";1 j% P0 a; p$ I) p5 K# i

. l9 |1 u5 R" [& T/ z9 q9 {. k
3 J2 o7 \- |1 J在PartCmdHeader.CATNls设置命令名称
" x9 @  X4 S/ ~; r& |* l, [PartCmdHeader.CreatePoint.Title    = "创建点";4 `3 I2 r; g% G
PartCmdHeader.CreatePoint.Mnemonic     = "P";
# a# y: t, ]5 SPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";. v" F4 L, I4 z6 W* Z8 ^
PartCmdHeader.CreatePoint.Help      = "创建点";# T: H& ~. O+ B& ~
PartCmdHeader.CreateLine.Title    = "创建线";
, p1 \- ~2 a" ?0 a# u) P0 t. r4 VPartCmdHeader.CreateLine.Mnemonic     = "L";( S0 w6 P+ a, f/ c
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
- Z4 a6 U* ^& ~" rPartCmdHeader.CreateLine.Help      = "创建线";
, E0 e1 j1 k, ^" c) Z8 }. Q$ XPartCmdHeader.CreateDialogTest.Title    = "对话框测试";9 q, N+ M6 V& z: R: f
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
+ Z' E; c+ O* L) t$ H% y) sPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";8 S. n0 L/ |  h; ?6 j, u1 n
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";0 ]- C* _6 T- x" [. e+ R

0 B- r  Y7 x+ T5 @% r# K! t
上海点团信息科技有限公司,承接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客服返回顶部