目前世界上主流的三维建模几何引擎有哪些?
目前世界上主流的三维建模几何引擎有哪些?

什么是几何内核,它实现了哪些功能,这些功能对CAD用户有多重要?
任何CAD系统都是一组共享公共平台的最终用户应用程序,该平台基于多种基本技术,通常在称为技术组件的独立模块中实现。每个组件负责不同的事情:三维模型的创建和编辑、其在显示器上的可视化、参数化、以某种格式导入/导出数据等。此类组件要么由CAD开发人员自己设计、编码和维护,要么从第三方技术供应商(例如Spatial、TechSoft3D或LEDAS,ASCON,华云三维)。技术组件是构建CAD建筑的基础。其他一切都取决于这个基础——各种工具的能力、它们的性能、抗错误能力,甚至系统的整体智能。在基础上打好某个组件后,开发人员意识到以后要用另一个组件替换它会相当困难。通常这个问题是通过拆除旧建筑并建造新建筑来解决的,即新一代(不要与下一个版本混淆)软件产品的发布。
3D模型的核心表示是基于B-Rep(边界表示),其中几何元素是规范对象或NURBS。高阶多项式是NURBS的特例之一。
但是,当涉及到具有弯曲边界的3D网格时,最有可能是CAE问题。在这种情况下,根据具有特殊模块的B-Rep模型进行构建,超出了几何内核的功能。如果将来需要将此类模块直接包含到内核中,则可以这样做。


从程序员的角度来看,每个组件都是一组带有编程接口(API)的库,允许您从应用程序调用各种函数。在几何内核的情况下,我们正在讨论使用基本类型的几何数据(点、线、曲线、面)和对它们的操作(变换、投影、交集),对边界模型的拓扑进行建模,实现布尔运算符以及用于创建和编辑三维实体和曲面(扫掠轮廓、圆角边缘)、创建三角形网格以及以不同格式(内核或中性IGES/STEP原生)导出/导入数据的典型命令。
内核函数列表只需一段,但它们的实现却需要数十甚至数百人年的时间。事实是,每个基本操作(例如两个NURBS的交集)背后都有一个计算算法,其实现和调试是一项非常费力的工作。内核中有数百个这样的操作(考虑到您必须使用的各种数据类型)。并非所有CAD供应商都愿意在底层技术上投入如此多的资金,并且更愿意许可完成的内核,每年向开发公司支付一定的费用(通常包括从每个销售的最终产品副本中提取一定的金额)。同样重要的是,许可内核通常已经在其他系统中“测试过”,因此它具有丰富的功能和高度的可靠性。最后,通过选择第三方内核,CAD供应商将能够完成其产品的开发并更快地将其推向市场。有时这个时间是决定性的——如果你晚一两年发布,市场可能被竞争对手占领。最明显的例子是CADSolidWorks的发布,它成为第一个适用于Windows平台的参数化实体建模系统。开发商后来也走上了同样的道路。KeyCreator、AlibreDesign、IRONCAD、MicroStation、T-FLEX、ADEM、SpaceClaim和许多其他系统。

还有一群人优先考虑完全控制源代码的可能性,及时修复错误和增强功能,快速移植到新平台,并准备用自己的资源为此付出代价。CATIA、NX、CreoElements/Pro、SolidEdge、AutodeskInventor、think3、KOMPAS-3D,CrownCAD的开发人员正在走这条艰难的道路。

世界上第一个基于边界表示几何的商业几何内核实体建模,1982年由IanBrady、CharlesLangley和现在的ShapetheData发布。
这个继任者很快就出现了一个有力的竞争者——Unigraphics公司,当时该公司意识到基于建设性方法(CSG)的实体建模是一条死胡同的发展道路。Unigraphics的主要产品是CADUniSolids(现在以NX为名,由SiemensPLMSoftware所有),基于PADL自己的CSG核心,需要转换为刚体的边界表示。1988年,Unigraphics谨慎地权衡了所有选择,从Evans&Sutherland手中完全收购了Parasolid业务,并开始投资于核心的开发。一年后,发布了完全基于Parasolid的UG/Solids有限用户包,但该公司仅在1990年代中期才开始将Parasolid许可给第三方开发商,当时它暂时成为EDS的一部分。
在Parasolid的工作开始后不久(积极参与相应技术规范的起草),ShapeData的三位领先员工——IanBraid、CharlesLang和AlanGrayer——离开公司并以Three-SpaceLtd的名义创建了自己的公司.,原则上开始开发新的几何内核-ACIS。
该开发项目由SpatialTechnology(USA)订购,该公司打算将ACIS用于其自身目的。1986年创立Spatial的DickSowar最初计划将新核心用于他创新的实体建模StrataCAM系统,但几年后意识到将核心本身授权给其他公司的业务更有利可图,并削减了其余的开发。迪克通常更看重提供技术的公司的前景,当然不是定制产品,因此他将部分资金投入了另一位剑桥科学家约翰欧文的项目,他用这笔钱创建了D-Cubed。开发世界上第一个商业几何约束求解器。后来,剑桥的开发商Three-Space(最终被Spatial收购)和D-Cubed紧密合作,在新世纪初围绕ACIS的事件发展中起了决定性的作用。
从一开始,ACIS就是用C++开发的,1989年发布了第一个版本(它可以在UNIX平台和MSDOS上运行),HP再次成为第一个客户!ControlData和Autodesk很快获得了ACIS的许可。最后一份合同对Spatial来说是非常有利可图的——该公司每售出AutoCAD的每份副本即可获得25美元(自第13版以来,它总是包括ACIS)。几年后,Autodesk意识到了自己的错误,并说服Spatial重新谈判协议,每份6美元加上每年100万美元。其他主要的ACIS客户是BentleySystems和Intergraph。
Pro/E的成功(新成立的公司在短短几年内成为行业内销售额的领先者,成为历史上第一家年收入突破10亿美元的CAD公司)迫使所有竞争对手在他们的系统。最有远见的是约翰·赫什蒂克和迈克尔·佩恩。(MichaelPayne),他在离开PTC后于1993年成立了自己的公司,目的是为Windows平台开发Pro/E的类似物。为了加快开发速度,他们决定不开发自己的几何内核,而是使用现成的。试用ACIS后,开发人员对其功能并不满意(许多在Pro/E中正常工作的功能将错误返回给ACIS)。而且,由于Mike试图与PTC高管就其几何核心的许可进行谈判以失败告终(PTC有先见之明地看到了未来的SolidWorks他的竞争对手),并且Spatial对ACIS中的这些错误的反应不适合他,因此他决定测试Parasolid。结果,事实证明,在一组已开发的测试中,Parasolid的表现比ACIS好得多,并且CAD世界中的主要投标之一被决定对其有利。毫无疑问,SolidWorks的成功很大程度上归功于Parasolid的开发人员。

日本公司理光意识到将其核心授权给第三方开发商可以获得多么有利可图,于是凭借其Designbase产品进入了市场。理光使用这个核心来设计他们的相机,对表面的复杂性提出了很高的要求。Designbase是第一个可以单独设计曲面和实体的核心,可以从一个视图无缝地移动到另一个视图。此外,Designbase使用了元建模的概念,它会自动生成模型创建的历史记录,从而可以进一步轻松地对几何进行参数修改。目前,Designbase核心已经从技术组件市场上消失了,但您仍然可以找到基于它的CAD系统——这就是Helix实体建模系统由Futjitsu、CADRA(SofTech)、GMSWorks(C-Solutions)等在日本发行。
法国公司DassaultSystemes不得不赶上已经领先的竞争对手。作为3D设计的先驱之一,并在第四版CATIA中实现了实体建模功能(于1993年发布),该公司-与CAD市场的许多其他老前辈一样-跳过了Windows。意识到完全可移植到新的CATIA4平台(用Fortran语言编写并专注于UNIX架构)是不可能的,达索决定从头开始创建新一代CATIA。代号为CNext的新开发项目于1998年以CATIAV5的名称闻名于世(此后又花了几年时间将V5提升到其前身的功能水平)。选择C++作为编程语言,而不是过时的Fortran,新系统的几何核心被命名为CGM-CNext/CATIAGeometricModeler并且是从头开始编写的-没有来自以前系统的任何一行代码在里面!
2008年发布的V6PLM平台基于相同的CGM几何核心。这些年来,核心一直在不断改进和发展。从一开始,CGM就允许我们对由不同维度的流形组成的几何建模:零(点)、1-流形(曲线框架)、2-流形(表面)和3-流形(刚体),任意混合它们同一型号内。
通过押注新的现代核心,达索赢得了胜利——CATIAV5和相关的PLM产品使该公司成为全球CAD市场的绝对领导者(正如PTC曾经做过的那样)。然而,这需要付出高昂的代价:在CATIA4(基于旧内核)中创建的数据无法在V5中得到充分利用。更准确地说,DS的最大客户空中客车公司不得不为此埋单,该公司在CATIA第四版和第五版同时设计最大的客机A380时,却错过了调试的所有条款,并因此蒙受了损失60亿美元。原因-在多核CAD系统之间传输几何模型时出错。
没有人想到CATIA(公司的至圣之物——作为制造可口可乐浓缩液的秘诀)的几何核心会获得许可。但去年夏天,该公司开始通过其子公司Spatial向所有人提供CGM(当然,为此必须更改第一个字母的解码:“C”现在不是“CATIA”,而是“Convergence”,这让所有人感到惊讶))。因此,目前四大三维建模引擎(Parasolid、ACIS、CGM、C3D、DGM)核心可用于许可。
开源业务早已证明其价值。对此的证实之一是OpenCASCADESAS的命运,它已经改变了几个所有者,但仍然继续存在:最新的内核版本(7.6)可追溯到2021年12月。除了OpenCASCADE,该公司还在开发一个基于它的平台,用于通过计算SALOME进行工程,也可在源代码中免费获得。客户主要是能源领域的欧洲公司,以及中国的CAE公司。
许多其他公司也曾在开发几何内核领域工作过,但都没有取得显着的成果。例如,您可以回想起已故的XOX公司及其核心形状(在CADKEY的第一个版本中使用,后来被ACIS取代)。自1996年以来,美国公司IntegrityWare一直在开发一套用于几何计算的库。自1998年以来,它们由SolidModelingSolutions分发(以SMLib的名义),它为购买许可证的每个人提供的不仅是目标代码,还有内核的源代码,以及为自己修改的权利目的。2004年,IntegrityWare发布了SOLIDS++几何建模引擎。...内核采用C++编程语言实现,具有模块化架构,支持同一模型内不同维度的拓扑结构,几何公差可调,允许模型三角剖分,实现复杂拓扑结构的顶点舍入,可以建模曲面曲率控制G2和G3。但是,对于基于此核心的商用CAD系统一无所知。


纵观英法美日的成功,中国和俄罗斯开发商也不能坐视。中国由华天软件2010年开发研发三维建模引擎DGM和约束求解器DCS,历经十年核心技术攻关、五大版本迭代、两轮全国公测,2021年9月8日CrownCAD正式面世。俄罗斯由ASCON领导,该公司于2000年发布了KOMPAS-3D的第一个版本,完全基于其自己的几何引擎(C3D)。2002年,该计划得到了STCAPM的支持,他们创建了自己的APM引擎,用于APMStudio实体和曲面建模系统。从1995年的开发到2012年,Ascon专门使用这个核心来满足自己的需求,作为CADKOMPAS-3D的一个组件。2012年,Ascon开放了C3D内核进行第三方授权。核心的开发和市场推广由Ascon的成员C3DLabs进行。







下表列出了相当完整的开发人员示例列表,包括第一类和第二类。它表明,获得许可最多的核心是ACIS(由DassaultSystemes的子公司Spatial开发和支持)和Parasolid(SiemensPLMSoftware)。
ACIS、Parasolid和Designbase之间在1990年代后半期开发的几何内核市场竞争导致许多CAD供应商面临一个选择:如果他们对所用内核的质量或开发商的支持水平,那么他们就可以更换供应商。BentleySystems和Intergraph利用这个机会,将他们的CAD系统(分别是MicroStation和SolidEdge)从ACIS迁移到Parasolid。
IRONCAD的开发商3D/EYE走得更远:1995年将ACIS核心集成到他们的系统中,1999年他们在那里添加了Parasolid,允许用户在它们之间自由切换!系统仍然保持这种架构,这有助于用户在处理导入的几何图形(在另一个CAD系统中创建)时降低成本。不同的几何内核通常以不同的方式解释几何公差,以不同的精度计算曲线和曲面的交点,结果是一个完全正确的模型,当转移到基于另一个内核的系统时,由于许多错误而无法运行以半自动模式进行修正。
两个核心——谁更多?达索可以做得更多。随着2000年收购Spatial,法国人获得了ACIS核心——除了为CATIA提供动力的CGM和为SolidWorks提供动力的获得许可的Parasolid。但Dassault高管无意在他们的CAD系统中使用ACIS。相反,他们聘请了SolidWorks的创始人MichaelPayne来领导Spatial,后者的任务是与ACIS的主要被许可人Autodesk进行谈判。
在研究了Spatial案例后,Mike很快意识到为什么Bentley和Intergraph放弃了这个核心。以下是他最近接受DilipMenezes采访时的话:“产品不可靠。尽可能地,它是一个半成品。顾客很生气。客户支持服务不存在。价格各不相同,具体取决于某人在本季度末能够支付的金额。并且有一个零质量控制系统。”
在与Autodesk首席执行官卡罗尔·巴茨(CarolBartz)的会面中,迈克承诺会解决这个问题。然而,Autodesk本身随后认为相反,Mike是在敲诈他们,威胁如果Autodesk不接受Dassault成为SolidWorks经销商的提议,将其竞争产品Inventor从市场上移除,则威胁将完全停止核心的开发。结果,Autodesk利用了许可协议,在一次性支付了650万美元后收到了ACIS源代码。以此为基础,公司开始开发自己的几何内核,称为形状管理器。...很快就找到了这个特定工作的合格程序员的答案——当然在剑桥,还有其他地方!与D-Cubed达成协议后,Autodesk将这项开发工作外包给了ACIS的实际作者(几乎不可能了解Spatial和D-Cubed之间的遗传联系;我们只能说这两家公司自1986年以来一直密切合作,和他们的主要员工在剑桥大学的同一个CAD实验室中携手合作)。Spatial起诉Autodesk但败诉。因此,剑桥树结出了第五个果实(BUILD、ROMULUS、Parasolid、ACIS、ShapeManager)——惊人的生产力!
核战争到此结束。顺便说一下,ACIS核心在Dassault的框架内开发得相当成功。定期发布新版本,增加功能以支持直接几何编辑。不知疲倦的MikePayne离开Dassault创立了SpacaClaim,这次不是在Parasolid上构建系统,而是在ACIS上构建系统。多亏了两家公司开发人员的个人相识,他们进行了很好的合作,现在所有Spatial客户都可以使用这种合作成果。大多数直接建模系统(SpaceClaim、KeyCreator、IRONCAD和部分CreoElements/Direct)都是基于ACIS构建的,这并非巧合。
另一件事是,在极短的时间内开发几何内核需要巨大的投资,只有非常大的公司或国家才能负担得起。例如,开发Parasolid的总劳动强度估计为850人年(核心于1985年在剑桥开始开发)。类似的估计最有可能真正为其它几何内核-C3D,ACIS,CGM,DGM
当然,在开发新的3D核心时,需要依靠前人的经验,才能从这次经验中汲取精华,不再重蹈覆辙。因此,在随后的出版物中,我们计划简要介绍之前尝试创建3D建模内核的历史,并讨论现在正在创建的俄罗斯内核与它们的不同之处。
标签:
