Tips:
本文记录CATIA CAA二次开发学习过程,仅供参考。
本文使用CATIA CAA开发方式,在装配环境窗口创建命令按钮,并弹出对话框。
本文包含实例代码,具体函数使用方法请查阅帮助文档。
- 新建Workspace;
- 新建Module;
- 加载CAA库;
- 将新建的Module设为启动项,添加Component;
- 将新建的Module设为启动项,添加Command;
- 将新建的Module设为启动项,添加Dialog;
- 向Component添加两个函数void CreateCommands()和
CATCmdContainer * CreateToolbars();示例如下:
.h文件
void CreateCommands();//创建命令 CATCmdContainer * CreateToolbars();//创建工具栏
.cpp文件
#include "CATCommandHeader.h" MacDeclareHeader(CAAHtrain);//声明Header
void CAACtrain::CreateCommands()
{
new CAAHtrain("CAAHtrainLX","CAAMtrain","CAARCtrain",(void*)NULL);//创建Header
}
CATCmdContainer * CAACtrain::CreateToolbars()
{
NewAccess(CATCmdContainer,ptrainToolbars,CAAtrainToolbars);//创建工具栏
NewAccess(CATCmdStarter,ptrainCmd,CAAtrainCmd);//创建命令
SetAccessCommand(ptrainCmd,"CAAHtrainLX");
SetAccessChild(ptrainToolbars,ptrainCmd);//建立工具栏与命令的关系
AddToolbarView(ptrainToolbars,1,Left);//添加工具栏
return ptrainToolbars;
}
注:若出现报错或无法解析的情况,说明未准确引用借口,参考帮助文档进行引用
This object is included in the file: CATIWorkbenchAddin.h If needed, your Imakefile.mk should include the module: CATApplicationframe
- 添加资源文件.CATNls和.CATRsc;
.CATNls
CAACtrain.Title="组件"; CAACtrain.Help="组件帮助"; CAACtrain.ShortHelp="组件短帮助"; CAACtrain.LongHelp="组件长帮助";
.CATNls
CAAHtrain.CAAHtrainLX.Title="命令"; CAAHtrain.CAAHtrainLX.Help="帮助"; CAAHtrain.CAAHtrainLX.ShortHelp="短帮助"; CAAHtrain.CAAHtrainLX.LongHelp="长帮助";
.CATRsc
CAAHtrain.CAAHtrainLX.Icon.Normal="train.bmp";//.bmp图片可自行添加
- 向Command命令.cpp文件中添加创建对话框代码;
CAARDtrain * pDlgtrain = new CAARDtrain(); pDlgtrain->Build(); pDlgtrain->SetVisibility(CATDlgShow); RequestDelayedDestruction();
- 向Dialog对话框.cpp文件中添加销毁命令函数;
void CAARDtrain::OnCAARDtrainWindCloseNotification(CATCommand* cmd, CATNotification* evt, CATCommandClientData data)
{
// Add your code here
this->RequestDelayedDestruction();
}
- 创建第一个命令完成后效果图片。左侧为命令(以图片按钮形式存在),右侧为命令对应的对话框。



