CAA入门详细讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAA入门详细讲解
1.C AA工程的建立
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
Step4:确定Workspace 的创建:
Workspace基本情况提示
确定后VC文件视图(File View)如下:
所建立Workspace的文件视图
此时生成了一个带有一个Framework的Workspace。

CAA的开
发提供了两种模式:批处理模式(Batch Mode)和交互模式(Interactive Mode)。

我们开发主要用到的是交互模式。

在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。

前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。

后者指在已经存在的Workbench 中插入新的工具条和命令。

下面分别进行示例。

2.1.2.新建工程与CATIA系统接口的连接
在建立工程后,必须先指定CA TIA的安装路径,以搜索开发所需要的API资源。

点击“CAA V5 Workspace ”“Locate Prerequisite Workspace…”,添加CATIA的安装路径。

点击“Add”添加,如下图所示:
CATIA安装路径
预定义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 中插入CA TIA Pattern
选择Workshop ,点击OK 。

Step4:Workshop 或者Workbench 选择。

选择创建Workbench ,并输入其名称。

Workbench 定义
Step5:点击接口浏览按钮,选择与Workbench 所连接的Workshop 。

这里选择PRDWorkshop ,即为Product 空间。

在新创建的Workbench 中,会包含Product 空间的一些基本标准命令,如插入产品等。

如果选择Part 空间,则会包含Part 空间的一些基本命令。

选择相连Workshop
AssociatedWorkshop定义
Step6:上述步骤结束后点击Next,进入参数设置界面,直接进入NEXT。

代码参数选择
点击Finish,设置完成,如下图。

新创建Workbench基本信息OK后,生成名为TestWb.m的module及其头文件。

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

编译对话框
Step8:点击T ools->Open Runtime Window ,打开命令框。

输入“cnext”打开CA TIA R16。

在CATIA中找到新建的工作台:
下面是几个值得注意的地方:
●在文件:MyFrame1/CNext/ msgcatalog /TestWb.CA TNIS中,可以定义此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后的CA TIA运行界面….
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",Prote cted);
AddPrereqComponent("InfInterfaces",Protected);
AddPrereqComponent("ProductStructureInterfaces",Protect ed);
AddPrereqComponent("AutomationInterfaces",Protected);
AddPrereqComponent("KnowledgeInterfaces",Protected);
AddPrereqComponent("PartInterfaces",Protected);
AddPrereqComponent("DraftingInterfaces",Protected);
AddPrereqComponent("SketcherInterfaces",Protected);
AddPrereqComponent("GSMInterfaces",Protected);
AddPrereqComponent("MechanicalCommands",Protected);
AddPrereqComponent("ComponentsCatalogsInterfaces",Pr otected);
(此工程不需这么多,但这些皆为常用接口,可备用)
2.1.5.工具条、菜单的建立和显示
主要是NewAccess, SetAccessCommand, SetAccessChild, SetAccessNext等几个命令的使用。

其具体含义可以参看API文档的说明。

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

编译运行,在PartDesign模块中如下:
创建菜单工具条
2.2.命令的响应
mand插入
上述界面的建立,只是建立了一个空的界面,所有命令都是无法运行的。

下面我们来对创建的命令建立响应。

下面来具体实现这个命令。

这个命令的作用是显示一个对话框,上面有一个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。

相关文档
最新文档