查看: 6509|回复: 4

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

 火 [复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

" k+ W0 P8 k" q' o% u# M: M2 z( ~( m9 X
Catia二次开发源码分享: 关于创建命令和菜单方法
' X" b# C! L: v/ u% V* x- P; X/ m7 y  j& d- v: F, _

% |/ W- H4 J# D' v9 y  L; s3 k$ q! z: U) K% `* U( R/ {8 O3 [
//Methods implementation
- X3 t# v$ @! ?$ v' m
/ l0 M5 I$ ?3 Bvoid myAddin::CreateCommands(); z% y. o. K) e: b" P
{  T/ F1 T$ r+ j, ?% B) T: ~
        new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
5 u0 J( F: P3 \9 `, Q! }5 U        new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);$ e6 G: Y) Z7 ?# w3 S/ q
        new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);
) n* g( r% n8 z* _}
2 v# ?# ?; d( ?8 F: X) rCATCmdContainer * myAddin::CreateToolbars()+ B0 z* u( w  y+ Z
{
+ I$ q& P  U! B6 O        + b, N5 ^7 b1 N1 C- {
        //设置工具条
) s: e5 S5 Q' w1 f' O        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);& p1 z, a* T5 _# C2 _. N9 f% h
   AddToolbarView(pPartBenchTlb,1,Right);
1 v1 E3 D. j- N
, L2 G- z' A* Q# r! }' S        NewAccess(CATCmdStarter,pPointCmd,PointCmd);# k# F( H2 ?# y' o% T. `
        SetAccessCommand(pPointCmd,"CreatePoint");
9 T+ v) r# Q& {9 }! h* P$ b        SetAccessChild(pPartBenchTlb,pPointCmd);& i. A6 |! S! ?
; _* R, @7 d0 i! Q7 u7 i4 o! |  f# j2 K
        NewAccess(CATCmdStarter,pLineCmd,LineCmd);/ X% r" q! |# V/ ^1 h% T- o$ L
        SetAccessCommand(pLineCmd,"CreateLine");
3 ~" T' y& W# {) I        SetAccessNext(pPointCmd,pLineCmd);
9 w* D1 O& E1 y' c- T6 c
  N2 j7 O! N9 ^% X        NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
+ {. x5 O0 u9 H( Q        SetAccessCommand(pDialogTestCmd,"CreateDialogTest");1 e7 X& a) \$ r* \- s+ B7 X
        SetAccessNext(pLineCmd,pDialogTestCmd);
$ [: K) ~# b' g% x; H" H, J
! Y, Z' I" S9 H8 o1 W1 w: U       
5 h9 O" W% g/ s' |1 k2 ]        //设置菜单
( F0 H) f8 N1 S# v. R; m
4 r  K, i2 O, k; J9 l# `        NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
6 x+ I3 [! F5 H) p: I% p        NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
7 H% p) F: b/ h! S, E9 ?        NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
  ?0 D4 o, O' p" \  t        SetAccessCommand(pPointCmdm,"CreatePoint");. d2 s4 N* E; f% N. }2 T
    NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
) _+ E+ Z+ K& S! t2 H    SetAccessCommand(pLineCmdm,"CreateLine");0 [  }/ M* E/ F7 o& m
        NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
( u7 I6 {5 v8 u! t9 i2 q3 ]        SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");6 Q0 R9 r! L. }+ U# [  t+ p
        : o, w* T7 R1 R# {' k2 V0 O9 p
        SetAccessChild(pPartBenchMun,pPartBenchSmu);; G1 {2 |7 U+ r2 Y7 N% ?
    SetAccessChild(pPartBenchSmu,pPointCmdm);$ n  F- q* a  j9 F3 V7 K5 }2 I
        SetAccessNext(pPointCmdm,pLineCmdm); 2 I3 Y) z; o3 n3 j
    SetAccessNext(pLineCmdm,pDialogTestCmdm);
2 P" f' A7 {( _9 X4 a  k
* Y! B4 W7 \* w    SetAddinMenu(pPartBenchTlb,pPartBenchMun);
& m# B! R1 ?. ]- J" G3 X% h7 O- f4 a1 i+ O( t; i
+ G9 {# |- q- F0 Z! @  z
/ x/ O( @, h5 c5 @# H* D* A9 t2 F
        return pPartBenchTlb;$ j4 v5 M7 l* ]+ C

7 X1 ?' M+ d2 h* Q0 q+ [}
  l+ O8 w6 R+ H# r; |: p! F1 S* P; b

' ?0 s! i. e) K5 @" }, A( C
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
 楼主| 发表于 2017-4-19 21:41:17 | 显示全部楼层
在 header文件CATRsc里面设置 图标 * ^' X( @! a8 E9 t. y+ A
PartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
( D8 V. t  g' M8 e0 B  |+ R. kPartCmdHeader.CreateLine.Icon.Normal    = "I_Line";
/ d3 x( a/ A) r/ x2 F- f/ W* H在PartCmdHeader.CATNls设置命令名称
: L$ ~+ I$ @- p6 H, d% DPartCmdHeader.CreatePoint.Title    = "创建点";
& Y8 p" M& C% H1 FPartCmdHeader.CreatePoint.Mnemonic     = "P";* U0 Y2 ^6 t: }' a. g
PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";$ a4 r. l1 X) y& d2 ?- D- y
PartCmdHeader.CreatePoint.Help      = "创建点";
! S8 a/ z: c6 m# i3 I8 ]* n( T  `* xPartCmdHeader.CreateLine.Title    = "创建线";2 j9 b2 d2 ^% h) F" n$ @
PartCmdHeader.CreateLine.Mnemonic     = "L";1 k5 ^: P+ R8 p6 \$ G+ U" v. I: ]
PartCmdHeader.CreateLine.ShortHelp = "快速创建线";8 B' @: L- Y6 H$ a4 [$ N
PartCmdHeader.CreateLine.Help      = "创建线";* Q; I, u, D! T. o( ^5 Y+ z3 I0 B# \
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";9 [; u3 t/ T: n3 Q2 O% m7 h0 ?/ {5 U5 W
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
# E+ H0 V2 s2 ^- }8 g6 N. ~2 ^- y* dPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";  {, i/ W* ~& a% y  y: I1 e
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";& h2 C$ l/ U2 B/ r0 ~
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

6

主题

4

回帖

60

积分

管理员

积分
60
 楼主| 发表于 2017-4-19 21:41:31 | 显示全部楼层
在 header文件CATRsc里面设置 图标
+ \( i7 j- m. F5 E8 Q% E* o3 M7 OPartCmdHeader.CreatePoint.Icon.Normal    = "I_Point";
3 _! Z- V- F" ~! v/ t. \PartCmdHeader.CreateLine.Icon.Normal    = "I_Line";: J! {" |! h2 D

& D; N8 A2 r2 @" J3 c" s4 G6 b; L: h" E8 [5 w; s8 K( |- U
在PartCmdHeader.CATNls设置命令名称
- O+ a- ]) |8 t/ uPartCmdHeader.CreatePoint.Title    = "创建点";  f3 ^1 ^# G3 V/ T2 r, |% _
PartCmdHeader.CreatePoint.Mnemonic     = "P";
2 n3 u5 _8 d. z4 @PartCmdHeader.CreatePoint.ShortHelp = "快速创建点";) g) s4 {1 p0 H- z1 K
PartCmdHeader.CreatePoint.Help      = "创建点";2 ~1 p3 W; w1 ^) `2 u9 H
PartCmdHeader.CreateLine.Title    = "创建线";
, Q; Q1 b/ `6 V8 w9 XPartCmdHeader.CreateLine.Mnemonic     = "L";
- {; R# p# ~. B3 _: ?8 lPartCmdHeader.CreateLine.ShortHelp = "快速创建线";
8 o5 R- Q& G1 @4 LPartCmdHeader.CreateLine.Help      = "创建线";6 J' L+ `3 C# y% W+ ?
PartCmdHeader.CreateDialogTest.Title    = "对话框测试";1 @: f- N. Q3 i8 i8 s3 B0 H! K
PartCmdHeader.CreateDialogTest.Mnemonic     = "C";
4 q/ u6 B' m- |: o4 G; b" `" h2 ]2 z0 IPartCmdHeader.CreateDialogTest.ShortHelp = "快速对话框测试";7 h# S2 K; y: ~1 G7 |
PartCmdHeader.CreateDialogTest.Help      = "对话框测试";
) ?% V! c; q! @. c+ @/ u$ B# ]% t5 O
9 R2 a, ~1 z0 u" }* @/ ^  L
上海点团信息科技有限公司,承接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客服返回顶部