PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2017-4-19 21:39:20

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

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

x
) S0 V- y8 y5 i2 R
9 B3 ^2 y8 Q  P3 E
Catia二次开发源码分享: 关于创建命令和菜单方法
* k* X3 M" F$ X4 i5 ?
; k7 }1 B; t. R& F" L0 ^" v) c  ~6 X0 d8 w0 {  Q

( b, P# [4 Q. z! L' G//Methods implementation
7 ]4 v# ~9 G( S6 _+ H9 D1 ^" u/ X3 v0 ]" z) k$ c- X' n8 X
void myAddin::CreateCommands()
: |5 s8 Z0 A9 y; r{
8 b6 k0 M' s6 ]8 R        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
, N, m' D; _9 d/ P5 s# |        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
) v% p# Z" P# P        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);. |5 r7 v4 X3 b
}
5 f& F: F# z! F# r% Y. Q6 r4 f9 OCATCmdContainer * myAddin::CreateToolbars()' i2 B7 J* \. Q: y
{5 J8 x7 m6 x: T4 x8 @
        ( i5 ~+ L( ]/ p8 h* o
        //设置工具条* k* G5 Y: Z2 V- `+ `1 n- G
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);0 T% m- ~, x! S
   AddToolbarView(pPartBenchTlb,1,Right);* D& f1 g7 F0 s. W3 p; q: |7 ]
6 x7 Q. y+ U- C3 E
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
/ b9 v8 @4 u' V% I        SetAccessCommand(pPointCmd,"CreatePoint");
- M8 y9 R; ~6 J$ }* h% a$ a+ ~        SetAccessChild(pPartBenchTlb,pPointCmd);9 P4 z5 i6 ]; w0 l! n0 V2 v0 `
+ C2 u: b8 j( [% N; H
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);* ^. _* ]- Y) @. Q2 G: A* ~
        SetAccessCommand(pLineCmd,"CreateLine");" E& L: k2 Y7 s' @( ]8 k, P
        SetAccessNext(pPointCmd,pLineCmd);
8 I- g& ?( o9 t; W$ Z: P2 E
* ]: z& }3 a; x8 C1 {0 Y9 v: N8 V        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);8 R/ \8 N; i3 h7 p
        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");( _+ j1 i! \7 P
        SetAccessNext(pLineCmd,pDialogTestCmd);
7 o8 r6 ~1 B+ m; J. R) [( C; L
        $ Q- @+ [- ~* ?4 n' q
        //设置菜单
5 |: \' D  O5 W6 [: e' f4 W1 F' `( {, f+ B
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);1 D* k7 h. j8 S
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
: z$ }4 o4 {2 @' ]        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
9 u4 R( P9 w5 K) _9 Z* {- x) y        SetAccessCommand(pPointCmdm,"CreatePoint");& G0 T% |$ |+ [6 `: N, y4 L
    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);! M( Z# _) u! s8 i7 f
    SetAccessCommand(pLineCmdm,"CreateLine");4 n+ a0 E) y. z3 o: K; j
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);: Y9 U  ~2 I2 Q  c' P* t. ?/ ^
        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
* O5 O- F0 B/ l, Y! G5 q" l+ m        " A9 U3 P& `* b9 j+ D3 F7 G
        SetAccessChild(pPartBenchMun,pPartBenchSmu);
. u) v  F) _9 ?! |5 C9 k8 F) [    SetAccessChild(pPartBenchSmu,pPointCmdm);; {: q9 \9 y: S+ Y& T! x! D
        SetAccessNext(pPointCmdm,pLineCmdm); " M) n: \: l8 J  s" U7 I
    SetAccessNext(pLineCmdm,pDialogTestCmdm);
  ?2 G- M7 x0 J* ~. z7 I' O% m* g' q# V5 q
    SetAddinMenu(pPartBenchTlb,pPartBenchMun);6 u9 f3 L3 q) }/ u* t
0 c2 ?! `. D3 Q( i. v. W; N2 v" U
+ s% i. i1 S. |7 Y- b, G  @
) p# u+ c' b  F2 u  y
        return pPartBenchTlb;# ]/ U  k4 O3 E5 D8 U* y
% N2 j8 ^% Z$ E0 h! _# F1 e
}3 t& I" A1 v9 L0 k6 i7 I
2 c  T( D3 N8 h) {1 M% ^$ F

2 S+ @8 b  M2 E" i4 j% }, M0 [
上海点团信息科技有限公司,承接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里面设置 图标 0 F# ]$ I! ?7 J8 Q
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
9 g$ f/ Z' ^( E8 [( z  X) ?& oPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
) F( E" ~% [: J+ [9 n在PartCmdHeader.CATNls设置命令名称& Y( s7 O/ S+ y
PartCmdHeader.CreatePoint.Title    = "创建点";0 M) j- U: s( u( Z: C
PartCmdHeader.CreatePoint.Mnemonic     = "P";
7 B4 P5 J2 v/ zPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
* V+ S# j5 o. Y0 P9 x- r2 K2 UPartCmdHeader.CreatePoint.Help      = "创建点";
$ t; Z! A1 {" I4 b. w  _PartCmdHeader.CreateLine.Title    = "创建线";2 a& }9 f* K$ D. v& [( R
PartCmdHeader.CreateLine.Mnemonic     = "L";# v; N% N3 l/ d5 x
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
0 J0 J+ S5 w* Q6 `; tPartCmdHeader.CreateLine.Help      = "创建线";( K( S& M( T4 Y
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";9 k/ l5 I) o: z4 c; ]3 u! }3 `
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
) w. g2 U5 k$ F/ E" Z+ |/ S2 DPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
) r) B& V; a* F- g& u6 XPartCmdHeader.CreateDialogTest.Help      = "对话框测试";4 h6 k5 g5 I6 e$ B# a7 |& R
上海点团信息科技有限公司,承接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里面设置 图标 ) Z8 [+ M8 t9 z
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
5 C- G' F( j$ Z$ Q. X+ BPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
' `8 r" ^* P" X1 W5 r0 K5 b9 N' A! y: l* s9 ?( C

8 [7 o6 q" H) w$ L在PartCmdHeader.CATNls设置命令名称. B' X5 A# |. Z) s' E/ m
PartCmdHeader.CreatePoint.Title    = "创建点";! N5 F! V& \$ q9 O( {( m( P. Q
PartCmdHeader.CreatePoint.Mnemonic     = "P";
2 e* q% @: h3 C% q# uPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";3 Y$ y" g+ i- K6 O
PartCmdHeader.CreatePoint.Help      = "创建点";' h% j0 d. i, v# M2 X* j; m
PartCmdHeader.CreateLine.Title    = "创建线";
- K* G, F3 G, E0 G" EPartCmdHeader.CreateLine.Mnemonic     = "L";
) Z8 S+ ^' W, P9 P3 a: DPartCmdHeader.CreateLine.ShortHelp = "快速创建线";5 O$ x+ h1 _" {/ c  _
PartCmdHeader.CreateLine.Help      = "创建线";
! v6 g/ M( V( R4 N, |4 C5 aPartCmdHeader.CreateDialogTest.Title    = "对话框测试";  Y6 V; D: g" k' \5 ?$ E
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
/ ^" H# T$ z. x. q  c1 xPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
9 ~4 ]& n6 z/ c1 K1 V- ePartCmdHeader.CreateDialogTest.Help      = "对话框测试";/ K0 j& ~. k& t- r$ O

9 u3 M2 Z# s1 |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了