当前位置: 主页 > 快速通道 > 工业设计 > CAD/CAM >

CAD数据交换与互操作性的研究

2015-12-10 13:48 [CAD/CAM] 来源于:互联网
导读:本文以STEP标准为例,阐述了基于标准模型的CAD交换技术的架构和实际交换过程中遇到的数据丢失问题。

  制造业的全球化趋势,提升了产品开发团队之间进行更有效的协作与沟通的需求,尤其是产品数据共享的能力亟需提高。在不同OEM(original equipment manufacturer,原始设备制造商),供应商,合同制造商以及其他合作伙伴之间,大量的数据需要处理,其中CAD数据的交换和互操作性是亟需解决的问题之一。在1999年NIST的研究显示,美国汽车行业每年为CAD的数据交换花费约10亿美元。2006年Kubotek USA对北美CAD软件使用者的调查表明,42%的模具与锻造企业会使用到4种甚至更多的CAD工具。在2007年CADCAMNet的调查中,100%的OEM都将会与他们的外包厂商或是供应商进行3D数据交换,同时,这些外包厂商或供应商只有34%的时间可以得到所期望的数据格式。在2008年第4届3D Collaboration&Interoperability会议的报告中指出,分别有26%和21%的供应商每个月将分别收到101-1000和1001-10000份CAD文件。另外,66%参加调查的企业,尤其是OEM类企业,都有专门从事CAD数据交换的人员。其中1/3的企业都购买了专业的CAD交换软件,知名的如ITI Transcen Data和Theorem Solutions等。

    CAD数据文件传播共享需求巨大,数据交换的任务繁重。其中,基于标准模型和专用接口是目前流行的CAD数据交换技术,它们交换数据的效率和质量直接影响着CAD数据交换的状况,进而也影响着产品的开发和生产效率。为了改善产品数据的交换和共享,国际标准化组织开发了庞大的STEP(standard exchange of product data model,产品数据交换标准)标准,其中包含CAD数据的交换标准。另外,各大CAD软件厂商也在努力增强自身软件的接口和改善其数据格式。然而,这些努力带来的效果并不明显,CAD数据交换形势依然严峻。本文首先分析了使用标准模型和专用接口进行CAD数据交换所存在的问题,再分析了同步建模技术所具有的优势,最后指出同步建模技术可以极大地改善CAD数据交换的问题,提高交换效率和质量。

1 目前CAD数据交换的状况

    STEP格式是主要的CAD数据交换接口,但是基于源文件格式的数据交换仍然占据了大部分的市场。Wim Gielingh指出使用当前的STEP或IGES等标准,将不可避免地存在数据丢失和错误等问题。因为流行CAD软件数据格式的内部架构不同,以及各应用软件和当前标准的不成熟。主流的CAD软件三维几何造型引擎有ACIS(AutoCAD,CADKEY和Inventor等),Parasolid(NX,SolidWorks和Solid Edge等)以及Granite(Pro/E)等。从几何数据来看,这几个引擎对几何数据的描述相差较大,尤其是对曲面的描述。另外,交换标准以国际标准STEP为例,STEP包含了40个AP(application protocol),每个AP又包含许多CC(conformance classes),如AP210有30个CC。关系CAD数据交换的如AP203[版本1](AP203有两个版本,版本2只有1个CC)包含12个CC,AP214有20个CC,其中AP203与AP214 CCl&CC2基本是一样的。根据SCRA的调查,AP203,也就是AP214 CC1&CC2,被15个CAD厂商支持,但AP214及其他18个AP还没有被任何商业产品支持。庞大的STEP标准覆盖范围广,结构复杂,各CAD厂商对其有心无力,不能做到全面支持,以及其标准本身不完善,因此CAD数据交换很难摆脱源文件格式,CAD的数据交换和互操作性问题,仍然是任重道远。

    1.1 CAD数据交换技术

    CAD的数据交换是通过数据接口来完成的,流行的CAD接口分为3类,即:标准接口,业界接口和专用接口。标准接口是已经被国际标准化组织或某些国家的标准化部门所采用,具有开放性、规范性和权威性的标准,其中最具有代表性的是IGES和STEP标准。业界接口是具有相当影响力,并被业界认可的通用接口规范,如AutoCAD公司的DXF,Spatial Technology公司的ACIS和EDS公司的Parasolid。专用接口是CAD软件为了导入/导出其它CAD软件的模型专门开发的接口。如NX软件为能直接导入CATIA和Pro/E模型开发的CATIA V4/V5和Pro/E接口。

    CAD软件数据交换技术如图1所示。将CAD系统A的数据导入CAD系统B,可以采用3种方法:①通过标准模型,也就是前面提到的标准接口与业界接口,如STEP,DXF等。采用这种方法,需要CAD系统A与B支持标准模型的导入导出,即前置处理与后置处理模块能够分别将自身模型或标准模型转换成标准模型或自身模型;②通过CAD系统B专门针对CAD系统A开发的专用接口,直接导入CAD系统A的模型。如在NX软件上导入CATIA模型文档,此CATIA模型文档是通过CATIA软件的专用接口保存为.CATpart格式,然后在NX上使用专用CATIA接口,导入.CATpart格式模型文档;③通过第三方CAD系统C,导入CAD系统A的模型,进行修复与处理之后,再导出导入到CAD系统B,在这种情况下,CAD系统C与CAD系统A/B进行模型导入/导出可以使用第一或第二种方法,此种方法在实际生产中使用较少。本文主要分析第一种方法与第二方法进行数据交换的情况。

CAD数据交换技术 

图1 CAD数据交换技术

1.2 基于标准模型的CAD数据交换技术

    如图2所示是2005年欧洲与北美企业数据交换规范的使用情况。标准接口STEP,IGES和业界接口DXF,PDF占据了绝大部分的市场份额。在标准接口中,STEP与IGES相比具有明显的优势。下面以STEP标准为例,说明目前STEP标准存在的主要问题。

2005年欧洲和北美洲数据交换格式使用情况 

图2 2005年欧洲和北美洲数据交换格式使用情况

    图3左边所示是在NX6.0软件上创建的模型文件case02.prt,通过NX的前置处理器转换为step格式(只导出默认的solids),然后用Pro/E野火3.0的后置处理器导入step模型文件,如图4所示。用Pro/E的故障排除器可见,原始的一些曲线曲面已经被分割成几个部分。图3右边所示为再将此文件从Pro/E通过step格式导出/导入到NX软件的模型。原来零件上完整曲面已经被分割成3段不连续的曲面,下部的圆孔曲面也被分割成两部分半圆弧曲面,并且在转换之后,模型的颜色发生了变化。表1是此转换过程的几何图形数据的统计,可见大部分的几何特征都发生了改变。更严重的是,经过转换,所有非几何信息几乎都丢失了,包括建构历史记录,参数,约束,特征和其它有关设计意图的内容。

基于step格式的3D数据交换误差 

图3 基于step格式的3D数据交换误差

Pro/E导入STEP数据故障检查 

图4 Pro/E导入STEP数据故障检查

表1 基于step格式3D数据交换中的几何图形数据统计/个数

基于step格式3D数据交换中的几何图形数据统计/个数 

    目前流行的3D CAD软件大多对STEP支持力度不够,如NX不支持AP203 E2的导入导出,不支持面体(Facets)的导出等,更多地信息可参考文献中的表11-CAD Vendors with STEP Capabilities。导致这种情况的原因,文献从3个方面进行了详细的分析:商业动机,法律方面和工业状况。并且STEP本身也存在‘些问题。STEP的目标是实现完全中立的交换格式(图5(b)),而目前真正实现的STEP架构(图6)却是n*m的交换接口,n是应用软件个数,m是每个应用软件需要数据交换的平均个数。所以目前的STEP标准仅仅是把数据交换问题从以前大量P2P形式的交换(图5(a)),变成了要实现大量的AP和CC(图5(c))。

数据交换模型 

图5 数据交换模型

    CAD应用软件的内部架构与另外一个CAD应用软件的不一样,在数据交换的时候,很难避免不丢失数据或数据错误。如果CAD应用软件支持的“实体”、“属性”格式不被标准所支持,将不能进行数据转换。而当CAD应用软件定义的“实体”、“属性”与标准相似,但表达的内容不一样,将会导致数据的丢失或精度的损失。如CAD应用软件A有一个在2D的矢量信息(如图7所示),它采用起点pl(xl,yl)和起点到终点的X,Y向距离Pd(dx,dy)描述。CAD应用软件B导入此信息,采用绝对坐标p1(x1,y1)和p2(x2,y2)描述。从算法来看,这是正确的。如果从数字来看,就不一定了。比如x1=212m,y1=145m,xd=0.575mm and yd=0.125mm。假如CAD应用软件B对实数采用单精度浮点数,7位有效数字。那么CAD应用软件B导入以上信息,经过计算将得到x2=212.0006m,y2=145.0001m。然后再将此信息重新导入到应用软件A,结果将是:dx=0.6mm,dy=0.1mm。可见与原始的数据有较大的偏离。目前流行的CAD软件一般具有相当高的精度,不会犯这类错误。但是这个例子说明了,数据转换会积累误差,过多的转换会导致严重的错误。

STEP架构 

图6 STEP架构

矢量表示 

图7 矢量表示

1.3 基于专用接口的CAD数据交换技术

    无论是标准接口,还是业界接口,它们的最终目标都是避免采用专用接口进行CAD数据交换。采用专用接口进行CAD数据交换涉及到各个CAD软件的商业利益,也是最难调和的问题。CAD系统A要开发CAD系统B的专用接口,就必需要与CAD系统B进行协商,CAD系统B的内核架构,权限问题,技术问题等都需要得到CAD系统B的许可。并且CAD行业存在广泛而强劲的市场,使得如今CAD软件泛滥。根据建筑财政管理协会(construction financial management association,CFMA)的调查,在美国建筑工程类,至少有35个不同的CAD应用软件,比如ArchiCAD,CADsoft Build,MicroStation,Paydirt和NvisWorks等国内不太知名的软件。在机械CAD类方面,众所周知的美国三巨头通用、福特和克莱斯勒也分别采用了NX、I-DEAS和CATIA等3个不同的CAD系统。如果每个CAD系统都针对其它CAD系统开发一个专用接口,那将会是一项巨大而又不切实际的工程。

    此外,这也不可避免得会涉及到一些特殊情况。如Pro/E软件开发了针对NX零件的专用接口,用户也不得不同时再安装NX软件或连接局域网其它装有NX软件的电脑,并设置安装路径参数才能打开NX的零件。其次,当用户得到的零件是来自其它CAD软件的时候,并不知道这个CAD软件的版本,比如作者用Pro/E 3.0并不能打开NX6.0上创建的零件,用Pro/E 5.0却可以。如此庞大复杂的专用接口,明显不适合目前大量CAD数据需要交换的情况以及不可能实现CAD互操作性。

    在Pro/E 3.0上建立一个油瓶模型,用NX 6.0的NXPROE专用接口打开并保存为NX零件,然后在Pro/E 5.0上,设置INTF3D_NX_INSTALL路径,打开转换后的NX零件,再将其保存为Pro/E零件。在此过程中,分别使用了NX针对Pro/E零件的专用接口和Pro/E针对NX零件的专用接口。图8是经过两次转换之后,使用Pro/E自带的分析功能得到的几何模型误差分析结果。由图可见,在油瓶的颈部和手把部发生了部分变形,虽然误差比较小,但是此零件比较简单,且未经过复杂操作。不过,最糟糕的是,与采用标准模型转换一样,零件转换之后,所有非几何信息几乎都丢失了。

专用接口转换误差 

图8 专用接口转换误差

2 CAD数据交换与互操作性的解决方法

    CAD发展至今,各CAD软件厂商虽然也在寻求CAD交互的解决方案,但是由于商业利益等因素,使得主流CAD厂商对CAD交互技术不太关注,客户所担心的CAD数据交换和互操作性问题‘直未能得到足够重视。目前采用的STEP或者是专用接口的方法,都仅仅是实现了CAD数据的转换,即“Translation”,而不是真正的CAD数据交换及互操作,即“Interoperability”。文献从标准CAD软件,标准CAD内核架构,专用接口技术,标准CAD文件格式和对象链接技术等5个方面大致阐述了CAD交互的理论性解决方案。这些方案仅从理论角度出发,不能实现。

    回顾CAD的发展演变历程:20世纪60年代的二维画板技术;70年代使用三维线框技术,实现了三维表面建模;此阶段的CAD建模被称为显示建模技术。80年末90年代初发展起来的基于参数,特征和历史记录的建模方法,是CAD设计的第二次革命。而这些设计建模方法存在很多缺点,越来越阻碍CAD的发展。正是在这种情况下,同步建模技术孕育而生,它集成了显示建模和参数化建模的优点,给CAD真正意义上的数据交换和互操作性带来了希望。

    2.1 同步建模技术

    现代CAD系统普遍采用基于历史记录和特征参数的产品建模方法,而目前的CAD数据交换方法,包括标准交换模型与专用接口,只能交换数据模型中的纯几何形状信息,即“哑”模型。因此基于历史记录和特征参数的产品建模过程中形成的模型建构历史,参数,约束,特征和其它有关设计意图的内容等,都将在数据交换过程中不可避免地丢失掉。这也就造成了从其它CAD系统转换到当前CAD系统的零件模型往往是不可编辑的,没有实现真正的数据共享或交换。一旦发生变更,当前CAD系统需要将变更需求说明发回原CAD系统,原CAD系统根据变更说明进行修改,再将修改后的模型发回当前CAD系统,其又将花费大量时间进行数据模型重建。

    CAD数据交换与互操作性,就是要解决此类问题。同步建模技术集成了早前CAD发展历程中显式建模方法和基于特征建模方法等的优点,结合对模型当前的几何模型条件进行深度、富有洞察力的检查,把这些信息与所有用户定义的约束和参数驱动尺寸结合在一起,然后实时确定模型特征及定位相关等特性依赖。同步建模技术是不依赖于建模历史、基于特征的建模系统,合并了尺寸驱动和约束驱动技术的精华,以实现全面控制和可重复性,以及直接建模的灵活性。它可以很好地解决目前CAD软件系统的数据交换和互操作性问题。

    任何基于历史记录的建模方法,都按照建模过程产生了严格顺序的有序特征树型结构,嵌套层之间施加约束,也称为父/子结构,子结构特征必需依赖于父结构。发生变更时,只能依赖于历史记录来传播变更。同步建模不会依赖于历史记录,不产生严格顺序约束的特征树。对于基于历史记录和特征参数的模型,它采用特征集,实时分析,捕捉特征信息,只执行必要的变更,不用顾及复杂的特征树或是约束限制等。对于无参数无约束的模型或“哑”模型,也能够自动识别几何条件,读取特征信息,进行受控编辑。比如用户想改变某一“哑”模型中的倒圆角的半径,可以选择倒圆角面,即时进行拖拉操作即可改变半径。在基于历史记录和特征参数建模的CAD系统中,对一个“哑”模型中的特征无法识别并编辑。具有同步建模技术的CAD系统能够识别并且方便地编辑从其它CAD系统导入的“哑”模型,无需考虑此模型的最初构建结构顺序。在目前不管是标准模型或是专用接口转换都丢失历史记录和特征参数,产生“哑”模型的情况下,同步建模技术无疑能够提高CAD的数据交换和互操作性,尤其是在涉及到某些设计变更时,效果更明显。

    另外,同步建模技术采用概念设计思想,极大地提高建模效率。拉伸,扫掠,实体缩放等功能,可以通过简单的推或拉来实现。灵活的父子结构,避免笨拙的修改方法。用户只关心子结构特征,可以直接改变子结构大小,位置,甚至超出原父结构特征范围,父结构会随之发生改变。而在基于历史记录的建模方法中,用户只能先改变父结构到预定位置,然后再进行子结构的修改。

    2.2 基于同步建模技术的CAD数据交换

    SpaceClaim是一款完全依赖并致力于同步建模技术的CAD软件,它以不拘泥于建模历史,构思设计时按照设计者思路自由编辑形状。下面仍以在NX6.0上建立的case02.prt文件为例,在SpaceClaim上使用两种方法将其打开。①直接使用SpaceClaim针对NX开发的NX files专用接口,打开case02.prt文件;②使用标准接口方式,在SpaceClaim上打开从NX6.0上导出的STEP文件case02_solid.stp。如图9所示。不管使用那种方式,得到的都是“哑”模型,结构特征中只显示了case02的实体。但是同步建模技术,能够识别“哑”模型,对模型中的每一个特征都能够识别其几何特征,并且用户可以对这些几何特征进行再编辑。如图9所示,用户选择零件中的一个圆孔,可以向外或向内拖动,改变圆孔大小,实时半径大小也能够显示出来。而如果采用非同步建模技术,这将是不可能的。因此,采用同步建模技术的CAD数据交换,可以提高CAD数据的交换质量和操作性。

同步建模技术 

图9 同步建模技术

3 结束语

    传统的基于标准模型以及专用接口的CAD数据交换方法,产生的都是丢失了历史记录和特征参数的纯几何信息的“哑”模型。由于接口的不成熟,CAD系统架构多样化等原因,转换的CAD数据模型经常产生一些几何偏差。而基于历史记录和特征参数的CAD系统无法对转换之后的“哑”模型进行必要的修复或编辑,只能模型重建或者返回原系统进行处理,极大地影响了产品设计效率。同步建模技术能够识别并方便地编辑“哑”模型,更快地修改基于历史记录和特征参数的模型,快速地捕捉设计意图,快速进行设计变更,提高多CAD环境下的数据重用率和全新的用户体验。

    目前,同步建模技术已经得到各大CAD厂商的青睐。“基于历史记录”和“特征建模”的原创者PTC公司于2007年收购了第‘个使用“无历史约束建模”的软件CoCreate,意识到了CoCreate,SpaceClaim和IronCAD共同推广的无历史约束建模方法的重要性。西门子在NX6.0大力发展并推广了同步建模技术,NX6.0能够将Pro/E、CATIA所建模型中的任意特征直接复制,粘贴到NX或者Solid Edge中,并实现自由编辑和重用。STEP和专用接口仅仅实现了数据转换,同步建模技术却真正的进入到了CAD互操作性领域。

(编辑:admin)

相关内容
推荐文章