PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

3 S$ i. l1 {. }, ?( G) b3 A5 y. a. S4 R  D8 E/ Z4 x8 _0 C
Catia二次开发源码分享: 关于创建命令和菜单方法
+ q- h( C2 O3 R6 Q8 u
& O; V! J, Q1 P5 Q; s2 ^3 U$ R9 n
& ?& P; b6 i, h* D+ E
+ ~5 ^. ?. k8 R" r& O+ u//Methods implementation: A& o1 p9 c, u5 Y4 K4 C  {: G

6 f( J7 u. a) e5 I. X7 \4 Svoid myAddin::CreateCommands(), \* j8 n0 F' F1 K
{+ m" y( e3 Z( }0 b
        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);0 D' C! T/ _% k1 J7 E  ]
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
& O; x9 w5 p- }5 C% s5 j        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);+ Y5 B8 n& S  ~! r1 H
}7 r" c- e# H2 o/ [& q, b
CATCmdContainer * myAddin::CreateToolbars()
, B6 p  x' {% [' }0 Y& ?! |{
: z1 U6 {" K2 z% O( ~6 U  S. }        + B/ u" h+ L8 L- r) o) u
        //设置工具条+ m! Y: b# C; b) \$ M; b' Z9 y9 u
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);# n) W* {. D+ _; J; d$ ]4 c
   AddToolbarView(pPartBenchTlb,1,Right);
+ I) Y5 [% E3 K( t& F1 _; Y( T+ R( c$ p% ]& Y4 E7 _1 q6 S
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);5 ?0 e7 e7 E4 c8 d. D+ u
        SetAccessCommand(pPointCmd,"CreatePoint");
& k) a! E3 b: d8 ~" Q/ O2 \8 ]* g        SetAccessChild(pPartBenchTlb,pPointCmd);% X, k* A- t( s# n/ H

: x! S* P9 v0 x5 w        NewAccess(CATCmdStarter,pLineCmd,LineCmd);0 M2 h. S  j) l5 G$ b  `5 `
        SetAccessCommand(pLineCmd,"CreateLine");
9 x( H( T7 R6 S8 |- Q        SetAccessNext(pPointCmd,pLineCmd);
2 c( |/ n, n' d
% m7 l. u# p5 F) G4 ~& i        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
+ s! F1 e; u) ^* w/ n1 K- U+ ?, p9 {        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
/ m) E% P1 {2 U        SetAccessNext(pLineCmd,pDialogTestCmd); " N* K6 ?! s# J8 p) i6 \
- n; R! l, s0 n- Q2 f
       
" g% M1 \/ Q  s( z5 J' t, }- f        //设置菜单: ]$ V+ I: ?7 I5 l- c
. ?9 F+ J8 ~  |! h5 v6 r( o
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);. M- C2 r. T1 A: @
        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
/ _2 t/ V, z# e, S0 S        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);: j# {7 z- }) Y3 d: E" F6 i4 u; l
        SetAccessCommand(pPointCmdm,"CreatePoint");6 J0 }# P$ u8 I3 w3 u+ [: j
    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);0 z8 g4 _' n' t
    SetAccessCommand(pLineCmdm,"CreateLine");
) a' a" _' E( W% n0 P! i! X        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
$ g2 O4 k4 T2 U# U        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
# S1 v3 T1 B9 X1 e5 q        $ `/ t) v0 f5 ~' ?/ q
        SetAccessChild(pPartBenchMun,pPartBenchSmu);- b4 h# M/ h6 u' D, z8 I* @
    SetAccessChild(pPartBenchSmu,pPointCmdm);
; n. o( Z7 e' z0 q( E        SetAccessNext(pPointCmdm,pLineCmdm);
/ U! S3 d) n0 I7 j# @( E) O    SetAccessNext(pLineCmdm,pDialogTestCmdm); 3 U7 k4 P* R3 O0 _/ h& U- x

2 `( u) d, ]/ _3 O    SetAddinMenu(pPartBenchTlb,pPartBenchMun);
& k2 l) ]& a+ x4 v2 @* M7 H; y. P% f! D/ o

+ ?0 `: q" I" Z! |- S, F" ^( y2 K
        return pPartBenchTlb;
  C; G7 ?8 Q( u
* ^# W" g/ f! y}0 t2 X* l6 M2 H! Z

+ \: ]: W8 y* F& \4 f; D" ^8 L2 m
4 U: V" b7 Q- n) n" K0 |! ?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复4

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
QQ
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标 . S9 e2 w: L# Z: ?, N$ s2 H# X
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";" p5 X4 B$ m3 r0 u+ d3 t
PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";* L" T* c+ k; r0 H1 _' t
在PartCmdHeader.CATNls设置命令名称9 y" D& e) n% o6 V8 b" J' \" L5 o
PartCmdHeader.CreatePoint.Title    = "创建点";1 g! F0 P( ^/ `3 x/ d
PartCmdHeader.CreatePoint.Mnemonic     = "P";) d$ p, K; l) [
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";) ~; [, R, t3 r. ]
PartCmdHeader.CreatePoint.Help      = "创建点";( D, w7 @9 _" [
PartCmdHeader.CreateLine.Title    = "创建线";
. B4 m: {% Q- {1 Z. J8 o" J: R0 ePartCmdHeader.CreateLine.Mnemonic     = "L";
; d' w, O* u9 g; n' F7 [PartCmdHeader.CreateLine.ShortHelp = "快速创建线";
8 d- \" w3 i3 P/ ]2 f! j6 `( E. o) m3 UPartCmdHeader.CreateLine.Help      = "创建线";3 m  Y# a; O+ L# M5 x; q
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";! ^% z. N% V3 r! w9 y
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
' \  ]# h5 w& X8 Q$ cPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
/ U; ?0 ^6 R" o. k" s, m, d' uPartCmdHeader.CreateDialogTest.Help      = "对话框测试";
7 W% {! y# ?  C4 G$ X
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82201
QQ
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标
1 V$ l" T) S8 x# {, Q( Y% vPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
% s' I, ^; j, h9 ?# l2 RPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";! \8 I" Z4 m. W8 Z' e0 a; w: s

' A6 `+ Q  g5 A! e4 j/ ^5 j5 W% q' ^8 X" d9 }. Z
在PartCmdHeader.CATNls设置命令名称/ D  p* f; g  @1 v: E* |; U
PartCmdHeader.CreatePoint.Title    = "创建点";
+ J" Q) W# w7 `  E2 z4 D5 {& V' fPartCmdHeader.CreatePoint.Mnemonic     = "P";
8 p* E9 M- U" P* s) dPartCmdHeader.CreatePoint.ShortHelp = "快速创建点";% O/ z% w6 D( g/ f* N  C" q
PartCmdHeader.CreatePoint.Help      = "创建点";- Q1 R# {4 o% I( d
PartCmdHeader.CreateLine.Title    = "创建线";
" }% n1 O( W8 r+ C' @, HPartCmdHeader.CreateLine.Mnemonic     = "L";- h: |$ W7 S* a, w, U
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";3 k- f) b# c7 {+ G
PartCmdHeader.CreateLine.Help      = "创建线";
. x) q& E0 v$ p1 nPartCmdHeader.CreateDialogTest.Title    = "对话框测试";7 q# S6 A  z9 j8 d6 o
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";* U- l4 Y9 I( N+ }6 w, ~/ K
PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
) R- j4 R- _) K% jPartCmdHeader.CreateDialogTest.Help      = "对话框测试";, C0 y* H, J- M2 b
( s& o1 ]" B! n9 r% y5 W: {2 c  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
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了