通过Evan Yares,软件高级编辑和分析师
CAD互操作性的今天。这仍然是一个问题,但它一直在好转。
您可能没有任何CAD互操作性问题。如果您使用单一品牌和版本的CAD软件,并且不从使用其他系统的人那里获取CAD文件,并且不使用您在任何其他应用程序中创建的文件,那么您就是黄金。只要继续做同样的事情,从不升级你的软件,你就会没事的。
大多数CAD用户并不是生活在真空中。他们从其他人那里接收各种类型和版本的CAD文件,并将自己创建的CAD文件用于各种下游流程。对于这些人来说,互操作性问题是意料之中的,并且在可预见的未来或多或少会继续存在。
为了理解为什么会这样,你需要深入研究一下,了解CAD系统是如何存储数据的。
NURBS和b -rep
现代3D机械CAD系统通常都使用类似的数据表示。顶层是程序集。在它们下面是零件,分别是图纸。零件可以参数化地定义,也可以显式地定义,但无论哪种情况,它们的拓扑都是由边界表示(B-rep)实体模型定义的,该实体模型由修剪过的NURBS(非均匀有理B-spine)曲面组成。把B-rep想象成潜水员的潜水衣,用单独的碎片缝在一起。如果缝纫质量好,这套衣服就不漏水。如果缝纫缝太多,衣服就会漏水。
诚然,这是一个简单的类比,但它已经足够好了。CAD互操作性的最大问题是不同系统对公差的处理方式不同。通常情况下,当将文件从一个系统转换到另一个系统时,接收系统会阻止一些公差,并创建带有漏洞或间隙的模型。模型通常是一大堆单独的表面补丁,然后你需要摆弄它们,看看你是否能让程序把它们缝成一个固体。
为什么CAD系统有这些公差问题?现代pc的64位数学精度通常不足以精确地计算NURBS曲线的形状,特别是在物理上很大的模型上,具有精细的细节。(原子工业的工程师经常遇到这个问题。)但是,公平地说,创建足够精确的数学算法来确保完美的拼接是非常困难的。在大多数情况下,编写CAD系统中使用的几何建模内核(引擎)的人故意以公差的形式在他们的算法中构建大量的宽恕。如果模型上的两个表面都在程序员指定的公差范围内,那么就足够好了。
我稍微回避一下,我说公差问题是CAD互操作性中最大的问题。大多数业内人士都说这是最大的问题——但这并不是真的。最近,我与Paul Stallings博士进行了交谈,他是一名熟练的内核开发人员,过去负责ACIS开发,现在在Kubotek工作。他向我解释说,容差问题对他来说是互操作性问题中最简单的部分之一。
让他保持警惕的是本地CAD格式不断变化。标准文件格式,如IGES和STEP,会产生它们自己的问题。使用开放标准,任何人——无论是否胜任——都可以尝试以这种格式编写文件。这些格式提供了如此多的选择,以至于缺乏经验的开发人员会犯很多错误。
根据Stallings的说法,问题的另一个重要部分是,不同的CAD系统以完全不同的方式表示几何和拓扑。他指出了他最喜欢的一个例子:在ACIS中,圆柱体是锥体,而在Pro/E中,球体是环面。更大的差异包括曲面如何参数化。一个更困难的问题是高级程序表面,如混合和阁楼。其中可能有许多未记录的、神秘的、甚至未实现的选项。
对于公差,Stallings说主要的问题是一些系统依赖于在三维空间中修剪曲线,而其他系统依赖于在它们所处表面的不同二维参数空间中修剪曲线。参数空间与三维空间的不匹配是ACIS和Parasolid使用三维空间,CATIA和Pro/E使用参数空间的一个大问题。IGES和STEP包含其中一种或两种格式。Stallings说他看到了太多包含2D和3D曲线的文件,而这些曲线并没有被书写系统所使用。IGES试图通过实际为作者提供一个标记来解决这个问题,该标记告诉作者应该信任哪些曲线。具有讽刺意味的是,这样一个标志的存在几乎等于承认有罪,因为如果两条曲线都是好的,那么它就不需要了。
如果到目前为止你一直在听这个对话,那么恭喜你:你是一个真正的CAD书呆子。
Stallings从不羞于表达自己的想法,他还指出,当CAD文件可以从昂贵的系统导出时,人们购买这些系统的数量就会减少,而只是依赖于将文件转换到更便宜的系统的能力。所以,让这个过程变得简单是一种阻碍。
翻译行业
可能是因为大型CAD供应商的不感兴趣,在过去的几十年里,一个相当健康的CAD互操作性行业已经发展起来。有一些公司,包括Datakit、Spatial和Tech Soft 3D,提供了低级软件工具包来直接读写主要的CAD文件格式。大多数CAD开发人员使用这些工具包,以便向他们的产品添加导入和导出功能。
还有相当数量的公司使用低级翻译工具包作为构建独立的最终用户翻译和验证应用程序的基础。这些公司包括ITI TranscenData、Theorem Solutions、Elysium、Capvidia、TransMagic和Core technology。你可能想知道为什么这样的公司存在,如果CAD程序通常包括导入和导出翻译。原因有三:首先,不是所有的CAD程序都有读写所有CAD格式的能力。其次,独立的翻译器(至少大多数)通常质量更高,而且比内置在CAD程序中的翻译器更可靠。第三,独立翻译公司提供更多功能和自动化的产品,旨在解决大型航空航天和汽车公司可能遇到的问题。
互操作性有什么变化?
多年来,互操作性发生了很大变化。几年前,只选定一家CAD和相关软件供应商被认为是一种合理的策略。现在,大公司采用多cad策略更为普遍。一家大型发电设备供应商最近在一次行业会议上做了一个演示,他们指出,他们和他们的供应商使用了11种不同的CAD程序来设计最新的联合循环燃气轮机设计。
过去人们认为,CAD系统处理参数特征的不同方式使得多CAD策略固有地令人痛苦。
几年前,投资者向Proficiency公司投入了4000多万美元,该公司试图解决基于特征的CAD翻译问题。他们从来没有完全正确,并于2009年被ITI TranscenData收购。ITI告诉我,他们在基于特征的翻译上可以达到95%的正确率。这对黄金时段来说可能不够好。如今,当公司进行从一个CAD系统到另一个CAD系统的重大迁移时,最常使用Proficiency。
随着具有高级直接编辑功能的CAD程序(如Solid Edge、Kubotek、SpaceClaim、IronCAD和Creo direct)的出现,对基于特征的翻译的需求已经减少。这些程序可以处理基本愚蠢的CAD数据,并以合理的方式编辑它。它们在做前端概念建模或CAE程序的模型准备方面特别受欢迎。
对CAD互操作性产生影响的另一个趋势是产品和制造信息(PMI)以及基于模型的设计(MBD)的兴起。MBD的基本前提是将构建零件所需的所有信息放在其3D CAD文件中,完全不需要2D图纸。在过去十年的大部分时间里,一些大型航空航天公司一直在推行这一举措,但直到最近一两年,这一概念才开始在航空航天工业之外获得关注。
MBD影响CAD互操作性,因为它将另一个级别的数据添加到3D CAD文件中。现在,翻译程序需要正确地处理所有注释,而不仅仅是翻译CAD文件中的几何图形。PMI也被称为GD&T和FT&A,这取决于您所说的CAD供应商。它是基于ANSI Y14.41,数字产品定义。
然而,除了向3D CAD文件添加另一层数据之外,MBD有时还会改变用户对这些文件的看法。在20世纪的古代,2D图纸被认为是设计的权威参考。3D模型要么只是用来生成绘图的东西,要么是一种方便,你可以把它传递给做下游工作的人。使用MBD, 3D模型是权威的设计参考。
CAD翻译人员经常犯错误,你会感到惊讶吗?即使是表面上良好的导出文件也会创建有缺陷的导出文件,或者在导入文件时引入错误。在最好的情况下,导入错误是肉眼可见的,并且很容易修复,只需要一点点曲面建模。但是,导入错误通常不是那么明显。在某些情况下,一个文件似乎导入得很好,但一段时间后,它将在混合或类似的编辑操作中失败。
使用最新版本的程序打开较早版本的本机CAD文件时会出现问题,这种情况并不少见。这甚至发生在最昂贵的CAD软件上。
你必须验证
无论你是否使用MBD,如果你在下游过程中使用3D CAD模型,重要的是要知道你最终得到的东西与你开始的东西是一样的。在你工作了一个星期之后发现翻译的CAD文件有缺陷,这实在是太昂贵了。在你根据文件中的数据切割了一个400磅重的注塑模具之后,要想知道这一点,代价太昂贵了。
这个问题的解决方案是CAD数据验证。相当多的公司提供旨在验证CAD文件的应用程序,通过显示由翻译产生的引用权威文件之间的任何差异。在其他公司中,ITI TranscenData、Theorem Software、Elysium、TransMagic和Kubotek都提供这类软件。Capvidia独一无二地提供了SolidWorks“黄金合作伙伴”验证程序CompareWorks,该程序在SolidWorks内部运行。
CAD数据验证对于CAD数据的归档存储也很重要。虽然STEP是存档CAD文件的一种很好的格式,但确保创建了有效且准确的STEP文件的唯一方法是对照源权限文件进行验证。
Capvidia
www.capvidia.com
来发现TranscenData
www.transcendata.com
Kubotek
www.kubotekusa.com
定理的解决方案
www.theorem.co.uk
TransMagic
www.transmagic.com
了下:3 d CAD,设计世界文章,软件

在我看来,这是一个严重的问题,可能会恶化为具有潜在危险因素的法律挑战。我猜许多服务提供商的“协议”将被修改,以保护那些提供必要的数据交换服务的人,或者一起避免数据交换。
伟大的文章。这个问题将会存在很长一段时间,甚至永远。
我也很喜欢这篇文章。
对于那些不想深入了解3D几何、nurb和参数化的人来说,考虑一下您将存储哪些信息来定义一个简单的弧。我打赌你可以想出5-10个不同的解决方案(例如3个点,中心/半径/起始角/结束角,等等)。
现在从一种格式转换到另一种格式,然后再转换回来。很有可能,你会失去一些精确度。我曾经使用过一种格式,将弧定义为中心点、半径、起点和终点。这种格式的转换有时会导致下游加工软件崩溃,因为端点没有对齐(如果你喜欢拼图,我打赌你可以告诉我为什么)。
几年后,当我的一个面试问题是讨论定义弧线的最佳方式时(但那是另一个故事),我非常高兴。
关键是,如果正确地绘制一个简单的弧线是如此困难,那么您可以想象一下,如何在不同类型系统之间很好地移动高级形式的所有细微差别。我很惊讶,这些数学家是多么聪明,才能把它做得这么好。
无法重新分配埃文…:-)
我喜欢关于湿服的参考,然而无论你缝得多好,湿服水都会进去……另一方面,干服....
很棒的文章,请继续添加更多像这样的文章
对我来说,问题不在于几何转换,而在于装配关系(伙伴、约束等)和2D绘图互操作性。据我所知,这个问题还没有任何翻译人员解决。
尽管这篇文章写于2012年,但它是对CAD互操作性问题的最好总结之一。
我要指出的一点是,“内核”格式(如Parasolid和ACIS)的定义比中性格式(如STEP和IGES)精确得多。这意味着,如果您有一个CATIA文件,并且您想要将其提供给使用SOLIDWORKS或NX的人,您最好将该文件转换为Parasolid并将其提供给Parasolid文件(因为SOLIDWORKS和NX都基于Parasolid几何建模内核),而不是使用STEP。
有一些非常糟糕的STEP转换器,因为他们可能没有正确地定义NURBS,而是将所有几何图形转换为样条。而且,一个糟糕的STEP转换器可以以两种不同的方式打击你——当文件保存到STEP时,以及当你读取STEP文件时。更不用说,在上面的场景中,如果客户有一个好的CATIA阅读器,为什么不给他们发送本机文件呢?母语总是更好的,假设他们能很好地阅读。正如亚雷斯先生所提到的,有些翻译人员比其他翻译人员要好,所以如果你想要最好的几何图形,就需要进行一些评估。
如果你想试驾TransMagic,在主页上有一个7天评估的链接https://transmagic.com
喜欢这个免费服务,真是个惊喜!我最近开始了我的免费试用,只有在试用结束后我才能100%地投资它。我喜欢CMS IntelliCAD提供的所有灵活性,这些工具非常容易使用。他们从20世纪90年代就已经进入市场,所以难怪软件这么好。