CAA基础——精选推荐

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

CAA基础
CAA基础应⽤
⼀、学习CAA的基础
1、熟悉CATIA的基本操作
2、熟悉⾯向对象的语⾔(C++)、以及COM(Component Object Model 组件对象模型)(《COM原理与应⽤》)的组件思想⼆、CAA的基础知识
1、CAA的安装
●注意安装顺序
●注意在安装CATIA时安装路径不能有空格
2、CAA中C++语⾔的命名规则
百科全书->Guide相关介绍
例如:
Prefix Means Example
p pointer CATBaseUnknown *pTarget;
pp pointer to pointer void **ppTarget;
pi pointer to interface CATISpecObject *piTargetFeature;
sp smart pointer || handler CATISpecObject_var spTargetFeature;
a array char *aPath;
3、开发环境(VC 6.0)的相关命令
百科全书->Tools相关介绍
例如1:Customizing Microsoft Developer Studio-How to access CAA V5 tools from Microsoft Developer Studio,定制界⾯如下:
例如2:Dialog Builder features
4、CAA⼯程的⽂件结构树
在VC6.0中新建⼀个CAA⼯程,其⽂件结构树如下图所⽰:
图1.1 ⽂件树形结构
●Runtime View(⼀系列的⽂件)
When you write a CAA V5 application, your application needs external resources - dictionaries, message files, graphic resources and the like. Those resources are delivered in data modules but scattered among a lot of frameworks (either yours frameworks or rerequisite frameworks), the first thing to do before running a program is to gather resources into a common directory that we call the Runtime View.
To create this Runtime View :
In Microsoft Developer Studio, open menu "CAAV5 Workspace" and select "Create/Update Runtime View...".
In /doc/e1f61c8771fe910ef12df8a1.html , open menu "CAAV5 Workspace" and select "Create/Update Runtime View...". In Websphere Studio Application Developer, open menu "CAA Project" and select "Create/Update Runtime View...".
"Copy file if...": this check box allows you to reduce the amount of data to copy from the Buildtime to the Runtime View.
"Remove destination...": this allows you to clean up the Runtime View before to
copy files.
"Framework types...": depending where you work some kinds of frameworks may be not meaningful.
"Other Options": for advanced users (see mkCreateRuntimeView command for other options).
●每个WorkSpace⾄少需要包含⼀个Framework。

⼀个Framework包含了⼀个⼯程的所有需要的元素,也即是,⼀个Framework即可以是你的⼀个⼯程。

Framework的体系如下图:
图1.2 Framework的体系结构
可以将磁盘中的⽂件夹结构与上图对照。

下⾯对Framework的⼏个⽂件夹及其⽂件作简单的⼀个介绍。

PublicInterfaces:公共接⼝,在这个⽂件夹中是类的声明,即.h头⽂件。

这些类可以为整个Framework的各个模块共享,也可以被外部Framework使⽤。

●PretectedInterfaces:系统⾃动⽣成的module.h头⽂件,供编译连接时使⽤。

这些模
块只能在本Framework使⽤。

●IdentityCard.h:本⽂件定义了所有⽤于编译使⽤此Framework的预定义Framework。

即,在开发过程中你使⽤了系统或者外部的API,你必须包含此API所在的头⽂件,module和Framework,其中Framework的预定义就在这个⽂件中进⾏。

其格式如下:AddPrereqComponent("ApplicationFrame",Protected);
// ApplicationFrame即为所连接的Framework
●Cnext⽂件夹:包含了Resources和Code两部分,其具体的作⽤下⽂会具体阐述。

●Module⽂件夹:Module为组织程序代码的⼀个基本容器。

其结构如下图:
图1.3 Module的结构图
其中:LocalInterfaces中是仅供本模块使⽤的头⽂件集合;Src是所有本模块的.cpp⽂件集合;Imakefile.mk⽂件是所有本模块所包含的头⽂件所在外部Module的定义。

在上⾯提到的IdentityCard.h中定义的是API所在的Framework,⽽相应的Module即在此⽂件中定义。

在LINK_WITH后⾯添加需要连接的Modules。

图1.4 .mk⽂件
下⾯为VC中的⽂件视图:
图1.5 VC 中的⽂件视图
5、怎么来创建⼀个简单的应⽤程序?(在Assembly Design 模块中插⼊⼀个⼯具条) Step1:在VC “File ”菜单中选择“New CAA V5 Workspace …”,出现对话框:
在⼯程路径中选择或创建路径,选择“Tool Level ”为“V5R11 T13”,点击Next 。

Step2:创建Framework 选项。

系统提供了4个可⽤选项,可以不选择或选择第⼆项。

Module
Framework
Framework 预定义
Step3:若上⾯选择了第⼆项,则显⽰下⾯对话框。

输⼊Framework 名字和选择其类型。

Framework 提供两种类型:应⽤和接⼝。

功能也有三种:运⽤、测试和教学。

Framework 类型选择
Step4:确定Workspace 的创建:
Workspace基本情况提⽰
确定后VC⽂件视图(File View)如下:
所建⽴Workspace的⽂件视图
此时⽣成了⼀个带有⼀个Framework的Workspace。

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

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

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

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

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

Step5:新建⼯程与CATIA 系统接⼝的连接
在建⽴⼯程后,必须先指定CA TIA 的安装路径,以搜索开发所需要的API 资源。

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

点击“Add ”添加,如下图所⽰:
预定义Workspace 路径
注意此路径为Intel_a ⽂件夹的上层路径。

在这⾥,如果要引⽤其他Workspace 的接⼝(Interface ),也可以在这⾥指定此Workspace 的路径。

确定后显⽰如下的界⾯:显⽰的是你当前所连接的系统Framework
CATIA 安装路径
Addin的创建
所谓Addin,是在系统已有的Workbench中插⼊新的⼯具条或者菜单。

下⾯介绍如何在Assembly Design模块中插⼊⼀个⼯具条(模具设计向导):
Step1:新建⼀个Module,名为ModleGuideDesign。

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

组件名称
在ModleGuideDesign.cpp中可以找到⼀下的代码// Tie the implementation to its interface
// ---------------------------------------
#include "TIE_CATIPRDWorkshopAddin.h"
TIE_CATIPRDWorkshopAddin( ModleDesign);
Step3:此时建⽴了⼀个空的Addin。

在Framework.dico⽂件中可以看到这个Addin的声明:
ModleDesign C A TIPRDWorkshopAddin libModleGuideDesign
但是,要创建⼀个⼯具条,我们还需要在这个类:NewAddin中添加⼀些函数。

MacDeclareHeader(ModleguideDesignHeader);//声明宏命令void ModleGuideDesign::CreateCommands()//
{
new ModleguideDesignHeader("模具设计向导","DesignCmd","ModleguideDesignCmd",(void *)NULL);
}
参数说明:参数1,新建命令名称;参数2,命令代码所在的Module名;参数3,相应命令的类(Command)名;参数4,Default。

CATCmdContainer * ModleGuideDesign::CreateToolbars()
{
NewAccess(CATCmdContainer,pModleguideDesignTlb,ModleguideDesignTlb);
NewAccess(CATCmdStarter,pModleguideDesignCmd,ModleguideDesignCmd);
SetAccessCommand(pModleguideDesignCmd,"模具设计向导");
SetAccessChild(pModleguideDesignTlb,pModleguideDesignCmd);
AddToolbarView(pModleguideDesignTlb,1,Right);
return pModleguideDesignTlb;
}
注意:CmdHeader宏定义的名称与上⽂的中所定义的相同。

这个命令是连接界⾯命令和实现代码的桥梁。

添加的⽅法与VC相同
编译问题
1、调⽤接⼝相应的头⽂件
2、调⽤接⼝相应的Framework
3、调⽤接⼝相应的Module名
例如:此时编译,发⽣⼏个连接错误。

主要是CATCmdContainer类型及Newaccess的定义的头⽂件及其Module的添加。

在.h⽂件中加上:#include "CATCmdContainer.h"
在.cpp中加⼊:#include "CATCmdContainer.h"
#include "CATCreateWorkshop.h"
在.mk⽂件中加⼊:WIZARD_LINK_MODULES = \
JS0FM JS0GROUP PrtWorkshop MechanicalModelerUIUUID \
CATApplicationFrame
# END WIZARD EDITION ZONE
LINK_WITH = $(WIZARD_LINK_MODULES) \
CATConstraintModelerUI
在Identitycard.h中加⼊:
AddPrereqComponent("ConstraintModelerUI",Protected);
还可以创建Workshop Workbench 等。

⽅法雷同
三、怎么来读CAA百科全书?
1、主界⾯介绍
知识划分:每⼀个模块都划分为以下3部分
Technical Articles :本模块相应的基础知识介绍
Use Cases:本模块涉及的典型实例的介绍(重点)
Quick Reference:相关的接⼝
基础知识模块:(必看)
Tools :介绍开发⼯具的使⽤
Guides:介绍CAA环境中语⾔的命名规则等
User Interface:介绍了CA TIA的基本框架,以及如何使⽤CAA调⽤以及搭建⾃⼰的应⽤程序框架
中间层模块:介绍⼀些重要的CA TIA中⼀些重要的概念:Document Feature Geometry Topology Mathemetics Document:介绍如何创建、访问、保存⼀个⽂档
Feature:介绍⼀些对特征操作的相关知识
Geometry 、Topology 、Mathemetics:介绍与⼏何拓朴相关的操作,属于⾼级功能
最⾼层(⾼级接⼝):(⽤到那些模块可以在这⾥查询)
CA TIA中与个模块相关的知识介绍,例如:Part Design,这事我们开发的主要⼯具
查询⼯具的使⽤:CAA提供了两个查询⼯具
1、CAA V5 Encyclopedia-> Search :可能出现的问题:需要装JAVA虚拟机
2、在开发环境中的Help->Help CAA V5。

相关文档
最新文档