Catia CAA Addin 正确的建立方法

最近有幸参与一些 Catia 的二次开发,在这个方面的文档很少是很令人头疼的一件事。

首先入门的时候,比较大的问题就是怎么样能添加一个工具栏到 Catia 界面里。许多教程(例如这个)都会介绍到使用 Addin 为 Catia 添加一个工具栏,但是如果你完全照着做 99% 是不会成功的(剩下的 1% 可能是你电脑出错了:))。其中主要的一个步骤是在添加 Component 的时候,选择一个 TIE mode,教程上说是选择安装路径中的 CATIPrtWksAddin,如果你也是这样选择的,虽然后面的步骤都是对的,编译也完成了,运行后你不会看到这个工具栏在之前步骤建立的Workbench中视看不到这个工具栏的,它其实在 Part Design 工作空间中。如果现在刚才建立的 Workbench 中使用,在一进入这个对话框的时候,在当前工作目录下有一个 CATIAddinWorkbenchAddin 1,直接选择 Implement 这个接口就可以了。

catia_insert_components

因为在建立 Workbench 的时候,就已经建立了这个接口,Workbench 运行的时候,会载入一个实现的接口,并且运行里面的函数来建立菜单和工具栏。而你如果选择 CATIPrtWksAddin,Workbench 载入时并不知道应该用哪个实现类。

向导之后会为你建立好框架,你需要做的就和大多数教程一样,实现 CreateToolbars() 和 CreateCommands() 即可。

如果不想将建立的过程封装起来,也可以不建立 Addin,直接在 Workbench 的 Headers.h 和 Workshop.h 中编写代码。在 CATAddinWorkbenchCmdHeader 1 中会有一个默认的实现名称,例如 MacImplementHeader(CATAddinWorkbenchCmdHeader),使用 CATAddinWorkbenchCmdHeader 可以直接在 Headers.h 中使用和实现 CreateCommands() 时类似的方法建立按钮与命令之间的连接,在 Workshop.h 中也可以使用实现 CreateToolbars() 的方法来建立工具栏和菜单项。

1 下划线部分会由于你所建立的 Workbench 的不同而变化