PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

Catia CAA 二次开发加入菜单工具条最简单的入门教程

[复制链接]

2017-1-16 17:14:52 2983 0

admin 发表于 2017-1-16 17:14:52 |阅读模式

admin 楼主

2017-1-16 17:14:52

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

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

x
Catia CAA 二次开发加入菜单工具条最简单的入门教程
5 [' _" t* s7 b; w. x- Q& i5 J6 c9 N/ ^2 X
建立了一个空的Addin。在yourframe.dico文件中可以看到这个Addin的声明:1 Y+ L* h' V! r' A; C# |# U
NewAddin        CATIPrtWksAddin        libPartDesignAddin
* `4 I# l/ Q8 k! B但是,要创建一个工具条,我们还需要在这个类:NewAddin中添加一些函数。; T+ o: _. [) D- |- n  H
在NewAddin类中添加两个Public函数声明:' P6 X, ?2 U/ w# Y7 N# i
           void CreateCommands();. x% @3 B' F& t( H. s' i# b
CATCmdContainer * CreateToolbars();
6 O, u9 L1 ]; y; b$ E; s在NewAddin.cpp中添加宏定义:
/ M$ \' e: A1 j* X, b5 m$ f       #include "CATCommandHeader.h"        1 s5 R9 l0 _+ I
MacDeclareHeader(PartCmdHeader);  S" d6 z# [) O9 t: R6 g
这两个函数及宏都可以按ctrl+F1查到, CreateCommands里面的代码只是用 MacDeclareHeader生成的PartCmdHeader定义命令的header(不知道怎么翻译,就是工具条或菜单里面可以看到的执行命令的按钮了,这个命令是连接界面命令和实现代码的桥梁。)如:        4 i7 Y6 U% X; g4 ^
new PartCmdHeader(“point”,“CmdModule”,“TestCmd”,(void *)NULL);. l9 S, Z: `8 M
new PartCmdHeader("line","CmdModule","LinCmd",(void *)NULL);, [# f+ I' y# c! X
第一个参数是按钮的名字,第二、三个代表按钮执行的命令所在的module和命令的名字,参数四缺省就行了。& u3 }  M: X7 R( Y. J

$ q4 T6 O0 i# }' p8 e CreateToolbars里面就是要建的工具条和菜单的主要内容:( S+ n2 T/ p* M/ ]7 ?* i- k5 B$ @) u
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);5 U1 V8 k* a4 o/ R
             NewAccess(CATCmdStarter,pPointCmd,PointCmd);
! L# K- Y3 L( d         SetAccessCommand(pPointCmd,"point");! `& a4 `4 x/ j. ~# N
         SetAccessChild(pPartBenchTlb,pPointCmd);
9 y- {, W( K; \                 NewAccess(CATCmdStarter,pLineCmd,LineCmd);
- s/ y. w. r4 u7 A, v/ e( n         SetAccessCommand(pLineCmd,"line");
. S& L% e+ y1 h4 z; m         SetAccessNext(pPointCmd,pLineCmd);
% u* _) S, T- i+ g7 ^' [0 o这三个函数都可以查到, NewAccess肯定是新建了,常用的类有CATCmdWorkbench(The workbench's access is a CATCmdContainer which contains containers: one for it's menubar and one for each toolbar. ) 、CATCmdContainer(Class to create the container's access like a menubar, a menu, a submenu, a toolbar or an icon box) 、 CATCmdStarter、(A starter is a leaf of the workshop's accesses tree. At each starter you attach a CATCommandHeader to launch the associated command.
4 T1 w! I+ P  t" _! o8 j9 d, `8 O! S$ k7 ]# J

2 D7 ]: n) N) L+ y8 B2 ^, }! m% S: l: D; I# C: p/ o
NewAccess, SetAccessCommand, SetAccessChild, SetAccessNext等几个命令的使用。其具体含义可以参看API文档的说明。( SetAccessCommand 就是将starter与上面的PartCmdHeader 建立的东西连接了,注意参数“line” )其他的顾名就可思义。8 t1 f. L+ g$ a( l9 B" Q* m
/ e; H$ l) V7 W) z; m
、此时编译,发生几个连接错误。主要是CATCmdContainer类型及Newaccess的定义的头文件及其Module的添加。在.h文件中加上:#include "CATCmdContainer.h"
7 t( m; L4 n0 D2 y$ O' {7 N在.cpp中加入:#include "CATCmdContainer.h"
; c0 o, b: p! a) F$ `#include "CATCreateWorkshop.h"
" [/ R+ ?" H- E1 S8 ]9 L在.mk文件中加入:WIZARD_LINK_MODULES =  \6 P1 I2 \; ~% N, v  c
JS0FM JS0GROUP PrtWorkshop MechanicalModelerUIUUID \6 ]8 b! {5 O$ ?+ @4 T  g3 E1 S* j
CATApplicationFrame
4 r& o- v/ ^2 f0 J% w# END WIZARD EDITION ZONE
! X; p- [* l6 _* yLINK_WITH = $(WIZARD_LINK_MODULES)  \
8 r4 v6 _8 u& {8 g" d# m+ x& A- U          CATApplicationFrame * z4 n2 [: Y& W/ x$ N2 l+ r; P
在Identitycard.h中加入:' I4 j* l2 m5 h, F
AddPrereqComponent("ConstraintModelerUI",Protected);
4 _% I1 G& v9 \注意:每次换行时,都要加一斜线用来继续执行下面的module.
9 I+ a8 t0 K* A9 I) \5 v$ U1 V9 \6 r2 n2 b$ e/ Q
到此addin就做成了。剩下的就是定义资源文件,也就是换换名字或给按钮连接个图片。和前面的workbench一样工具条名字在“NewAddin.CATNIS”中进行定义:* c0 C- H& I6 q8 H
PartBenchTlb.Title=”测试工具条”;
$ R! O/ ^( _9 B1 T0 D- ?在NewAddin.CATRsc定义图片。  M% R. z- m5 _7 ~0 K; r. m" D$ Y
NewAddin.point.Icon.Normal = “I_CAAPoint” ;(图片一般放在cnext/resource graphic\ Icon\Normal文件加下 , NewAddin.CATRsc文件可能不会自动生成,你可以在相应的文件加下新建一个问本文档,把后缀改成CATRsc再在VC里刷新你的工程就有了)。3 {& S: ^5 Q4 M/ k8 m' I

0 D* z9 y& R5 v/ ~6 R! l, o4 b* k
1 r, V! o4 d& ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了