PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2017-4-19 21:39:20

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

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

x
% L* }5 m; O: V! J, R6 P2 D. S: d

% q4 A% ?4 E  T) g$ z3 x( K7 OCatia二次开发源码分享: 关于创建命令和菜单方法
1 W  h# l2 \# l. T9 p; j3 h. c) G3 ]# R8 g( k1 `8 K

& r" \6 U& Y0 Y
2 K1 `4 u" l' C; O4 s//Methods implementation3 p3 w+ v$ r& _8 J$ E: u0 l

; e- w+ q$ i  T- Svoid myAddin::CreateCommands()
# z# t3 H, I- f7 {" T+ ^{
, \* Y) m$ x% N0 c% i2 o        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
; M) e8 k5 v  D        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
) h2 e- y( M# p# l4 O        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);; ?3 K( x4 I, C6 E' v/ h# t
}* d3 T* O7 ~$ o( l' ~
CATCmdContainer * myAddin::CreateToolbars()4 [: }/ X  P; z5 d. t! K
{+ A# k4 g4 j; U- y0 `! I' v
       
* [! @# [3 B( G0 d        //设置工具条
5 J! e, R1 E5 Q        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
" [( \1 S4 z; ~) p8 z  ~5 q   AddToolbarView(pPartBenchTlb,1,Right);1 s3 Z+ z3 I/ ?/ I9 {
+ X: _" S0 N% X, o
        NewAccess(CATCmdStarter,pPointCmd,PointCmd);
& {3 M8 e3 _; z5 X. ]7 d/ w3 j9 P! F% p        SetAccessCommand(pPointCmd,"CreatePoint");
4 s; ~# t  v) g; F* b        SetAccessChild(pPartBenchTlb,pPointCmd);' e% R, ~% ^0 Q. F9 M# r5 u. [

$ k/ P1 S7 M# k7 E# j. B  \! I        NewAccess(CATCmdStarter,pLineCmd,LineCmd);" m$ D" G; L( Y
        SetAccessCommand(pLineCmd,"CreateLine");% g$ E4 Q7 V) G/ b! `  B: q
        SetAccessNext(pPointCmd,pLineCmd);
" e' Y( A5 V+ w, D' J* `
" |& x' l! `( x8 P8 l& G5 D' _        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
3 ^; B! G# l8 u        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");: }, x2 d1 G1 R# g9 d3 Q
        SetAccessNext(pLineCmd,pDialogTestCmd); + A/ d) e; ^; V7 ^+ \" d1 Y- a

$ E# t0 _( X' ^, G       
# G) n( g% ]' g8 {% h( N        //设置菜单
$ D$ E3 O  h; x' _' \; l2 K: {( y! b# T. @
        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
2 w% v7 I9 u% [* M        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);. R6 i( J( y* O0 B
        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
$ o$ p0 B. ^1 J        SetAccessCommand(pPointCmdm,"CreatePoint");4 ^, I$ L# I: v( D3 f5 Y3 B
    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
8 L8 D) J1 W, \7 \8 w6 x    SetAccessCommand(pLineCmdm,"CreateLine");& j) K- q7 U$ v+ }6 `
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);$ F# n) W, P1 J
        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");2 m+ V9 A$ y$ c2 o6 A6 q
        ! D) p) V4 k! G! Q- L- a6 p
        SetAccessChild(pPartBenchMun,pPartBenchSmu);
* g# t, [& t6 Q- A" C+ P$ Q. k    SetAccessChild(pPartBenchSmu,pPointCmdm);
( N. Q" e0 v1 C7 Q7 z6 p# J$ t. u, n        SetAccessNext(pPointCmdm,pLineCmdm);
, ~5 C6 a* s3 ]1 f6 U5 B    SetAccessNext(pLineCmdm,pDialogTestCmdm); 1 k3 X2 c: @1 a% Y. W  w

9 i- Q" e. b7 a0 E+ P    SetAddinMenu(pPartBenchTlb,pPartBenchMun);
; J! c: W; k$ Q  m. t
9 S2 Z8 H& P! F! w
& u: c2 J* L! U1 L1 K8 t
7 R" S1 m) L2 M6 {8 o8 o- b; _        return pPartBenchTlb;
6 o, W! r' v' L- J( R2 \2 Z
; y1 j: e& v' X/ g8 J}
" h1 j. q2 e8 ?( [9 \. ~
3 S& x  P0 E+ K8 f( H" E
6 n( Q7 P1 d5 Y& b; p
上海点团信息科技有限公司,承接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里面设置 图标
8 p- ~4 e* q# B3 G  R$ c- GPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
9 f, o( t: l* Z, `  CPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";& \9 q9 J. U% F9 N# D- Q, b, D3 F9 b
在PartCmdHeader.CATNls设置命令名称
7 i" _3 E$ G% n* O. w8 SPartCmdHeader.CreatePoint.Title    = "创建点";, Y+ J) H3 ~2 M1 j
PartCmdHeader.CreatePoint.Mnemonic     = "P";8 o7 V, Q, U* T6 D0 o
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";- I# j" ^% |$ b
PartCmdHeader.CreatePoint.Help      = "创建点";* z+ y' C) c) n/ R5 y) |/ x+ G
PartCmdHeader.CreateLine.Title    = "创建线";- L5 N0 p. l' P& C+ ?
PartCmdHeader.CreateLine.Mnemonic     = "L";
% Z0 H( O) L. ZPartCmdHeader.CreateLine.ShortHelp = "快速创建线";# M4 ^  k8 W* A
PartCmdHeader.CreateLine.Help      = "创建线";8 `9 d& O% G* R0 @0 N+ T, p
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";" F! M4 Q3 H( G5 x9 q, q7 ?8 Y
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
. r5 n" E' Q3 {; F: Z; Y; B+ c  dPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";3 R6 S( q( ?' U) Y
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";  N2 V8 v- l6 p9 j7 p# m
上海点团信息科技有限公司,承接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里面设置 图标 0 y3 D0 O) i: |* P7 C4 s
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
+ t" e; E0 @. j6 CPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
- u- W. S9 e9 @% f& @' [  C$ j+ r* C4 t- q% C

- V+ e# O# O+ u- j; E9 m- v: y( c2 c在PartCmdHeader.CATNls设置命令名称& c  Z: ^, [4 m' Q1 j' v  g# r6 I
PartCmdHeader.CreatePoint.Title    = "创建点";
. l3 x$ X: W! l. x+ w% cPartCmdHeader.CreatePoint.Mnemonic     = "P";# r& m5 d, I* \
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";
4 q5 w7 A- g$ i2 f$ yPartCmdHeader.CreatePoint.Help      = "创建点";) O* m5 R( C- W7 {7 x
PartCmdHeader.CreateLine.Title    = "创建线";8 W8 ]: d. p" O* f8 {6 k
PartCmdHeader.CreateLine.Mnemonic     = "L";+ M7 F9 f8 w( D2 z- z+ S
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";& l2 S. P2 K, r* o! C( a# G' @
PartCmdHeader.CreateLine.Help      = "创建线";
5 f$ V* a/ v' x: u0 g/ a( [9 EPartCmdHeader.CreateDialogTest.Title    = "对话框测试";; d/ u3 c" t8 H. V. Z
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
% X: O" y. W  uPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";& U0 C# O! S! x  q" Y2 P; \
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";
% I! F- J" f9 b  n1 M( x
( M9 @, h8 M# @. A0 ?" K: s2 y( E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了