一类ACIS的CAD/CAE数据转换接口实现探索
摘要:
基于成熟的商业产品开发CAD/CAE数据转换接口是降低开发成本和周期的有效途径,基于ACIS及数据转换组件InterOp,开发了一类自主知识产权CAE软件高端数字样机(High End Digital Prototyping,HEDP)的CAD数据读写接口,并利用ACIS提供的接口实现了基本的几何修复功能。实验表明,利用算法导入的模型可在HEDP中顺利生成网格,导出的模型可为其他CAD系统正确读入。
关键词:数据交换;ACIS;边界表达;计算机辅助工程
复杂产品外形通常在计算机辅助设计(Computer AidedDesign,CAD)软件中建模,再导入到计算机辅助工程(Com.puter Aided Engineering,CAE)软件建立分析模型。因此研究CAD/CAE数据转换接口是研制CAE软件必须解决的技术问题。由于CAD软件以及CAD文件格式标准的多样性,针对每个CAD产品或CAD文件格式开发个性化的数据转换接口需要投入大量的人力和物力,降低研制成本和周期的有效途径是:基于成熟的商业产品开发统一的数据转换接口n ,将CAD数据来源的多样性交由商业产品去处理。Spatial公司(URL:http://Www.spatia1.com/cn)推出的数据转换组件In.terOp(3D Interoperability Translator)~,够对多种中间和原始3D格式的实体、曲面和线框数据进行透明、直接和间接交换,并为3D应用程序提供一个可扩展的转换平台,允许添加新的CAD格式,从而能够缩短开发时间,降低维护成本。
利用Spatial公司推出的三维造型引擎ACIS(三位创始人名字的首字母和单词Solid的首字母)和数据转换组件InterOp开发了一类自主知识产权CAE软件高端数字样机(High End Digital Prototyping,HEDP)的CAD数据读写接口,并利用ACIS提供的接口实现了基本的几何修复功能。实验表明,利用算法导入的模型可在HEDP中顺利生成网格,导出的模型可为其他CAD系统正确读入,这验证了算法的正确性。
1 ACIS和HEDP的拓扑模型和几何模型
1.1 ACIS的拓扑模型和几何模型
ACIS是一个基于边界表示(Boundary Representation)的造型引擎,通过拓扑结构与几何信息表示几何模型。具体实现时,拓扑结构按层次分解成以下这些对象(如图1):体(BODY)、块(LUMP)、壳(SHELL)、子壳(suBsHELL)、面(FACE)、环(LOOP)、线(WIRE)、有向边(COEDGE)、边(EDGE)和点(VERTEX)。面、有向边、边和点都有对应的几何类。ENTITY类是ACIS最基本的类,所有拓扑和几何类都派生自ENTITY类。
ACIS中最常用的曲线类是intcurve,它是封装参数形式插值曲线的抽象类 ;最常用的曲面类是spline,它用于表示样条曲面。算法使用了它们的3个子类:bs2 curve和bs3 curve,派生于intcurve,分别表征二维和三维B样条曲线;bs3 sur—face,派生于spline,用于处理开、闭以及周期有理和非有理曲面。
1.2 HEDP的拓扑模型和几何模型
为简化实现,当前版本的HEDP采用了一套简化的边界表示,其拓扑结构包括点(GBPoint)、曲线(GBCurve)、环(GBLoop)、面(GBFace)和区域(GBDomain)。需要解释的是环的作用。CAE分析中面对的总是有界的曲面,环被用来定义曲面的边界,这就是裁减曲面(trimmed surface)的概念。
图2给出了一个裁减曲面实例,并给出了有界曲面的网格生成结果。
HEDP中曲线采用Ferguson三次样条曲线,曲面采用Coons双三次样条曲面 。与现在流行的NURBS曲线曲面相比,交互式建模能力较弱,但相关几何计算高效稳定,已证明可满足多学科数值模拟的需求 。
2 数据交换接口
本质上,利用ACIS实现数据交换接口的核心在于实现ACIS与HEDP的几何与拓扑模型的相互映射,读入过程是从ACIS模型到HEDP模型的映射,写出过程是从HEDP模型到ACIS模型的映射。因为ACIS模型与HEDP模型里包含的信息并不完全对等,读入和写出并不是简单的互逆过程。
2.1 读入接口
读入过程包含两个大步骤,第一步是利用InterOp组件提供的文件读入接口读入外部文件,将其转换为ACIS的数据结构,存储在ENTITY LIST结构中;第二步则将存储在ENTI.TY LIST中的ACIS模型逐层映射成HEDP模型,主要关注第二步的映射过程。拓扑上,HEDP模型中的拓扑关系是ACIS模型中拓扑关系的一个子集,可直接从ACIS模型的拓扑关系中获取;几何上,可利用加密采样方法将ACIS模型中曲线曲面的数学表达转换为HEDP模型中曲线曲面的数学表达。
以读入IGES文件为例,其映射过程如下:
(1)针对每个FACE对象,获得其对应曲面加密采样后的型值点,利用Coons曲面构造理论构造HEDP曲面对象GB—Face。
(2)针对每个LOOP对象,获得组成LOOP对象的所有COEDGE对象,根据COEDGE对象对应的EDGE对象标号,构建HEDP中的GBLoop对象。设置GBLoop对象与GBFaee对象的关系。
(3)针对每个COEDGE对象,获取对应的EDGE对象,若与它对应的曲线尚未转换,获得该曲线的型值点,利用Fergu—son曲线构造理论构造HEDP曲线对象GBCurve。
需要注意的是,通过读接口获得的模型中可能存在一些问题,如:短边、小面、重复点等特征,甚至可能出现实体之间的缝隙、模型拓扑信息缺失等问题。这些问题或者使网格生成变得复杂,或者直接造成模型不正确。因此,读接口利用ACIS中的修复机制对这类问题进行了修复。其中用到的主要函数如下所示。
BODY ptr为操作的对象I/rc表示函数执行的结果是否正确,此处省略了函数执行出错时的处理rc=api_hh ink body_ _for_ healing(BODYA~tr)//修复过程的前处理阶段,删除BODY ptr中的短边、小面、重复点等rc=api_ hh preprocess(BODY otr)//对于能够用解析式表示的曲面和曲线,尽量用解析式简化表示rc=api_hh_ simplify_ auto(BODYA0tr)//对于因为曲面之间出现缝隙而导致拓扑信息不连续的情况憷合曲面使其尽可能地成为一个壳或二边流形体rc=api_hh_stitch_ auto(BODY ptr)rc=api_hh_geombuild_ auto(BODY ptr)//修复过程的后处理阶段,删除短边、小面、重复点等rc=api_ hhAaostprocess(BODYA~tr)//将所有未修复的曲线转换为容差曲线rc=api_hh make— tolerant(BODYA~tr)
2.2 写出接口
与读入过程类似,写出过程同样包含两大步骤,第一步将HEDP模型映射到ACIS模型,存储在ACIS的ENTITY LIST结构中;第二步利用InterOp组件的写出函数将ENTITY LIST中的数据写出到外部文件中,主要关注步骤一的映射过程。
拓扑上,因为HEDP模型是简化的边界表示模型,因此写出过程需要构建更多的拓扑信息;几何上,HEDP模型的Ferguson三次样条曲线和Coons双三次样条曲面分别是ACIS模型的B样条曲线和样条曲面的一种情形,可从数学上转换。
以写出IGES文件为例,其映射过程如下:
(1)对于每个GBFace对象(Coons曲面),将其转换为样条曲面,以转换后得到的点坐标为参数调用bs3一surface— intp,得到样条曲面bs3 surface,通过ACIS中几何类向拓扑转换的方法将其转换为拓扑类FACE。
(2)对于每个GBLoop对象中的GBCurve,构建ACIS模型中的有向边COEDGE与边EDGE,设置COEDGE与EDGE、COEDGE与COEDGE的关系。
(3)对于GBLoop对象,根据(2)中得到的COEDGE构建ACIS中对应的LOOP对象。
(4)设置LOOP对象与FACE对象的关系,得到的FACE包含从FACE往下完整的拓扑信息,将FACE放入ENTI.TY— LIST中。
需要构建的拓扑信息主要包括COEDGE与COEDGE的关系、COEDGE与EDGE的对应、COEDGE与LOOP的对应、LOOP与FACE的对应。构建这些拓扑信息主要在第(2)和第(3)步完成。
其中第(2)步具体实现过程如下:对于每个GBCurve对象,将其型值点作为参数调用bs3一curve—hermite— interp,得到三次样条曲线bs3 curve;根据bs3 curve构建有向边CO—EDGE,若该曲线GBCurve还没有对应的EDGE,则构建对应的EDGE;设置COEDGE与COEDGE的关系,包括前后关系与伙伴关系;设置COEDGE与EDGE的关系。
3 实例
通过读入接口将模型导入到HEDP中,得到初始模型如图3;此时得到的模型可能存在一些需要修复的问题,如交缠曲线问题;通过2.1节给出的修复机制可对模型进行修复。图4对比了修复前与修复后的曲线,图5则给出了对修复后的模型进行自适应曲面网格生成的结果。
图6说明了写出接口的有效性,它展示了某模型从HEDP中导出到某CAD软件后绘制的效果。
4 结语
对于已有的系统HEDP,给出了基于ACIS的几何数据读写接口的解决方案,并通过实验结果验证了读写接口算法。
几何数据读写接口不仅实现HEDP几何数据交换接口的模块化,避免了开发个性化的数据转换接口需要投入的大量人力和物力,同时也使HEDP能更好地与商业软件连通。陈述的