|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
CAA及其应用
1 S# l1 V+ A) K# e4 i* Q[摘要] 本文就Dassault Systemes的CAA(Component Application Architecture)产品作了比较全面而详尽的介绍,包括CAA产品的构架、软件包的构成和选购。最后对CAA的安装和应用也作了简要介绍。$ ?3 t6 Q5 T# ` D, H( w8 W
[关键词] 面向对象程序设计、组件对象模型(COM)CAA RADE
9 ^. h: S( S& x# S0 u一、 CAA 简介% Z3 u" L ?$ k/ l3 j: p
Component Application Architecture (CAA) 组件应用架构,是Dassault Systemes产品扩展和客户进行二次开发的强有力的工具。以 为商标的Dassault Systemes已形成六大支柱产品,通过PPR HUB进行集成,对产品的生命周期进行全方位管理。
6 u5 M' T B' X9 t' A这六大产品包括:6 C- [& u3 I6 w8 y1 W1 \- F8 I
CATIA V5:产品的数字化设计和数字样机技术。
2 x7 o" ], F* rENOVIA:产品数据管理和协同工作环境。
. g8 h! n; m& \8 i! C( QDELMIA:数字化工厂,包括工艺设计、资源控制、工厂布置和生产模拟等。
9 X( H2 Y& m0 F _3 y+ x另外还有SOLIDWORKS、SMARTTEAM也可进行数字化设计和管理,由用户情况决定。特别要提的是SPATIAL,专门进行CAA架构的开发和研究。
3 p+ s+ ~5 {& |. }! b" vPPR HUB是Dassault Systemes 3D产品生命周期管理(Product Lifecycle Management ,PLM)解决方案的核心,确保CATIA、ENOVIA、DELMIA三者之间的整合。
1 g3 r* F5 a, N5 b! nDassault Systemes的这套解决方案得利于开放式,可扩展的模块化开发架构 CAA,使得全球诸多开发商可以参与Dassault Systemes的研发。+ {1 ?% P/ F+ ]' k' Y) O
对客户而言,CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于用户的使用和集成。! [. X+ z% W {
CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程序来完成的。
* @4 l7 }- k( U9 N9 S' g快速应用研发环境Rapid Application Development Environment(RADE)是一个可视化的集成开发环境,它提供完整的编程工具组。实际上RADE以Microsoft Visual Studio VC++为载体,在VC++环境中增加了CAA的开发工具。
1 |% Z8 G; a4 o! ^API提供了操作各种对象的方法、工具和接口。 F# ]: g H( f8 H% t
Dassault Systemes提供的CAA产品包括如下内容:
6 K5 r( Q- ^9 S. t/ U CAA RADE 快速开发环境,基于Microsoft Visual Studio6 f3 X) f6 I% t/ N2 m# i: z' r* z
CAA CATIA V5 API, CATIA V5应用开发工具
# k9 x9 U6 B7 M( Q; l CAA ENOVIA LCA V5 API,ENOVIA LCA应用开发工具
1 `8 A% @# U, o7 g/ K CAA DELMIA V5 API,DELMIA V5应用开发工具/ Y2 Z4 k1 B" \9 e
CAA ENOVIA PORTAL V5 API ,ENOVIA PORTAL V5应用开发工具4 C( r7 h2 E% G3 q
CATIA是Computer Aided Tri-dimensional Interface Application的缩写,是世界第一大飞机制造公司法国达索公司的产品,是世界上主流的CAD/CAE/CAM一体化集成软件。CATIA开放了大部分接口,提供了强大的二次开发平台,用于满足用户对软件功能和性能的要求和软件本地化、用户化的要求。CATIA的二次开发接口主要是通过进程内和进程外两种方式与外部程序通信。CATIA软件与脚本运行在同一进程地址空间,即为进程内应用程序,比如宏(Macro)方式;CATIA与外部程序在不同进程地址空间运行为进程外应用程序。
& C$ t' P/ k' ?具体来说,CATIA主要有两种二次开发方法:使用宏对CATIA进行二次开发和使用组件应用架构(CAA-RADE)对CATIA进行二次开发。相比较而言,CAA方法具有强大的交互、集成功能,可以实现深层次和复杂系统的开发,有良好的开放性和稳定性,且CAA方法综合了C++本身丰富的库,具有强大的界面开发功能,本文采用CAA方法对CATIA进行开发。
2 C7 Y# b! L! J F) YCAA(Components Application Architecture)是组件应用架构技术,是达索系统产品扩展和客户进行二次开发的强有力工具,具有强大的集成、交互功能。如图2所示,在CAA中,组件(Compenent)是软件的基本组成部分,主要指可重用对象,代表了诸如点、线、面等对象;接口则代表实现组件的类型和行为,由一组对应于组件的操作集组成。应用程序通过接口与组件发生关系,获取一个指向接口的指针,调用接口所提供的方法,对组件进行相应的操作,完成程序所要求的功能。3 d6 N; h" K* w6 M$ j+ I, I
2 }, ?3 [* ~8 R( R7 F
CATIA V5 采用基于COM(Components Object Model,组件对象模型)技术的自动化提供二次开发接口。COM是CATIA V5中自动化接口的核心技术,可以实现不同的组件在二进制可执行代码级基础上相互通信,并提供对外访问接口。如图3所示, IUnknown接口是COM的基接口,COM的每一个接口都是由基接口IUnknown继承,CATBaseUnknown是CAA提供的CATIA V5所有接口的基类, AnyObject、Collection、Reference是其它对象的抽象基类。AnyObject是Application、Window、Document等对象的基类,Collection是Windows、Document、Products等对象的基类,Reference用于表示指向另一个对象的对象。CATIA V5软件本身的开发即是遵循面向对象(COM)的设计思想,构建了基于组件的体系结构。: i* P* C# B: ` Q8 [$ O
# ?6 Y/ P8 ~7 N9 o& k' x
在每个CAA中,至少有一个框架(framework),每个框架中至少有一个模块(module)。在每一个框架中包含一个IdentityCard.h文件,当此框架与其他框架进行联系时,通过此文件中的宏“AddPrereqComponent(framework,protected)”进行声明。
7 Z: l% N. l( n$ H6 z& D( Y通过上述方法对CATIA V5组件的操作,用户可以组装CATIA自身的CAA组件实现对CATIA的功能扩展,也可以通过开发CAA组件实现自定义功能,从而实现系统的维护、管理和扩展。
2 Z8 z7 [2 i0 M9 X4 _0 z/ D由于CATIA本身的CAE功能不够强大,只能进行简单的结构分析和模态等分析,不能满足成形分析等复杂的非线性分析,目前大部分成形性仿真分析都是在专业的有限元分析软件中进行,或者利用CATIA强大的二次开发功能,开发适用于具体问题的数值算法。本文综合考虑橡皮囊液压成形工艺的特点,选择非线性分析功能强大的ABAQUS软件对橡皮囊成形进行有限元分析。+ V: w+ W' S- R, p2 s
二、 CAA架构
' M2 s9 @7 ^6 c: B0 M在软件开发领域,使用面向对象的程序设计(OOP:Object-Oriented-Programming)已经成为软件开发设计的主流,它为软件的发展带来了很多好处:可复用性、抽象性、封装性等。软件专家把软件开发看作是对象的组合。0 g3 j( U: U" h* v- e
面向对象程序设计是一种程序设计方法,而建立在面向对象程序设计基础之上的组件对象模型(COM)和对象的连接和嵌入(OLE)技术,使程序设计更加容易且趋于标准化,使程序的使用更加简洁明了。Microsoft是COM和OLE 的先祖,基于此种技术的应用软件,如Microsoft Word,Execl,Access 得到广泛地使用和承认,而且许多应用软件也是基于这种技术,CAA就是基于这种技术的Windows应用软件。
# b) F# x- X9 I6 d R6 p. ~
6 ?, {' c+ Y6 S( P1 R J. V" ?0 W
CAA产品的架构可用图4表示。它全面反映了Dassault Systemes几大产品之间的关系。在CAA架构的支撑之下,Dassault Systemes系统可像搭积木一样建立起来,这种结构非常适宜于系统的壮大和发展。表1列出了在CATIA V5应用方面为Dassault Systemes开发应用程序的部分公司。
6 q' G3 {/ p3 v! P
( `+ i V) h/ d2 e0 E! Y& _序号 合作伙伴 产品2 @0 J. l# T/ T! v9 S
1 CADDAM Systems company Inc. Helix Integration/Environment V1R4 CAA V5 Based/Helix Direct Interface (HDI)CAA V5 Based
$ P4 ~$ H" U; l b3 O% P, W& F2 Dimensional Control Systems Inc. 3DCS Analyst CAA V5 Based/3DCS Designer CAA V5 Based% k' E U" X& o! d& G
3 Trace Parts Trace Parts CAA V5 Based2 C; N3 j1 m- r3 j/ W
4 T-Systems ITS GmbH VAMOS CAA V5 Based
, V* _- F& n7 u/ ?5 j$ Q0 g5 Metalsoft Inc. Fabriwin CAA V5 Based
: j/ p' N7 x9 ^0 q& W9 ]6 Mechanical Dynamics Inc. Dynamic Designer CAA V5 Based* F+ F( I$ i& p5 ]6 Y
7 LMS International LMS Virtual.Lab Acoustics( j) _( g% j4 @
LMS Virtual.Lab Noise and Vibration8 H% \6 n) l+ n {% y* V
LMS Virtual.Lab Durability: Y# b% r t& ` {# h0 Y. X( }
LMS Virtual.Lab Motion
8 g6 D) a! C! R8 ICEMCFD ICEM CFD Hexa CAA V5 Based
6 d) t% I! K! s1 A. m! d$ H9 AIKOKU ALPHA ENGINEERING CORP. AIKOKU Post for 4 axis CAA V5 Based/ AIKOKU Post for 5 axis CAA V5 Based+ w7 Q( l' S8 O s' s: t
10 CENIT AG Systemhaus CUT4AXES CAA V5 Based; c, p" {8 ?2 [+ m; S
11 EADS Matra Datavision EUCLID3 Connectivity CAA V5 Based2 O# r. b/ y, N; w
12 ZEH Software ZEHSever CAA V5 Based7 D# G8 y! N% s/ |' K
13 Infrastructure Interface COM/VDAFS CAA V5 Based0 u/ @. t* R: f$ R
在商业运作方面,与Dassault Systemes系统的其产品一样,CAA也被划分为软件包(Configuration)和模块(Product),用户在购置CAA时要根据需要选择合适的配置和产品。+ C' E' B; m/ R3 J& \
目前CAA有五个配置软件包:5 C# K# X! C+ H, n; u
CAA-Multi-workspace Application Building(简称ABC)9 i. M5 j( L! H. M2 {
CAA应用的基本配置.* K2 D& H$ K, l2 Q
CAA-C++ Extended Development(简称CDC)+ C# p% [) s; K
提供与C++共存的的开发环境,即对C++开发环境的客户化,用户除可使用C++开发环境的所有工具外,还可使用CAA提供的独特的开发工具.可用于CATIA和ENOVIA的二次开发.2 T3 b' \2 {# Y* ` d6 C, c8 c2 }
CAA-C++ Base Development(简称CDV)
; k+ ~, e- e [; c0 J与CDC类似,但规模小,针对中小市场,可有限地运用于CATIA V5和ENOVIA LCA的客户化工作.# b8 ~9 W9 m3 D& K4 e1 V h, z
CAA-Java Base Development(简称JDV)
6 V5 G" l+ Z+ T运行于JAVA开发环境,适用于ENOVIA LCA客户端的定制.
* y% ^" U% _2 n) a3 q CAA-Legacy Data Integration Development Configuration(简称LDC)* F+ s0 d! }6 r, {; S; t' ?
提供数据接口工具,可使用户继承原有的数据.) {: f+ ]. Y8 a* l5 y% Z* d- O9 {0 [
CAA提供的产品(模块)包括:: m$ T9 e0 ~7 b; i' B; A
CAA-C++ API Documentation Generator(CDG).
9 H' r9 @4 o3 A' s5 Q CAA-C++ Source Checker(CSC)
9 u. C2 a* V6 k: D) G CAA-CAA Data Model Customizer(DMC)4 S2 n! f/ T7 }: p
CAA-Java UnitTest Manager(JUT)
/ U% d9 v/ D) c3 y K CAA-Multi-Worksoace Application Builder(MAB)
) q4 j9 i! m' I. q( ` CAA-Teamwork Release Manager(TRM)- N) \0 C) K( `" }
CAA-C++ Interactive Dashboard(CID), f& L( ]# J4 v4 |, {) k9 k3 h
CAA-C++ Unit Test Manager(CUT)
7 _1 D# R# E2 \4 z q5 k CAA-Java Interactive Dashboard(JID)
* y5 X8 z6 m; F6 x9 w2 {0 m) _ CAA-Web Application Generator for Legacy Database(LWG)% v) {2 v! I m; _- B4 ~) Z {
CAA-Source Code Manager(SCM)1 [: U+ z9 s: I
三、 结论.7 @1 a S) e( C1 r" i& j- _' `% z8 ?8 i
Component Application Architecture (CAA) 组件应用架构,是第三方产品集成和一般客户进行客户化、个性化设计的强有力的工具,利用CAA完全可以实现Dassault Systemes应用的深层次开发。但是,由于Dassault Systemes应用本身的复杂性和CAA所涉及的深层次内容,利用CAA进行二次开发必然具有一定的复杂性和难度,用户在熟练掌握Dassault Systemes应用系统的同时,还必须具备软件开发的知识和能力。4 `3 ~& q3 Q4 P! [0 O1 i7 Z
! ]' W* ^5 R6 [7 l. @: G( z1 G( V1 w6 `, Q2 U: ?! F
8 _5 k$ Q$ c+ b |
|