维普资讯 http://www.cqvip.com
2006年l2月 农机化研究 第l2期 基于特征数据交换的异构CA D协同设计 奚妍,彭维,张三元,叶修梓 (浙江大学计算机科学与技术学院CAD&CG国家重点实验室,杭州 310027) 摘 要:产品数据交换技术是异构CAD实现协同设计的重要基础。为此,介绍了一种新的基于特征的CAD 数据交换方法,以定义造型功能映射集合为基础实现数据交换,可保存高层设计意图;提出了基于特征数 据交换的异构CAD协同设计系统。研究了特征数据交换、数据共享、协同设计Agent等关键技术;给出了 实现该技术的方法。 关键词:计算机应用;异构CAD;协同设计;特征造型;数据交换;Agent 中图分类号:TP391.72 文献标识码:A 文章编号:1003—188X(2006)12--0188--04 0 引言 协同设计是完成各种大规模任务的一种重要和 有效的工作方式。随着经济全球化进程的加速,许 协同设计环境的框架,是对于异构协同设计的有效 探索。 1 异构协同设计的系统框架 传统的CAD软件工具都是面向单机单用户开发 的,彼此,如何在分布式环境中实现异构工具 之间的集成是协同设计必须首先解决的问题。为此, 可以通过增加CAD系统与外部世界的通信接口(也 就是封装)来解决这个问题。本系统采用基于Agent 多复杂产品的设计需要由分布在不同地点的产品设 计人员和其他相关人员协同完成。协同设计的研究 在经历了将网络通信、分布式计算、计算机支持的 协同:【作、Web技术等与现有CAD技术进行简单结 合的过程后,近年来开始转向对深层次与核心技术 问题的研究。大体可分为CAD工具的分布集成、异 步协同设计、同步协同设计与协同装配设计等n 。 目前,大多数的研究都集中在同构CAD系统的异地 同步协同设计上,异构CAD协同设计一直没有取得 进展。 的封装。Agent是一种抽象的功能实体,它具有通 信接口,可以与其它Agent交换信息,使用Agent 的通信与管理机制实现CAD工具之间的通信,以达 到协同工作的目的 。 在异构协同设计系统中(如图l所示),协作者 即用户。作为协同设计过程中的核心,他们根据需 异构CAD协同设计是多种异构CAD技术与计算 机支持的协同工作相结合,使多个设计专家在不同 CAD系统上进行合作实现设计目标 。其难点在于 如何在异构CAD之间传递设计意图及设计模型。其 关键在于如何将一个CAD系统的设计信息快速与完 整地转换并传输给不同的CAD系统。传统的异构CAD 主要依靠IGES和STEP等标准进行数据交换。交换 要,对不同的CAD系统进行操作,绘制模型,提取 出的一些特征信息映射为一定的功能模型后,将结 果由CAD开发接口传递给代理程序。客户端的代理 Agent将功能模型传给服务器,由服务器的代理 Agent反映给网络上其他协同用户,并保持数据的 一致性。同样。接收到功能模型的客户通过一系列 层次低,数据量大,又丢失高层设计意图,不利于 协同设计。本文提出了一种基于特征数据交换方法 和功能模型概念的异构CAD协同设计思想。在使用 保留高层设计意图的基于特征数据交换方法的基础 上,以功能模型为交流单元,使用Agent的通信与 管理机制实现CAD工具之间的通信,建立异构CAD 坟疆日期:2006-02-16 基金项目:国家自然科学基金(60333010);国家科学与技术软 件专项(2003AA4Z3120) 作者简介:翼妍(1981一),女。安徽芜湖人。硕士研究生。 (E-mail)xiyan一8160126.com。 映射。用自己的CAD系统重建模型,达到异构CAD 协同设计的目的。 鼍务嚣 用户l CAD系统A 用户2 CAD系统B 敦据中心 , ——、 ,. .一一 功能模型 用户3 CAD系统C ^n ^ …” !垒!宝E垒宝! 圈1协同CAD设计系统结构圈 ..188.. 维普资讯 http://www.cqvip.com
2006年12月 农机化研究 第12期 系统中建立两种Agent:一是模型访问代理, 简称MAA(Mode1 Access Agent),每个协作者的计 要体现在功能的不一致和实现的不一致。功能的不 一致是指不同CAD系统提供的造型功能不一致;实 算机上都存在一个MAA,负责发送和接收数据,并 进行同步处理;二是协同控制代理,简称CCA (Collaboratio11 Contro1 Agent),在协同环境中 现的不一致是指不同的CAD系统提供了相同的造型 功能,但实现:疗法不同。为解决这一问题,笔者提 出基于特征的功能映射模式。这种新型的模式是在 产品的特征模型层次上进行基于特征的数据提取, 某些转换失败或质量不达标的特征在产品的边界模 建立一个CCA,它所在的计算机成为服务器,CCA 负责这个协同过程中的冲突仲裁和其它策略管理。 MAA接收到信息后,对其进行相应的处理,并 传递给接口程序实现信息的读入。模型数据最终又 通过CAD软件显:示在屏幕上,从而给协作者以直观 的显示。 型层上采用几何数据交换方法对其进行交换。若干 特征构成功能模型,以功能模型为交流单位,在各 个异构CAD系统之间传递。 首先定义造型功能映射集合,包含现有CAD系 统支持的造型功能全集,这样各个CAD系统的造型 功能就是这个:全集的子集。由于一种功能可能包含 多种实现方法..所以造型功能和实现方法不是一对 一异构协同系统模型的存储方式采用客户/月艮务 器混合式的结构,客户端是不同的CAD系统,用户 可以根据需要保:存自己的设计模型,:异构CAD协同 设计所需要的模型则通过一系列操作映射为功能模 关系,笔者将它们分开。例如,对于拉伸,它可 型,通过服务器再传递给各协作用户。因此,服务 器上保留的是共:享的功能模型信息。 以是系统提供的体素(如长方体),可以是给定高度 拉伸,也可以 黾拉伸到某个截面端点。这是一种功 能的不同实现:疗式,得到的是相同的造型结果。如 2基于特征的功能映射 产品数据交换技术是异构CAD系统协同设计的 果交换的特征造型功能在两个系统都能支持,而且 实现方法一致..就调用同样的实现方法来实现;如 果参与数据交换的两个CAD系统提供了不同的功 能,则在两个系统之间进行特征映射。如果两个CAD 系统无法实现同一种特征操作,也不能特征映射和 重要基础。异构CAD之间由于产品模型的实现存在 不一致,因此不能用简单或统一的命令得到相同结 果。如果光是边界(如IGES和STEP…)或网格(如 STL)等低层语义交流,数据量大,不支持参数化特 征建模,又丢失高层设计意图。为此,笔者提出一 种新的思想,基于特征的产品数据分层抽象与共享, 即支持多层次的产品数据交换,将功能模型由本地 用户按一定的规则发送给服务器,服务器进行协同 处理,并转发给其他用户。 产品数据模型从高到低可以抽象成4层,即功 能模型层、特征模型层、边界模型层和网格模型层, 如图2表示。不I同层次的模型之间可以进行转化。 数据共享的层次越高,所要交换的数据量就越少, 转换,那么只能降低数据共享的层次,在边界模型 层进行数据交换。 通过为不同CAD系统开发数据转换接口实现模 型交流,每个CAD工具包含两种插件,保证自己的 模型转换成为功能模型,及将其他的功能模型重建 为自己的CAD模型。 3异构协同设计中的Agent :异构协同设计中,协作者和服务器之间是通过 通信Agent之间的消息通信来实现的。每个Agent 设计意图也越明显。参与协同设计的CAD系统可利 用这些数据在本:电机器上重建模型。 功能模型 一一共享 都具有一定的属性,都能通过某些方法和事件来实 现一定的功能。客户端将特征信息封装,通过通信 Agent发送给服务器,服务器通信Agent接收所有 客户端发送过来的消息并进行处理,再发送给合适 的客户端。 鳇 盟 l 特征模型 一一共享 姿墨 I童 l 边界模型 一一共享 该结构中的Agent使用间接式通信方式,协同 工具间通过通信Agent使用基于Socket机制的 KQML(knowledge Query and Manipu1ate Language) 一一共享 塑墼耋垂 网格模型 圈2产品模型的分层表示 语言进行信息交互。KQML是一种描述性语言,定义 了’Agent间传递的消息格式和消息处理协议。通过 提供标准的通信原语,使得Agent间可以交流和共 享知识 。So—zket(套接字)技术则是实现基于 现在主流CAD系统都提供基于约束的参数化特 征造型,但是缺乏对特征操作的形式化定义,造成 异构CAD特征造型结果不一致问题。这种不一致主 .Internet的TCP通信,并保证TCP连接可靠地建立、 189. 维普资讯 http://www.cqvip.com
2006年12月 农机化研究 C1ass CNDExtrudeFeature{ 第12期 友好地终止,以及在终止发生之前的所有数据都会 被可靠地传递。 //拉伸特征类定义 采用Agent作为系统的组成单元,这种协同环 境的构造方法可以很好地满足系统分布要求。如前 面系统功能描述的,整个网络中存在一个服务器, 也就是存在一个CCA的Agent。该Agent负责对整 个项目的活动进行协调,实现过程规划和控制、冲 突协调和资源组织。每台计算机都建立MAA,它是 协作者,是异构CAD之间联系的桥梁。CAD是主进 程,负责模型的设计,MAA接收网络用户的各 type ExtrudeType;//拉伸方式。 CNDRefPIane mRefP1ane; //参考面。 Extrude—_CNDSketch m_Sketch; —//拉伸草图。 CNDRefDirection mRefDirection1; //拉伸方向1。(草图所在平面的正法矢方向) Endconditionextrude EndCondition1; ——//在方向1上的拉伸终止条件。 Doub1e m_dDeep1; //沿拉伸方向l上 种信息,在自己的进程里处理各种协同的消息,并 的拉伸距离。(草图所在平面的负法矢方向) 在适当的时候通知主进程,传递模型。这样的结构 CNDRefDirection m_RefDirection2;//拉伸方向2。 使用户可以进行自己的操作,又可以及时与协作者 Endcondition——extrude EndCondition2;//在方向 联系。 2上的拉伸终止条件 4 应用实例 Double m—dDeep2; //沿拉伸方向2上的拉伸距离。 本文应用特征数据交换方式,通过Agent的消 ) 息通信,在Inventor8.0和So1idWorkS 2004这两 不同的CAD可以根据其特征信息调用API重建 种CAD工具间进行协同设计。 模型。 Inventor API和SolidWorks API都是基于组 在协同设计过程中。协同用户间的沟通交流是 件对象模型(COM),这种接口为大多数流行语言所 通过各Agent间的消息通信来完成的。笔者使用了 支持。它提供所有语言一致的编程接口,且可在不 成熟的软件模块JATLite ’来进行开发。JATLite是 同版本间保持代码的兼容性。Inventor API和 分层的Agent模板库。提供Java源代码,它为Agent 8olidWorks API均包含产品的大部分功能。而且是 的开发提供了高起点平台。消息是协同设计系统的 读写访问。插件是一种特殊类型的程序,在系统启 基本通信单元。Agent之间是使用KQML语言来通信 动时可以自动加载,可以创建新的命令,可以访问 的,协同工具间使用原语进行交互,为保证规范性, 和使用API。 使用XML来表示原语。 在两个不同的CAD系统上协同设计,首先定义 下面开始Inventor与So1idWorks之间的协同 两系统的造型功能映射集合。在造型功能映射集合 工作。通过一系列不同工具完成的拉伸、打孔、旋 中,造型功能和实现方法是一对多的关系。两个系 转及倒角等操作,一个简单的零件协同设计完成, 统如果没有直接对应的方法。可以通过其他途径来 如图3所示。 实现。比如Solidworks中的up to Vertex,可以 利用Inventor中的DistanceExtent方法来实现。 通过上述处理,就建立起两系统间的造型功能映射 集合。 异构CAD系统之间的协同以功能模型作为交流 单位,包含若干特征信息。在Inventor中,访问浏 览器中的特征树不能直接得到特征历史信息,如果 需要可以激活零件,并在零件的特征数组中得到特 征数据。特征数组中各特征项的排列刚好和特征树 的排列顺序是相同的,由此可以同时得到历史信息。 对于不同于Inventor的系统。也可以通过特征抑制 和解除得到特征历史信息。大部分CAD系统都提供 了特征抑制和解除抑制功能。信息的记录是采用面 向对象的方法进行储存,面向对象结构对每一特征 都提供了详细的记录。比如拉伸特征的定义: 曼垡li∞●■融一■日 曼= 竺!:唑 .19O- 维普资讯 http://www.cqvip.com
2006年l2月 农机化研究 第l2期 不过。作为一种新的异构协同设计的思路,它在特 征、功能、历史造型等高层语义上实现共享,能很 好地传达设计意图。值得深入去研究。 参考文献: [1] 高曙明,何发智.分布式协同设计技术综述[J].计 算机辅助设计与图形学学报,2004(2):2一l0. [2]ttuang GeoT‘ge Q.Web—based Support for Col la— borative Product Design Review[J].Computers in Industry,2002,48:71—88. i竺I ●●。 !!!苎 {菌!!苎竺! I 一 [3] 张 程,王 云莉,肖田元.分布式实时协同设计环境 圈 3 Inventor与Solidworks协同设计出的零件 的研究[J].计算机工程与应用,2002(14):61—63. 5 结束语 [4]ISO 10303—22,Industrial Automation Systems and Integr’ati0n——Pr0duct Data Representation 异构CAD系统的协同设计作为协同设计的一个 and Exchange--Part 22,Impl ementat i on Method: 重要方面,一直没有突破性进展,因而有广阔的应 Standard Data Access interface Specificati— 用背景和研究价值。本文利用基于特征数据交换的 on[S]. 思想。实现Inventor与Solidworks系统之间的协 [5] 白丽娜,唐刚斗.基于多Agent的协同工作环境的 同设计。从效果上看。这种方法具备可行性。但系 实现[J].系统工程与电子技术,2003(12):85—88. 统还需逐步完善,它需要为每个CAD系统编写插件; [6] 常智勇。莫蓉,杨海成.基于Agent的网络协同设 另外还有质量分析等工作,有待进一步加强工作。 计系统[J],计算机工程与设计,2005(1):2卜23. HeterOgeneOus COnabOratiVe Design of Isomeric CAD Based on Feature Data Exchange XI Yan,PENG Wei,ZHANG San.yuan,YE Xiu.zi (State Key Laboratory of CAD&C G’College of Computer Science and Technology,Zhejiang University, Hangzhou 3 l 0027,.China) Abstract:The product exchange data technology is an important base for a heterogeneous collaborative design. A new feature-based CAD data exchange technology is pr—esented,which is based on mapping of modeling function set.This approach ensures efficient data exchange among heterogeneous CAD systems,and high-level design intent of designer is reserved.This paper put forwards a collaborative design system which based on the feature-based CAD data exchange.Some key technologies,modeling sharing,collaborative design agent are researched.Lastly,.collaborative design-implementing is proposed. Key words:computer application;isomeric CAD;collaborated design;feature-based modeling;data exchange; Agent 191