视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CAA入门详细讲解
2025-09-23 22:16:05 责编:小OO
文档
1.CAA工程的建立

1.1.交互界面的建立

1.1.1.工程(Workspace)的建立

Step1:在VC“File”菜单中选择“New CAA V5 Workspace…”,出现对话框:

工程路径创建或选定

在工程路径中选择或创建路径,选择“Tool Level”为“V5R16_ B16”,点击Next。

Step2:创建Framework选项。系统提供了4个可用选项,可以不选择或选择第二项。

Framework预定义

Step3:若上面选择了第二项,则显示下面对话框。输入Framework名字和选择其类型。Framework提供两种类型:应用和接口。功能也有三种:运用、测试和教学。

Framework类型选择

Step4:确定Workspace的创建:

Workspace基本情况提示

确定后VC文件视图(File View)如下:

所建立Workspace的文件视图

此时生成了一个带有一个Framework的Workspace。CAA的开发提供了两种模式:批处理模式(Batch Mode)和交互模式(Interactive Mode)。我们开发主要用到的是交互模式。在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令。下面分别进行示例。

2.1.2.新建工程与CATIA系统接口的连接

   在建立工程后,必须先指定CATIA的安装路径,以搜索开发所需要的API资源。点击“CAAV5 Workspace”   “Locate Prerequisite Workspace…”,添加CATIA的安装路径。点击“Add”添加,如下图所示:

预定义Workspace路径

注意此路径为Intele_a文件夹的上层路径。在这里,如果要引用其他Workspace的接口(Interface),也可以在这里指定此Workspace的路径。

2.1.3.Workshop或Workbench的创建

下面的例子,我们在MechenicalDesign(机械设计)中插入一个名为“测试工作台”的Workbench。具体步骤如下:

Step1:创建一个New Module:选择“Project”   “New Module…”命令:

New Module对话框

输入Module名字后点击OK。

Step2:进入确定界面,显示此Module信息:

新建Module信息

点击OK后,创建了一个新的Module。此时VC中的文件视图(FileView)如下:

创建新Module后文件视图

Step3:右键点击Module1.m,将其设为当前工作Project(Set As Active Project)。选择“Insert” “CATIA Resource”  “CATIA Pattern…”,响应如下:

  

在Module中插入CATIA Pattern

选择Workshop,点击OK。

Step4:Workshop或者Workbench选择。选择创建Workbench,并输入其名称。

Workbench定义

Step5:点击接口浏览按钮,选择与Workbench所连接的Workshop。这里选择PRDWorkshop,即为Product空间。在新创建的Workbench中,会包含Product空间的一些基本标准命令,如插入产品等。如果选择Part空间,则会包含Part空间的一些基本命令。

AssociatedWorkshop定义

Step6:上述步骤结束后点击Next,进入参数设置界面,直接进入NEXT。

代码参数选择

点击Finish,设置完成,如下图。

新创建Workbench基本信息

OK后,生成名为TestWb.m的module及其头文件。

创建Workbench后文件视图

Step7:点击 Build->mkmk ,编译程序。

编译对话框

Step8:点击 Tools->Open Runtime Window ,打开命令框。输入“cnext”打开CATIA R16。

在CATIA中找到新建的工作台:

下面是几个值得注意的地方:

●在文件:MyFrame1/CNext/ msgcatalog /TestWb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为: 

TestWb.Title=”测试工作台”;

●在文件:MyFrame1/CNext/ msgcatalog /TestWb.CATRsc中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下:

TestWb.Category="Infrastructure";

    Category可以为:Infrasturcture,MechanicalDesign,Shape,……。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。

●在文件:MyFrame1.dico中,定义了此Workbench的连接库。

再次编译运行,结果如下:

创建新Workbench后的CATIA运行界面….

2.1.4.Addin的创建

所谓Addin,是在系统已有的Workbench中插入新的工具条或者菜单。下面的例子,我们来在PartDesign中插入一个工具条,名字为“工程管理”。

Step1:新建一个Module,名为PartDesignAddin。

Step2:将此Module设为当前活动Project,选择“Insert”    “Component…”命令。

插入组件

输入Component name。点击红框“Add”,如下:选择Implement的接口为:CATIPrtWksAddin。选择窗口如下:

选择Interface

注意Search workspace为你的CATIA安装路径,并将下面的单选框设为空。

Step4:设置完成。

插入组件信息

相应的文件视图如下:

文件视图

Step4:按文件所示,修改.mk与Identitycard.h文件

在.mk文件中:

LINK_WITH = $(WIZARD_LINK_MODULES)\

改为

LINK_WITH = $(WIZARD_LINK_MODULES)\

            CATConstraintModelerUI\

            CATApplicationFrame \

            CATDialogEngine \

            CATMechanicalModelerUI \

            CATObjectSpecsModeler \

            CATVisualization \

            CATMecModInterfaces \

            CATProductStructure1 \

            DI0PANV2 \

            CATObjectModelerBase \

            CATMathematics \

            CATGeometricObjects \

            CATMathStream \

            CATTopologicalObjects \

            CATMechanicalModeler \

            CATInteractiveInterfaces \

            CATDraftingInterfaces\

            JS0FM\

            DraftingItfCPP\

            CATDfiUUID\

            JS0GROUP\

            CATSketcherInterfaces\

            CATGitInterfaces \

            KnowledgeItf \

            CATUdfInterfaces\

            CATCclInterfaces\

            CATViz\

            CATCGMGeoMath\

            CATConstraintModeler\

            CATConstraintModelerItf\

            CATMechanicalCommands\

            CATMmrReplace\

            CATMcoModel\

(此工程不需这么多,但这些皆为常用接口,可备用)

将Identitycard.h内容改为:

AddPrereqComponent("System",Protected);

AddPrereqComponent("MechanicalModelerUI",Protected);

AddPrereqComponent("ConstraintModelerUI",Protected);

AddPrereqComponent("ApplicationFrame",Protected);

AddPrereqComponent("DialogEngine",Protected);

AddPrereqComponent("Mathematics",Protected);

AddPrereqComponent("Dialog",Protected);

AddPrereqComponent("ObjectSpecsModeler",Protected);

AddPrereqComponent("Visualization",Protected);

AddPrereqComponent("MecModInterfaces",Protected);

AddPrereqComponent("ProductStructure",Protected);

AddPrereqComponent("ObjectModelerBase",Protected);

AddPrereqComponent("GeometricObjects",Protected);

AddPrereqComponent("NewTopologicalObjects",Protected); 

AddPrereqComponent("MechanicalModeler",Protected);  

AddPrereqComponent("InteractiveInterfaces",Protected);   

AddPrereqComponent("VisualizationBase",Protected);  

AddPrereqComponent("ConstraintModeler",Protected);  

AddPrereqComponent("ConstraintModelerInterfaces",Protected);

AddPrereqComponent("InfInterfaces",Protected);

AddPrereqComponent("ProductStructureInterfaces",Protected);

AddPrereqComponent("AutomationInterfaces",Protected);

AddPrereqComponent("KnowledgeInterfaces",Protected);

AddPrereqComponent("PartInterfaces",Protected);

AddPrereqComponent("DraftingInterfaces",Protected);

AddPrereqComponent("SketcherInterfaces",Protected);

AddPrereqComponent("GSMInterfaces",Protected);

AddPrereqComponent("MechanicalCommands",Protected);

AddPrereqComponent("ComponentsCatalogsInterfaces",Protected);

(此工程不需这么多,但这些皆为常用接口,可备用)

2.1.5.工具条、菜单的建立和显示

主要是NewAccess, SetAccessCommand, SetAccessChild, SetAccessNext等几个命令的使用。其具体含义可以参看API文档的说明。

按照示例文件,对NewAddin.cpp,NewAddin.h进行修改。

编译运行,在PartDesign模块中如下:

创建菜单工具条

2.2.命令的响应

2.2.1.Command插入

上述界面的建立,只是建立了一个空的界面,所有命令都是无法运行的。下面我们来对创建的命令建立响应。

下面来具体实现这个命令。这个命令的作用是显示一个对话框,上面有一个Label和Editor,Editor中显示“欢迎使用CAA!”。

Step1:将 PartDesignAddin设为当前的Project,选择“Insert”  “CATIA Resource”  “Command…”,插入一个名位TestCmd的Command:

Command的插入

2.2.2.Dialog的插入

将PartDesignAddin设为当前Project,选择“Insert”  “CATIA Resource”  “Dialog…”,并将其名字设为TestDialog。

Dialog的插入

然后在TestDialog.CATDlg中添加控件,这里的控件与一般VC程序差不多,不再详述。

按照示例文件,对TestCmd.cpp,TestCmd.h,TestDlg.cpp,TestDlg.h进行修改。

刷新,编译执行,结果如下:

运行结果下载本文

显示全文
专题