查看: 6317|回复: 4

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

  [复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×

3 ]9 ^" m$ K2 E, k1 b
5 K1 M9 M: H3 ~7 a0 \8 L% U" [Catia二次开发源码分享: 关于创建命令和菜单方法4 ~& v( z) B- `+ a( Z! v
* S4 y1 C, s+ U( ]; l- ^9 }4 `

7 Q3 U, q* b0 D9 b! {6 g% c( w( d  N  y5 K$ E1 p- o/ V
//Methods implementation  I! g1 ], B+ m3 J4 N! \$ u1 T% d
' ?1 z: f0 @9 R
void myAddin::CreateCommands()$ S. n  C0 D" f: k
{
# M9 w7 o, h! ]3 t9 D1 W        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);0 P( W0 T1 U, c! i7 S
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
4 N3 K/ d4 G' l! s1 _        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);' w  s5 C: i( p
}
" r3 D* z: _# }' V6 C' f5 h: yCATCmdContainer * myAddin::CreateToolbars()
9 K8 z; L5 I! u  v$ F{. D3 l  T$ l7 s0 Z( a0 S; P  T+ v
       
; v" d3 M& k$ W+ j+ _, N        //设置工具条
% j! j8 {! Z4 l: F$ i        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
! A( N5 K( ?4 `- p6 R   AddToolbarView(pPartBenchTlb,1,Right);
5 ?3 M  W  f7 }/ O8 X! Z5 D) y! Z
, V- R; K4 C: Q9 Z; K; P/ ?( |4 Y        NewAccess(CATCmdStarter,pPointCmd,PointCmd);5 I0 x& n, x# d& f. ^+ n# t1 B) f, n
        SetAccessCommand(pPointCmd,"CreatePoint");
1 C# B2 N7 T' c8 }8 n0 i        SetAccessChild(pPartBenchTlb,pPointCmd);
: k1 o& F# g- A& K7 s: B! L
1 h* j6 b7 O& k/ U8 l$ u6 e6 b( ?% M        NewAccess(CATCmdStarter,pLineCmd,LineCmd);
# K) f0 P, n* L) u        SetAccessCommand(pLineCmd,"CreateLine");3 n, u6 Y& U7 J' {; h0 y( t" @
        SetAccessNext(pPointCmd,pLineCmd); # X$ _' y; z) G0 D
  V1 q6 b1 L+ ^8 N  w4 C  B( ~; D
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
" q$ a6 l, U* D- Q1 S5 v        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
) X. [& P, q* t: Z: u        SetAccessNext(pLineCmd,pDialogTestCmd); 1 w/ [; u) P# V1 J( u
. u2 i2 m  x7 m3 j! o# q2 e
       
  _) z( I3 c/ Q        //设置菜单
' M- ^9 G0 n& o8 a9 E' c6 k' V
& p/ q0 P) Y6 l3 v- N, H( T' z3 ~6 D        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);& k& C* {  n3 `& D& V5 Z( s
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
! \2 I6 I) z5 F4 o3 Y0 h/ u        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);6 Y: f5 b. I* E: [$ a! u3 w1 i
        SetAccessCommand(pPointCmdm,"CreatePoint");
& F: y0 n6 T* z    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);, M8 K6 A7 U5 f1 g/ i3 a# i, X
    SetAccessCommand(pLineCmdm,"CreateLine");
* Z5 K& |/ U, `+ r9 t; Q        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
5 @- T. w& R( z% [* D        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
$ L* x; u# |% G8 D1 k; X       
% p$ X# {" K5 G  Y( e        SetAccessChild(pPartBenchMun,pPartBenchSmu);! S* X2 ?0 g; o
    SetAccessChild(pPartBenchSmu,pPointCmdm);
2 t8 m3 E% q5 s% i( B' W        SetAccessNext(pPointCmdm,pLineCmdm);
" |9 X" ?6 S8 q    SetAccessNext(pLineCmdm,pDialogTestCmdm);
( g* E$ w4 O8 o* q$ [9 h! S/ t  s5 ]8 J$ j" o0 u/ X) U
    SetAddinMenu(pPartBenchTlb,pPartBenchMun);: }$ X7 T4 B5 D. l" E

" l& ?; H; n0 d$ ~: N8 }6 R8 A5 o; T. L% @6 q' Z
5 t( p; b, J1 n- y+ Y
        return pPartBenchTlb;
5 L9 ^3 |) {) H9 R5 N+ M4 r! I( S' _2 w. r! j
}4 R$ j* v! R5 l# \8 |7 o" w
! p, N/ k7 f1 P) ~
: ^  S" }/ K7 S6 }
上海点团信息科技有限公司,承接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里面设置 图标
3 ?* @" n* e7 O' l) y( l3 A. ZPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
% u, A6 _- ^7 d/ s+ E/ \: C; tPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";, Q2 x. B3 z5 C3 f1 R
在PartCmdHeader.CATNls设置命令名称
2 U1 J7 u2 c. e/ [/ BPartCmdHeader.CreatePoint.Title    = "创建点";" X, i" n! s) i& u  t- U
PartCmdHeader.CreatePoint.Mnemonic     = "P";5 Z& B) [. S* a8 @, n
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
! Z' U7 f& l6 l- W, h  X1 r3 k. ^PartCmdHeader.CreatePoint.Help      = "创建点";
/ C' ~; v' t9 g/ R8 C, \% gPartCmdHeader.CreateLine.Title    = "创建线";
5 ?3 A' l: C3 Z* Q  S- \9 c" ]PartCmdHeader.CreateLine.Mnemonic     = "L";
, [& l$ ~# {! kPartCmdHeader.CreateLine.ShortHelp = "快速创建线";3 M, l* E8 Q9 Q/ f; o! _+ S
PartCmdHeader.CreateLine.Help      = "创建线";
4 o$ w' q. |* LPartCmdHeader.CreateDialogTest.Title    = "对话框测试";2 Y# c7 X, O* t: T
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
5 a/ Y1 N6 r* W/ `! {& lPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
4 U" l6 l* Q' x0 C& J) z" G) D' O2 ^PartCmdHeader.CreateDialogTest.Help      = "对话框测试";2 \  F8 D/ J$ {2 J1 m5 G
上海点团信息科技有限公司,承接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里面设置 图标
; U& G2 S. \: k6 T  @- y9 g  s* SPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";; g- R. Y3 ~: V; ]/ ~& u
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
- F5 m- X* v" M% F: Y5 e; }. d+ s- N
3 ^0 P/ J7 e" y9 ?" D0 m% |
2 e* a, E1 u7 e3 E) c& K/ ]& C* t在PartCmdHeader.CATNls设置命令名称: C% I; ~" ?6 [6 e$ Z
PartCmdHeader.CreatePoint.Title    = "创建点";2 B' t" @/ d+ N) o: I
PartCmdHeader.CreatePoint.Mnemonic     = "P";
4 n* M/ J& M: e, S/ w( e' A: x+ h* L: hPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
7 D/ {6 ^% ^( A+ nPartCmdHeader.CreatePoint.Help      = "创建点";
/ e: S$ O5 s! |! T9 zPartCmdHeader.CreateLine.Title    = "创建线";2 y7 B8 V4 p' Z- C6 r
PartCmdHeader.CreateLine.Mnemonic     = "L";8 F( F8 W* y" w9 P
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";% P' B3 R! B8 \* W+ u: I; p
PartCmdHeader.CreateLine.Help      = "创建线";, h8 H5 C: R  W$ g* ~: C
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";
7 D- g+ C) V5 UPartCmdHeader.CreateDialogTest.Mnemonic     = "C";
/ b4 {2 E3 f9 L, l' a  ~PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
3 [5 l0 ^0 n1 q* z0 jPartCmdHeader.CreateDialogTest.Help      = "对话框测试";
; _3 G/ b1 e( b
5 t! k& t5 [* c2 f
上海点团信息科技有限公司,承接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客服返回顶部