找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 36872|回复: 43
打印 上一主题 下一主题

一篇CATIA-CAA的论文

[复制链接]
跳转到指定楼层
1
发表于 2003-12-23 11:40:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一篇CATIA-CAA的论文

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-12-23 11:47:43 | 只看该作者
CAA及其应用
第一飞机设计研究院    刘俊堂
  
[摘要] 本文就Dassault Systemes的CAA(Component Application Architecture)产品作了比较全面而详尽的介绍,包括CAA产品的构架、软件包的构成和选购。最后对CAA的安装和应用也作了简要介绍。
[关键词] 面向对象程序设计、组件对象模型(COM)CAA  RADE  
  
一、  CAA 简介
Component Application Architecture (CAA) 组件应用架构,是Dassault Systemes产品扩展和客户进行二次开发的强有力的工具。以  为商标的Dassault Systemes已形成六大支柱产品,通过PPR HUB进行集成,对产品的生命周期进行全方位管理。
  
图1 Dassault Systemes产品结构逻辑关系
这六大产品包括:
CATIA V5:产品的数字化设计和数字样机技术。
ENOVIA:产品数据管理和协同工作环境。
DELMIA:数字化工厂,包括工艺设计、资源控制、工厂布置和生产模拟等。
另外还有SOLIDWORKS、SMARTTEAM也可进行数字化设计和管理,由用户情况决定。特别要提的是SPATIAL,专门进行CAA架构的开发和研究。
PPR HUB是Dassault Systemes 3D产品生命周期管理(Product Lifecycle Management ,PLM)解决方案的核心,确保CATIA、ENOVIA、DELMIA三者之间的整合。
Dassault Systemes的这套解决方案得利于开放式,可扩展的模块化开发架构 CAA,使得全球诸多开发商可以参与Dassault Systemes的研发。
对客户而言,CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于用户的使用和集成。
CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程序来完成的。
快速应用研发环境Rapid Application Development Environment(RADE)是一个可视化的集成开发环境,它提供完整的编程工具组。实际上RADE以Microsoft Visual Studio VC++为载体,在VC++环境中增加了CAA的开发工具。
API提供了操作各种对象的方法、工具和接口。
Dassault Systemes提供的CAA产品包括如下内容:
[$#61548]  CAA RADE 快速开发环境,基于Microsoft Visual Studio
[$#61548]  CAA CATIA V5 API, CATIA V5应用开发工具
[$#61548]  CAA DELMIA V5 API,DELMIA V5应用开发工具
[$#61548]  CAA ENOVIA LCA V5 API,ENOVIA LCA应用开发工具
[$#61548]  CAA ENOVIA PORTAL V5 API ,ENOVIA PORTAL V5应用开发工具
二、  CAA架构
在软件开发领域,使用面向对象的程序设计(OOP:Object-Oriented-Programming)已经成为软件开发设计的主流,它为软件的发展带来了很多好处:可复用性、抽象性、封装性等。软件专家把软件开发看作是对象的组合。
面向对象程序设计是一种程序设计方法,而建立在面向对象程序设计基础之上的组件对象模型(COM)和对象的连接和嵌入(OLE)技术,使程序设计更加容易且趋于标准化,使程序的使用更加简洁明了。Microsoft是COM和OLE 的先祖,基于此种技术的应用软件,如Microsoft Word,Execl,Access 得到广泛地使用和承认,而且许多应用软件也是基于这种技术,CAA就是基于这种技术的Windows应用软件。
  
   
图 1
  
CAA产品的架构可用图1表示。它全面反映了Dassault Systemes几大产品之间的关系。在CAA架构的支撑之下,Dassault Systemes系统可像搭积木一样建立起来,这种结构非常适宜于系统的壮大和发展。表1列出了在CATIA V5应用方面为Dassault Systemes开发应用程序的部分公司。
  
表1 CATIA V5软件合作伙伴
  
序号  合作伙伴  产品
1  CADDAM Systems company Inc.   Helix Integration/Environment V1R4 CAA V5 Based/Helix Direct Interface (HDI)CAA V5 Based
2  Dimensional Control Systems Inc.  3DCS Analyst CAA V5 Based/3DCS Designer CAA V5 Based
3  Trace Parts  Trace Parts CAA V5 Based
4  T-Systems ITS GmbH  VAMOS CAA V5 Based
5  Metalsoft Inc.  Fabriwin CAA V5 Based
6  Mechanical Dynamics Inc.  Dynamic Designer CAA V5 Based
7  LMS International  LMS Virtual.Lab Acoustics
LMS Virtual.Lab Noise and Vibration
LMS Virtual.Lab Durability
LMS Virtual.Lab Motion
8  ICEMCFD  ICEM CFD Hexa CAA V5 Based
9  AIKOKU ALPHA ENGINEERING CORP.  AIKOKU Post for 4 axis CAA V5 Based/ AIKOKU Post for 5 axis CAA V5 Based
10  CENIT AG Systemhaus  CUT4AXES CAA V5 Based
11  EADS Matra Datavision  EUCLID3 Connectivity CAA V5 Based
12  ZEH Software  ZEHSever CAA V5 Based
13  Infrastructure Interface  COM/VDAFS CAA V5 Based
  
在商业运作方面,与Dassault Systemes系统的其产品一样,CAA也被划分为软件包(Configuration)和模块(Product),用户在购置CAA时要根据需要选择合适的配置和产品。
目前CAA有五个配置软件包:
[$#61548]  CAA-Multi-workspace Application Building(简称ABC)
CAA应用的基本配置.
[$#61548]  CAA-C++ Extended Development(简称CDC)
提供与C++共存的的开发环境,即对C++开发环境的客户化,用户除可使用C++开发环境的所有工具外,还可使用CAA提供的独特的开发工具.可用于CATIA和ENOVIA的二次开发.
[$#61548]  CAA-C++ Base Development(简称CDV)
与CDC类似,但规模小,针对中小市场,可有限地运用于CATIA V5和ENOVIA LCA的客户化工作.
[$#61548]  CAA-Java Base Development(简称JDV)
运行于JAVA开发环境,适用于ENOVIA LCA客户端的定制.
[$#61548]  CAA-Legacy Data Integration Development Configuration(简称LDC)
提供数据接口工具,可使用户继承原有的数据.
CAA提供的产品(模块)包括:
[$#61548]  CAA-C++ API Documentation Generator(CDG).
[$#61548]  CAA-C++ Source Checker(CSC)
[$#61548]  CAA-CAA Data Model Customizer(DMC)
[$#61548]  CAA-Java UnitTest Manager(JUT)
[$#61548]  CAA-Multi-Worksoace Application Builder(MAB)
[$#61548]  CAA-Teamwork Release Manager(TRM)
[$#61548]  CAA-C++ Interactive Dashboard(CID)
[$#61548]  CAA-C++ Unit Test Manager(CUT)
[$#61548]  CAA-Java Interactive Dashboard(JID)
[$#61548]  CAA-Web Application Generator for Legacy Database(LWG)
[$#61548]  CAA-Source Code Manager(SCM)
  
图2
图3表示了CAA产品配置及其所包含的产品的矩阵图.这里对各个模块的功能不再作详尽的解释,如果读者需要可参考相关资料或访问关于CAA的网站.
三、  CAA 安装
CAA的安装包括两大部分,一是Dassault Systemes相关应用软件的安装,如CATIA V5、ENOVIA;二是CAA本身的安装。
在安装CAA以前,要确认Dassault Systemes应用和CAA版本的一致性,甚至要考虑二者补丁的一致性,否则将导致CAA无法使用。下面以Dassault Systemes的CATIA V5R9 GA版应用程序和CAA的CDC安装为例,简要介绍CAA的安装过程。
假设用户购买了CATIA V5R9和CAA CDC的使用权,并拥有相应的产品License。
按照下面的步骤安装CAA一般就可使用CAA了:
[$#61548]  安装CATIA V5R9 GA 版,如果以前已经安装过,可忽略这一步;
[$#61548]  安装CATIA V5R9 API(此产品属CAA范畴),API自动安装在CATIA所在的目录下,由于CAA RADE不识别带有空格的目录名,所以在先前一步安装CATIA时,一定要自定义安装位置,且目录名不能包含空格。
[$#61548]  Microsoft Visual Studio V6.0的安装;
[$#61548]  CAA RADE的安装,在CAA RADE 安装前,必须安装Microsoft Visual Studio V6.0,同时注意不要把CAA RADE安装在CATIA的安装目录下,安装路径不能有空格。
通过以上四步,完成了CAA的安装,但要使用CAA,必须进行RADE产品的认证和环境的设置。
[$#61548]  RADE产品的认证,通过命令启动RADE Tools Licensing:
C:>$RADE_INSTALLATION_PATH$/intel_a/code/bin/CATVBTLicenser.exe
        这里$RADE_INSTALLATION_PATH$为RADE的安装路径。
   
图2 RADE License 配置窗口
选择有效的License,确定即可。
[$#61548]  安装联机帮助,以便在RADE开发环境下提供CAA帮助。
C:>$RADE_INSTALLATION_PATH$/intel_a/code/bin/ CATVBTSetup.exe
        这里$RADE_INSTALLATION_PATH$为RADE的安装路径。
   
选择Documentation,指定帮助文档的路径(在CATIA安装目录下)。
   
四、  CAA 启动
下面简要介绍一下CAA RADE的使用流程。
[$#61548]  启动Microsoft Visual C++,选择Tools->Customize…,在弹出的菜单上选择
   
Add-ins and Macro Files,选中有关的插接件,关闭窗口,退出Microsoft Visual C++。这一步骤在首次使用CAA RADE必须进行。
   
[$#61548]  重新启动Microsoft Visual C++,出现CAA RADE的帮助窗口。在菜单栏上增加了两个新的菜单项,CAAV5 Workspace和Source Code Manager,这是CAA RADE添加的菜单项。
   
另外,展开其他菜单项,如Project,可以到看以 图标打头的菜单项,也属于CAA RADE的菜单项。到此为止,我们就可以使用CAA RADE来开发CATIA V5R9的用户客户化程序了。
                        
  
五、  CAA 应用范例
为了帮助用户熟悉CAA RADE的开发环境和工具,Dassault Systemes各个应用系统各自提供了许多应用范例,如CATIA V5R9提供了与开发CATIA 有关的范例,用户甚至可对范例稍加修改而变成自己的产品。在安装CATIA API时,应用范例被安装在CATIA目录下的CAADoc文件夹中。所有范例的文件夹以 .edu结尾。为了防止原始范例文档的破坏,可以把CAADoc文件夹的用例拷贝到其他地方(比如,把CAASystem.edu拷贝到E:\V5R9\UsercaseWorkspace),并以此作为目标进行编程练习。
[$#61548]  启动Microsoft Visual C++,选择File菜单下的Open CAA V5 Workspace命令。
   
a、 在Open with选项列表中选择Mkmk,Mkmk是CAA RADE提供的连编命令。
b、在Workspace Directory文本框中指定范例所在的文件夹,如本例的E:\V5R9\UsercaseWorkspace。CAA RADE中的Workspace是Project存在的地方。
c、在Toollevel选项列表中选择V5R9_T09。
点击OK,RADE进行关于本用例的初始化工作,显示相关窗口和信息。
   
  
因为在新建的Workspace中不存在项目Project,CAA RADE将为用户生成一个,并给以提示。
  
[$#61548]  选择模块
Project生成之后,CAA RADE要求选择项目所包含的模块,这里我们选择CAAsysCallBack.m.
   
    点击OK,RADE提示用户需连接的资源库,RADE称其为prerequisite workspace。这是可想而知的,因为范例及其用户编写的程序,要在Dassault Systemes应用系统环境下运行,必须把Dassault Systemes资源和用户的客户化程序整合在一起。
  
       
   点击OK,RADE显示范例程序的结构,包括类和文件。
         
        
[$#61548]  定义Prerequisite Workspace,在CAAV5 Workspace菜单中选择菜单项Locate Prerequisite Workspace…。
   
a、  选择Mode下Access prerequisites from their origin location。
b、  在Origin for prerequisite Frameworks下,把CATIA的资源添加为Prerequisite Workspace。方法是点击Add…。点击OK,RADE调用相关资源。
[$#61548]  程序的连编,选择Build菜单下的mkmk命令。在出现的Code Builder(mkmk)窗口指定相关选项,见下图。
     
   点击OK,RADE开始建立连编代码。
     
[$#61548]  建立Debug时运行程序,在CAAV5 Workspace菜单下,选择Create/Update Runtime View…,在Create RunTimeView中选择all.
                  
      点击OK,RADE弹出相关窗口。
       
     把CAASysCallback.m所在的Project设为激活的状态,Class View或File View右键CAASysCallback.m classes。
             
选择Set as Active Project。
       
[$#61548]  运行范例,指定范例程序可执行代码的地址。在Project菜单中选择Settings…,RADE弹出Project Settings窗口。在Debug下指定范例程序可执行代码的地址。点击OK。
        
    在Build菜单下,点击Execute CAASysCallBack.exe运行程序。
                           
   
六、  结论.
Component Application Architecture (CAA) 组件应用架构,是第三方产品集成和一般客户进行客户化、个性化设计的强有力的工具,利用CAA完全可以实现Dassault Systemes应用的深层次开发。但是,由于Dassault Systemes应用本身的复杂性和CAA所涉及的深层次内容,利用CAA进行二次开发必然具有一定的复杂性和难度,用户在熟练掌握Dassault Systemes应用系统的同时,还必须具备软件开发的知识和能力。
3
发表于 2003-12-23 14:08:27 | 只看该作者
darkhorse wrote:
一篇CATIA-CAA的论文

多谢!darkhorse兄!
4
发表于 2003-12-23 14:12:21 | 只看该作者
好东东!! 呵呵
  
偶最近正在写一个项目的CAA 实现论证报告
5
发表于 2003-12-23 15:15:52 | 只看该作者
dark兄有没有RADE阿
6
发表于 2003-12-25 17:46:20 | 只看该作者
谢谢黑马兄!
7
发表于 2004-1-18 08:44:00 | 只看该作者
so so
8
发表于 2004-1-27 01:12:17 | 只看该作者
这片文章其实是翻译了caa rade帮助上的2页
9
发表于 2004-2-20 23:32:33 | 只看该作者
翻译得挺好,现在CAA对Visual Studio.net的支持还不太完善,建议大家用rade时还是用VC++6.0
10
发表于 2004-2-21 17:00:56 | 只看该作者
感觉CAA挺强大的
  
尤其是提供的例子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-24 19:25 , Processed in 0.028345 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表