CATIA CAA二次开发专题(四)

时间:2024-03-29 14:14:43

牛刀小试之:我的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

CATIA CAA二次开发专题(四)

CATIA CAA二次开发专题(四)

CATIA CAA二次开发专题(四)

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

CATIA CAA二次开发专题(四)

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

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

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

       void  CreateCommands();

      CATCmdContainer*  CreateToolbars();

     然后再MyToolbar.cpp中添加:

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

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

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

    CATIA CAA二次开发专题(四)

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

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

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

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

          Prerequisite Frameworks...添加。

         CATIA CAA二次开发专题(四)

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

       CATIA CAA二次开发专题(四)

       至此,准备工作完成。

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

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

      CATIA CAA二次开发专题(四)

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

(6)添加命令

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

       CATIA CAA二次开发专题(四)

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

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

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

    修改IdentityCard.h:   添加AddPrereqComponent : Dialog 

    在Imakefile.mk中添加模块:DIOPANV2

    (7)编译,更新显示。

         CATIA CAA二次开发专题(四)

成功!!!