CAA框架概述和建立(CATIA二次开发)

上传人:20****03 文档编号:178994044 上传时间:2021-04-07 格式:DOC 页数:21 大小:1.02MB
返回 下载 相关 举报
CAA框架概述和建立(CATIA二次开发)_第1页
第1页 / 共21页
CAA框架概述和建立(CATIA二次开发)_第2页
第2页 / 共21页
CAA框架概述和建立(CATIA二次开发)_第3页
第3页 / 共21页
CAA框架概述和建立(CATIA二次开发)_第4页
第4页 / 共21页
CAA框架概述和建立(CATIA二次开发)_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《CAA框架概述和建立(CATIA二次开发)》由会员分享,可在线阅读,更多相关《CAA框架概述和建立(CATIA二次开发)(21页珍藏版)》请在金锄头文库上搜索。

1、CAA工程概述和建立1 CAA工程概述1.1. CAA工程的文件结构树在VC6.0中新建一个CAA工程,其文件结构树如下图所示:图1.1 文件树形结构 每个WorkSpace至少需要包含一个Framework。一个Framework包含了一个工程的所有需要的元素,也即是,一个Framework即可以是你的一个工程。Framework的体系如下图:图1.2 Framework的体系结构 可以将磁盘中的文件夹结构与上图对照。下面对Framework的几个文件夹及其文件作简单的一个介绍。l PublicInterfaces:公共接口,在这个文件夹中是类的声明,即.h头文件。这些类可以为整个Frame

2、work的各个模块共享,也可以被外部Framework使用。l PretectedInterfaces:系统自动生成的module.h头文件,供编译连接时使用。这些模块只能在本Framework使用。l IdentityCard.h:本文件定义了所有用于编译使用此Framework的预定义Framework。即,在开发过程中你使用了系统或者外部的API,你必须包含此API所在的头文件,module和Framework,其中Framework的预定义就在这个文件中进行。其格式如下: AddPrereqComponent(ApplicationFrame,Protected);/ Applicat

3、ionFrame即为所连接的Frameworkl Cnext文件夹:包含了Resources和Code两部分,其具体的作用下文会具体阐述。l Module文件夹:Module为组织程序代码的一个基本容器。其结构如下图:图1.3 Module的结构图其中:LocalInterfaces中是仅供本模块使用的头文件集合;Src是所有本模块的.cpp文件集合;Imakefile.mk文件是所有本模块所包含的头文件所在外部Module的定义。在上面提到的IdentityCard.h中定义的是API所在的Framework,而相应的Module即在此文件中定义。在LINK_WITH后面添加需要连接的Mod

4、ules。图1.4 .mk文件下面为VC中的文件视图:FrameworkModule图1.5 VC中的文件视图1.2. CATIA的一些基本概念l Workshop和Workbench:它们为CATIA的功能模块的组织。CATIA将其功能细分,每个人都可以选择自己的模块进入进行设计,简化了界面。 如下图:WorkshopWorkbench图1.6 CATIA的Workshop和Workbench1.3. CAA中的资源1.4. CAA学习安装了API和RADE后,系统提供了在线帮助,即CAA V5 Encyclopedia。在现阶段资料缺乏的情况下,这是最重要的学习途径。在线帮助的主页在目录:

5、CATIA安装路径B11CAADocDoconlineCAACenV5Default.htm下。它包含了几个部分的内容:技术文章(Tenichel Articles),实例(Use Case),接口参考(Quick Reference)。技术文章对系统构架作了详细说明,实例提供了大量代码,接口参考提供了CAA的所有API函数和类。在开发工程中可以使用上下文帮助(Context Help),选择检索的关键词后按CtrlF1,可以在系统API中检索这个关键词。注意,必须先定义CATIA路径才能进行此操作。定义方法见2.1.2。2 CAA工程的建立2.1.交互界面的建立2.1.1.工程(Worksp

6、ace)的建立Step1:在VC“File”菜单中选择“New CAA V5 Workspace”,出现对话框:选择或创建工程路径工程路径创建或选定在工程路径中选择或创建路径,选择“Tool Level”为“V5R11 T11”,点击Next。Step2:创建Framework选项。系统提供了4个可用选项,可以不选择或选择第二项。Framework预定义Step3:若上面选择了第二项,则显示下面对话框。输入Framework名字和选择其类型。Framework提供两种类型:应用和接口。功能也有三种:运用、测试和教学。类型选择Framework名称Framework类型选择Step4:确定Wor

7、kspace的创建:Workspace基本情况提示确定后VC文件视图(File View)如下:所建立Workspace的文件视图此时生成了一个带有一个Framework的Workspace。CAA的开发提供了两种模式:批处理模式(Batch Mode)和交互模式(Interactive Mode)。我们开发主要用到的是交互模式。在此模式下,可以创建两种交互界面:Workshop(Workbench)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令。下面分别进行示例。2.1.2.新建工程与CATIA系

8、统接口的连接 在建立工程后,必须先指定CATIA的安装路径,以搜索开发所需要的API资源。点击“CAAV5 Workspace” “Locate Prerequisite Workspace”,添加CATIA的安装路径。点击“Add”添加,如下图所示:CATIA安装路径预定义Workspace路径注意此路径为Intele_a文件夹的上层路径。在这里,如果要引用其他Workspace的接口(Interface),也可以在这里指定此Workspace的路径。2.1.3.Workshop或Workbench的创建下面的例子,我们在MechenicalDesign(机械设计)中插入一个名为“测试工作台

9、”的Workbench。具体步骤如下:Step1:创建一个New Module:选择“Project” “New Module”命令:New Module对话框输入Module名字后点击OK。Step2:进入确定界面,显示此Module信息:新建Module信息点击OK后,创建了一个新的Module。此时VC中的文件视图(FileView)如下:添加的头文件生成的Module创建新Module后文件视图Step3:右键点击Module1.m,将其设为当前工作Project(Set As Active Project)。选择“Insert” “CATIA Resource” “CATIA Pat

10、tern”,响应如下: 在Module中插入CATIA Pattern选择Workshop,点击OK。Step4:Workshop或者Workbench选择。选择创建Workbench,并输入其名称。接口浏览按钮选择相连WorkshopWorkbench名称WorkWorkbench定义Step5:点击接口浏览按钮,选择与Workbench所连接的Workshop。这里选择PRDWorkshop,即为Product空间。在新创建的Workbench中,会包含Product空间的一些基本标准命令,如插入产品等。如果选择Part空间,则会包含Part空间的一些基本命令。AssociatedWork

11、shop定义Step6:上述步骤结束后点击Next,进入参数设置界面,直接进入NEXT。代码参数选择点击Finish,设置完成,如下图。新创建Workbench基本信息OK后,生成名为TestWb.m的module及其头文件。头文件创建Workbench后文件视图此时编译,会有两个外部连接错误。(1) CATMeWorkbench.obj : error LNK2001: unresolved external symbol _declspec(dllimport) struct_GUIDIID_CATIPRDWorkshopConfiguration(_imp_?IID_CATIPRDWor

12、kshopConfiguration3U_GUIDA)这实际上是找不到外部连接,在.mk文件中未注明包含CATIPRDWorkshopConfiguration.h这一个头文件的Module,这一个Module名可查API。所以在.mk文件中加入:LINK_WITH = $(WIZARD_LINK_MODULES) CATPrsWksPRDWorkshop(2) mkCAAV5Licensing.obj : error LNK2001: unresolved external symbol _declspec(dllimport) void _cdecl AbortProcCAA(char c

13、onst *) (_imp_?AbortProcCAAYAXPBDZ)这实际是由于开始时候新建的Module1是一个空的Module,用以插入Workbench,但是完成插入后它实际上仍然是空的Module,所以发生编译错误。在文件夹中删除该Moudle文件夹,以及ProtectedInterfaces文件夹下的Module1.h头文件,刷新后重新编译,即可编译通过。下面是几个值得注意的地方:l 在文件:TestWb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为: TestWb.Title=”测试工作台”;l 在文件:TestWb.CATR

14、sc中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下:TestWb.Category=Infrastructure; Category可以为:Infrasturcture,MechanicalDesign,Shape,。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。l 在文件:MyFrame1.dico中,定义了此Workbench的连接库。好,一个完整的Workbench创建完毕。编译运行,结果如下:创建新Workbench后的CATIA运行界面.2.1.4.Addin的创建所谓Addin,是

15、在系统已有的Workbench中插入新的工具条或者菜单。下面的例子,我们来在PartDesign中插入一个工具条,名字为“工程管理”。Step1:新建一个Module,名为PartDesignAddin。Step2:将此Module设为当前活动Project,选择“Insert” “Component”命令。接口选择组件名称插入组件输入Component name,选择Implement的接口为:CATIPrtWksAddin。选择窗口如下:选择Interface注意Search workspace为你的CATIA安装路径,并将下面的单选框设为空。Step4:设置完成。插入组件信息相应的文件视图如下:文件视图Step4:此时建立了一个空的Addin。在MyFrame.dico文件中可以看到这个Addin的声明:NewAddinCATIPrtWksAddinlibPartDesignAddin但是,要创建一个工具条,我们还需要在这个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号