牛刀小试之:我的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环境中开发Add-in,包括从建立Workspace到添加命令及对话框的具体步骤。通过实例演示了如何创建命令和工具栏,以及如何通过修改相应文件来集成这些组件。
332

被折叠的 条评论
为什么被折叠?



