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 2992 0

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

admin 楼主

2017-1-16 17:14:52

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

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

x
Catia CAA 二次开发加入菜单工具条最简单的入门教程
1 {% }: g! J8 N+ o. [
0 F: K3 Q1 \. [' j建立了一个空的Addin。在yourframe.dico文件中可以看到这个Addin的声明:5 e# V; n( l7 v$ h* {$ `8 X
NewAddin        CATIPrtWksAddin        libPartDesignAddin
6 O& l3 o0 a* ]  O但是,要创建一个工具条,我们还需要在这个类:NewAddin中添加一些函数。
' U7 j* q  r. }. G在NewAddin类中添加两个Public函数声明:
. ]2 I) u' i6 L  M- J! @           void CreateCommands();
4 Z% K: Q. C9 R4 G  ACATCmdContainer * CreateToolbars();- q0 N/ p6 u6 o; e
在NewAddin.cpp中添加宏定义:
1 ^/ O- t" W' O7 S: m       #include "CATCommandHeader.h"        # f3 ~. M( e4 P5 t
MacDeclareHeader(PartCmdHeader);
% }% d) T! ~9 x* N& N1 y这两个函数及宏都可以按ctrl+F1查到, CreateCommands里面的代码只是用 MacDeclareHeader生成的PartCmdHeader定义命令的header(不知道怎么翻译,就是工具条或菜单里面可以看到的执行命令的按钮了,这个命令是连接界面命令和实现代码的桥梁。)如:       
* d2 F) {% Q. b% ^8 ]new PartCmdHeader(“point”,“CmdModule”,“TestCmd”,(void *)NULL);" R3 M, b/ B: h
new PartCmdHeader("line","CmdModule","LinCmd",(void *)NULL);. H, _# J8 r4 x! q7 A: `
第一个参数是按钮的名字,第二、三个代表按钮执行的命令所在的module和命令的名字,参数四缺省就行了。
2 L! |. }5 C+ J; R# C7 f. N6 v' J! k8 ^( o. L* ?' s7 l! ?
CreateToolbars里面就是要建的工具条和菜单的主要内容:: s' {  [/ L4 J
        NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
( h- j' {  Z! h9 Y             NewAccess(CATCmdStarter,pPointCmd,PointCmd);# }2 H8 D8 ?6 ~2 D; N- V: s: t
         SetAccessCommand(pPointCmd,"point");
/ V. J9 F& r/ q2 j7 Y; p8 N, o         SetAccessChild(pPartBenchTlb,pPointCmd);
$ [! [$ R& {, D' t$ w, g6 z2 O% g                 NewAccess(CATCmdStarter,pLineCmd,LineCmd);% p! z+ K) X- ~9 N
         SetAccessCommand(pLineCmd,"line");
: e% ~1 E& a% B         SetAccessNext(pPointCmd,pLineCmd); : e* v/ Q6 I4 o# g# d- r! l# q. z
这三个函数都可以查到, 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.) [) t( I7 U  l6 {; ]1 y

5 X( S- ]* q% N4 Q2 K9 \/ s, @; s6 ~2 |, E: j# Y+ }  h
8 ?: W! S. X6 F- k/ F
NewAccess, SetAccessCommand, SetAccessChild, SetAccessNext等几个命令的使用。其具体含义可以参看API文档的说明。( SetAccessCommand 就是将starter与上面的PartCmdHeader 建立的东西连接了,注意参数“line” )其他的顾名就可思义。6 J$ q4 N; ^. Z) Y# T- O2 G4 p
0 B' w2 @0 e7 ~# }+ ]$ j. n
、此时编译,发生几个连接错误。主要是CATCmdContainer类型及Newaccess的定义的头文件及其Module的添加。在.h文件中加上:#include "CATCmdContainer.h"; Q1 m# n, `# j  j' Y
在.cpp中加入:#include "CATCmdContainer.h"3 m3 t7 r0 w0 {# G' T: b3 n
#include "CATCreateWorkshop.h"" ?! _# v/ h9 A" U, S! j9 F
在.mk文件中加入:WIZARD_LINK_MODULES =  \, f0 [9 a8 ]. ]) o' n! D/ B) q8 y
JS0FM JS0GROUP PrtWorkshop MechanicalModelerUIUUID \
4 n& o$ G9 E6 J2 Y& J# RCATApplicationFrame) Y, i1 ?7 `  e2 C4 s( g! Q
# END WIZARD EDITION ZONE
$ z. t# `5 S+ I" G+ uLINK_WITH = $(WIZARD_LINK_MODULES)  \
/ u& Z4 a4 j! P& h9 P5 Q  c+ l          CATApplicationFrame $ r& M$ Q6 b2 P
在Identitycard.h中加入:
# g8 y, |9 M! J0 N: m5 H( y: F: bAddPrereqComponent("ConstraintModelerUI",Protected);4 \8 h$ a0 s: j
注意:每次换行时,都要加一斜线用来继续执行下面的module.. E1 I. J" ?- T  h$ m& U

9 m" y5 P: M( {: m# K- ]4 M: P到此addin就做成了。剩下的就是定义资源文件,也就是换换名字或给按钮连接个图片。和前面的workbench一样工具条名字在“NewAddin.CATNIS”中进行定义:# P- R1 t  V% d( W' {& F/ u4 R
PartBenchTlb.Title=”测试工具条”;0 D% F; b- l- C9 @" h0 q3 z
在NewAddin.CATRsc定义图片。
8 k5 R) F# v/ M  N( h! RNewAddin.point.Icon.Normal = “I_CAAPoint” ;(图片一般放在cnext/resource graphic\ Icon\Normal文件加下 , NewAddin.CATRsc文件可能不会自动生成,你可以在相应的文件加下新建一个问本文档,把后缀改成CATRsc再在VC里刷新你的工程就有了)。4 N# y- n  W/ Z6 m0 y- c

' ?$ b3 y4 v7 \, W+ i8 d3 P* b. n  s9 ^. u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了