牛刀小试之:我的Addin

通过Addin可以在已有的Workshop,workbench中插入命令,对话框等交互式界面,经常使用到。

建立Addin的基本过程:

(1)、建立Workspace
(2)、建立Framework
(3)、定义Locate Prerequisite Workspaces
(4)、建立Module
(5)、修改程序代码,添加CreateCommands和CreateToolbars函数
(6)、建立命令响应对话框Dialog,并编写程序代码。
(7)、修改IdentityCard.h文件,加入已用API所属的Framework

(8)、修改Imakefile.mk文件,加入已用API所属的Module

(9)、用mkmk编译程序,并更新运行视图。

上述(1)  至 (4)同前,毋庸赘述。

下面的操作,请按图索骥。

(4)在当前module中,添加component

之后显示完成信息。下面是之后的工作区结构:

(5)修改相应的程序代码。

首先,在MyToolbar.h中增加包含文件:#include "CATCmdContainer.h"

在类定义中的public的析构函数后,加入两个函数的声明:

void  CreateCommands();

CATCmdContainer*  CreateToolbars();

然后再MyToolbar.cpp中添加:

在头包含文件部分增加:#include "CATCommandHeader.h"和#include “CATCreateWorkshop.h"

在包含文件之后声明命令声明的宏:MacDeclareHeader(MyToolbarHeader); 这个很重要。

在类函数的实现部分添加CreateCommands和CreateToolbars函数:

这里我只声明了一个命令,可以根据需要增加。需要注意构造函数:MyToolbarHeader的参数:

第一个是部件的名称,第二个是所在的模块,第三参数是要执行命令的实现类名,第四是命令参数。

CreateToolbar函数中,创建一个工具条和一个菜单项。(可以只创建其一)。

(6)修改需要添加的先决部件Framework。直接在文件IdentityCard.h中添加或通过菜单CAA5 Workspace->Define

Prerequisite Frameworks...添加。

修改Imakefile.mk文件,添加需链接的framework,如下图:

至此,准备工作完成。

点击菜单  生成->mkmk完成编译和链接。菜单:CAAV5 Workspace->Create/Update Runtime View更新Catia显示。

菜单:窗口->Open Runtime window。出现命令行: 输入cnext

现在,可以在给工具条和菜单添加命令了。

(6)添加命令

进入菜单:文件->CAAV5 Item->CATIA Resource->Command...

这里的命令名要注意,和之前在用Create Commands创建命令时一致。不同则修改为一致。

点击OK完成。然后就可以编辑编辑对话框。和VC差不多,添加Label,Button等,给按键添加响应函数等。

注意给Cancel,关闭窗口键添加响应函数:SetVisibility(CATDlgHide);RequestDelayedDestruction();

修改IdentityCard.h:   添加AddPrereqComponent : Dialog

在Imakefile.mk中添加模块:DIOPANV2

(7)编译,更新显示。

成功!!!

CATIA CAA二次开发专题(四)------创建自己的Addin相关推荐

  1. CATIA CAA二次开发专题(一)------明知山有虎

    开局:进军一个新领域 最近接到公司新的开发任务:基于DASSAULT  CATIA  CAA的二次开发,完成一个焊缝的生成和管理插件. 长期进行CATIA的授权管理软件开发,但是一直没有进行过CATI ...

  2. CATIA CAA二次开发专题(九)---3DE平台的特征树遍历

    因为应用开发需要移植到3DE平台,所以又开始了新的征程. 在3DE平台上,因为使用中心数据库存储设计文档和安全原因,很多V5平台的特征及接口做了很大的 改变,给刚刚有点熟悉V5平台的我,很大的困扰.只 ...

  3. CATIA CAA二次开发专题(三)---------创建自己的Workbench

    牛刀小试之:我的Workbench 开发环境已经建立起来,该试试身手了. 参阅大量网络教程,取长补短,完成了第一个交互式测试项目,建立一个workbench. CAA交互式开发的一般顺序: (1).建 ...

  4. CATIA CAA二次开发专题(十)---迷宫中穿行(终结篇)

    从项目开始至今已有十个月,终于接近尾声,初步通过验收,接近交付阶段,所有必须解决的难题基本都得到解决. 回首来时路,感概万千,个中艰辛,非亲历不能言. 在CATIA/3DE  CAA 开发,除自带开发 ...

  5. CATIA CAA二次开发专题(八)---自定义特征模型

    随着开发的深入,最后会涉及自定义特征模型的问题,本文叙述一个工具软件的使用. CAA自定义特征对象的方法,可以通过工具:CdtfctEditorAssistant.exe完成. 通过osm文件,生成C ...

  6. CATIA CAA二次开发专题(六)---约束关系分析

    在二次开发过程中,有时需要获取产品树中的约束关系信息,以进行部件关系分析.下列程序片段,可以获取并显示产品 树的约束信息.这里,只给出主程序. #include "CATBaseUnknow ...

  7. CATIA CAA 二次开发资料(PDF).rar

    05.16.02.MapInfo_MapX_Mobile_5.0-CYGiSO.zip aiss902.rar AutoNest_v1.6_for_AutoCAD.rar Catia CAA 编程示范 ...

  8. CATIA CAA二次开发视频教程 CAA资料

    CATIA CAA二次开发视频教程 CAA资料教程-560分钟 链接:https://pan.baidu.com/s/1Sa2vGcIkoaZYQWdMN7ombg 提取码:yn4a

  9. CATIA CAA二次开发视频教程 CAA资料教程

    CATIA CAA二次开发视频教程 CAA资料教程 链接:https://pan.baidu.com/s/1B7TcxhDl8KPphDtJwQ1WzQ 提取码:tmum

最新文章

  1. (三)AJAX基本介绍和简单实例03
  2. psp用ps1模拟器_电脑上ps1和fc模拟器资源下载,包含当年ps1上的西游记和霸王的大陆复刻版...
  3. 成功解决PermissionError(权限拒绝解决答案集锦): [Errno 13] Permission denied: ‘f:\\program files\\python\\python36\
  4. QEMU KVM libvirt手册(4) – images
  5. c++ 原子操作 赋值_Volatile深度剖析-原子性
  6. ブランド (brand) 品牌,商标
  7. Spring Cloud之Feign客户端调用工具
  8. Java自学 day02
  9. MyBatis-Plus 分页查询以及自定义sql分页
  10. 卡卡通小熊win7桌面主题+非主流win7主题下载
  11. macOS Ventura 正式版发布 苹果官方详解macOS 13 Ventura正式版
  12. java 拼音的模糊匹配 算法_c#拼音模糊匹配算法
  13. 使用pdfFactory Pro虚拟打印机给文档加上水印
  14. IE8 “Automation 服务器不能创建对象”问题解决方法
  15. 软硬一体的算法实践,阿里云如何以算法实现场景 “再创新”?
  16. codeup3692 星期英文单词
  17. python moving average_Python实现滑动平均(Moving Average)的例子
  18. oracle缺少有右括号,oracle ORA-00907错误:缺少右括号
  19. 【180927】美女拼图游戏源码
  20. 利用网络分析工具对城市管道网络进行分析 对一个物流公司的运送路线进行合理的规划

热门文章

  1. JavaScript 10进制转换为类似‘0x00d5’格式的16进制
  2. 用Dynamips构建能够与真实机器通信的IPSec ***环境
  3. 2023年Node.js全网详细下载安装的最新教程
  4. 织梦网站频道管理员不能添加栏目
  5. 自定义resttemplate的ErrorHandler
  6. JavaScript网页特效-“渔夫打鱼晒网”程序设计
  7. 日期转换(正推与倒推)
  8. java中输入日期_Java中的日期操作
  9. Qt/C++ 加载数据库出现qt_sql_default_connection提醒
  10. pycharm可视化网页编程_pycharm + git+gitlab的可视化界面操作