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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

  c& {8 i+ O! j1 u9 a
# q6 W( S$ |4 BCatia二次开发源码分享: 关于创建命令和菜单方法
- Z2 W0 Q. ?8 n6 `, n( t* G; A6 i& K
! \8 B! c- y" l1 y1 a; u  W9 }

5 N  E1 h! J% m. [//Methods implementation+ {* Y7 Q% V& [

+ ^9 I. n  z5 p' t7 {# B/ _4 ivoid myAddin::CreateCommands()3 H* p# B& E6 R, L
{
' d) X  a  j) c; _$ ]1 H3 N* |        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);0 Q0 T% l2 ^: t3 ]5 k
        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);5 Z7 M" [* ]$ M+ G+ O& m
        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);' `. s: I1 ~3 s6 v* n( ^5 U  \1 Z
}1 f6 i3 \4 i4 |4 K+ Y  }. K, b- l
CATCmdContainer * myAddin::CreateToolbars()3 l1 U, L8 q6 u+ ~7 s" M
{- _% V" H* y' _( _' [
       
6 I: p1 s" \0 w- k; K5 }; g9 i# Q( p        //设置工具条0 k$ J; _/ k3 |' H( X
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);7 @1 I, e- d. D; w
   AddToolbarView(pPartBenchTlb,1,Right);8 }8 i$ W, v6 Y1 O7 C0 W- a$ o' E2 P
4 O% w; K3 ^% G2 R' y- U0 H
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);# i; F" X" p9 R4 |$ `# m! j
        SetAccessCommand(pPointCmd,"CreatePoint");
+ E+ A# Y9 Z& K# J        SetAccessChild(pPartBenchTlb,pPointCmd);
: H) Q. b0 u. p/ _. z
# g2 i1 |5 q  I4 E$ ~, Y        NewAccess(CATCmdStarter,pLineCmd,LineCmd);
$ m/ `2 P( R% _- U        SetAccessCommand(pLineCmd,"CreateLine");0 n1 f1 [3 a! P/ t8 H9 A
        SetAccessNext(pPointCmd,pLineCmd);
3 _8 w+ ]% i4 q# C# k7 \- w0 h6 ^. x; F1 S
        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
+ P2 `7 d: x+ f2 m        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");' ?2 r9 n. d5 i. g. n& t
        SetAccessNext(pLineCmd,pDialogTestCmd);
) V( \* K8 G# [5 k; W8 }) Q- s: l+ e$ y. c
       
* i% l5 \! P* _. B        //设置菜单5 Y: L; ?* w$ e4 |( |
" H1 |, n9 ?. J# L3 a5 W  A
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
0 o& v5 @' u& K  I; c% i& J6 O        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);- c  h0 k, m. c( x
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
) D2 x7 Z0 x9 y$ S* Z' F& {2 A- J        SetAccessCommand(pPointCmdm,"CreatePoint");
% \# c8 b! V: z3 S  ^4 b) s; _    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);& e, Y2 o6 v6 M) ?5 U. E
    SetAccessCommand(pLineCmdm,"CreateLine");
* R: B" z0 x) o; n) b( X2 N        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
3 ]% `9 }( u/ F. x  k        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");' l7 q6 |& p/ s+ R
        ! b* ^9 t8 i5 V) l) z7 ^6 k* J
        SetAccessChild(pPartBenchMun,pPartBenchSmu);1 v$ m9 l6 c0 C. k" @7 Y1 d! q
    SetAccessChild(pPartBenchSmu,pPointCmdm);
3 k7 C4 Z8 u# N0 ~4 s        SetAccessNext(pPointCmdm,pLineCmdm); " M' n0 G! S% A
    SetAccessNext(pLineCmdm,pDialogTestCmdm); 8 g" c+ `( k  ^9 [+ T9 j

4 {5 S6 b' i+ E+ Z- H2 C: a    SetAddinMenu(pPartBenchTlb,pPartBenchMun);4 _. E, J4 U0 M; a  H
: m3 J+ n& x) J- O8 @" b

) j/ J9 S: ]- _% y
4 |# O3 t! }7 e/ r4 O        return pPartBenchTlb;/ u3 _, z4 S* b! W9 s  ?0 x# J

  t, o+ Z% X$ O( Q3 m, C6 A}2 Q) ?: R) q3 ~
# ~. [, P  `3 ~2 f
! Q; m+ V$ |2 N
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复4

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标 . v! v$ ?+ J: `& W
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
2 W8 v# ~1 s8 w  {$ \2 w' j! @PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";$ H0 e2 U4 M4 ^$ k$ r* b- L& Q
在PartCmdHeader.CATNls设置命令名称
# v" {4 H" e1 s0 {: wPartCmdHeader.CreatePoint.Title    = "创建点";+ [1 v. F0 \9 y! W9 i
PartCmdHeader.CreatePoint.Mnemonic     = "P";
7 e5 c- ^- N. J) Q1 W& [PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";  f, K" u+ ~1 I6 o( v
PartCmdHeader.CreatePoint.Help      = "创建点";
( p1 ~! f9 r3 F4 V. K+ L' OPartCmdHeader.CreateLine.Title    = "创建线";
2 }3 K6 C" T1 H) d- F$ FPartCmdHeader.CreateLine.Mnemonic     = "L";
8 s$ q& a6 {4 U2 E: z. YPartCmdHeader.CreateLine.ShortHelp = "快速创建线";- F6 a7 U7 w& r, h
PartCmdHeader.CreateLine.Help      = "创建线";
7 o% e# V6 K# D; F' p  tPartCmdHeader.CreateDialogTest.Title    = "对话框测试";) V3 _7 v- ~( H5 h4 V
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
4 o: W) o0 K, h2 J5 W  q  y6 QPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
- c/ ?1 e4 [' EPartCmdHeader.CreateDialogTest.Help      = "对话框测试";
# C+ ^7 Y- }* i/ M# p1 q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标 / b! _6 U2 ]* T' ?+ p
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
7 J6 s4 n* C/ D- l% V8 Y+ P4 iPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
5 @2 `5 U# Y8 T! R; K' K
9 ^% R, Z$ k6 c0 Q$ U
& v  e$ W" V& g: G2 l! Y在PartCmdHeader.CATNls设置命令名称
  G' a8 P1 {! ~% q: ~: yPartCmdHeader.CreatePoint.Title    = "创建点";9 e/ F2 {* T# x, F/ P
PartCmdHeader.CreatePoint.Mnemonic     = "P";' t% `3 O/ y* s1 Z- o- e+ T# S4 w
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
0 Y. J9 C9 {" K" H& e" o" RPartCmdHeader.CreatePoint.Help      = "创建点";; s! V; L& i& W! z
PartCmdHeader.CreateLine.Title    = "创建线";
. s$ X. W& E1 `& B, R6 h9 k9 r( @3 iPartCmdHeader.CreateLine.Mnemonic     = "L";# d" x- S0 l' R! X9 w* h) h9 b
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";% b& G+ v! I+ A4 w  G; r3 q+ M
PartCmdHeader.CreateLine.Help      = "创建线";+ \5 {& S. ]3 o3 C# Q( i, {. D& K6 x  x
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";- C* {9 F4 n) j; C/ R: j' \
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
. B& C: O% K9 p0 ^PartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";
* a% D! @2 D$ \! c7 F3 d0 YPartCmdHeader.CreateDialogTest.Help      = "对话框测试";" C* x' v: o( B* f8 E

8 E( q% C; y( M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了