关于几何建模内核
几何建模内核是用于提供计算机辅助设计 (CAD) 软件中的 3D 建模功能的软件组件。它用于设计虚拟模型以为真实对象的仿真和制造提供支持。几何建模内核使用各种不同的几何表示形式来表示真实对象。这些模型包括使用三角形表面网格粗略估计对象的小平面模型,以及使用在数学上定义的表面精确定义实体模型的 B-rep 模型。很多内核可提供广泛的建模工具。例如,可以将 2D 草图扫掠或旋转为 3D 体,或者使用布尔运算添加、减去或合并 3D 体。高级内核提供如拔模、抽壳和偏置等直接的模型编辑工具,还支持创建非常大的模型和复杂的自由曲面。几何建模内核支持基于相同内核的软件之间的无转换互操作性。对于在 CAD 软件与计算机辅助制造 (CAM) 和计算机辅助工程 (CAE) 软件之间传达 3D 设计意图而言,这一点可提高模型稳定性和性能。
1、几何内核的基本功能组成
几何内核主要包括数学、几何和拓扑对象的数据结构及相应算法;以及文件导入/导出功能,可实现IGES模型导入、STEP模型等标准文件格式的导入,并可统一转为自主文件格式。非核心需求也可称为拓展性需求,主要包含以简化用户操作为目的的通用或专用功能。
1) 基本数学对象:点、向量、直线、平面、坐标系、矩阵、坐标变换等的数据结构及相关运算;
2) 几何对象:点、线、面的数据结构,支持7种曲线、9种曲面;
3) 几何操作:也称几何运算,主要包含求交、投影、反射、坐标变换等;
4) 拓扑元素:采用B-Rep描述拓扑结构,主要的拓扑结构层次有:点(Vertex)、边(Edge)、环(Loop)、面(Face)、壳(Shell)、块(Lump)、体(Body);
5) 拓扑关系:包含拓扑依赖关系及拓扑元素与几何元素间的关联,前者即点、边、面的相邻和从属关系等的查找,后者为拓扑元素到几何元素的映射关系;
6) 拓扑操作:又称拓扑运算,主要包括拉伸、旋转、阵列、布尔运算、扫掠、放样、圆角、拔模、加厚等;
7) 对象管理的常规机制:创建和删除对象集合、对象创建和删除、对象检查、stream和unstream,磁盘读写,持久化引用;
8) 剖分:将参数曲线、曲面和实体离散成若干三角形和点的操作,为显示引擎等提供数据来源;
9) 实现自主文件格式,实现单个实体的数据表达的导入/导出函数;
10)IGES(The Initial Graphics ExchangeSpecification,初始图形交换标准)的国家标准号为GB/T 14213,对应美国国家标准US PRO/IPO-100;现行的IGES国家标准号为GB/T 14213-2008,对应于IGES 5.3;
11)对STEP AP242是最新标准支持,以及兼容AP203和AP214标准。
2、主流几何内核
目前主流的商业三维几何内核商业有ACIS,Parasolid,这两个三维内核同宗同源,只是两个发展分支,ACIS的Spatial公司被达索收购,而Parasolid经历多次收购现收归西门子。现在的两个商业内核除了加强底层内核功能,ACIS更偏向于CAD/CAE/EDA/CAM等客户应用领域,而Parasolid更偏向于加强西门子自身业务的支撑,在CAD功能上,Parasolid要优于ACIS。
目前市面上的大多数三维CAD软件,和拥有三维几何造型仿真软件几何内核都采用ACIS或者Parasolid。
目前开源的几何内核有法国公司推出的Opencascade,对于小型项目的开发是个不错的选择。
2.1ACIS
ACIS是美国spatial technology公司的产品,是应用于CAD系统开发的几何平台。它提供从简单实体到复杂实体的造型功能,以及实体的布尔运算、曲面裁减、曲面过渡等多种编辑功能,还提供了实体的数据存储功能和SAT文件的输入、输出功能。
ACIS的特点是采用面向对象的数据结构,用C++编程,使得线架造型、曲面造型、实体造型任意灵活组合使用。线架造型仅用边和顶点定义物体;曲面造型类似线框造型,只不过多定义了物体的可视面;实体造型用物体的大小、形状、密度和属性(重量、容积、重心)来表示。
ACIS产品使用软件组件技术,用户可使用所需的部件,也可以用自己开发的部件来替代ACIS的部件。ACIS产品包括一系列的ACIS 3D Toolkit几何造型和多种可选择的软件包,一个软件包类似于一个或多个部件,提供一些高级专业函数,可以单独出售给需要特定功能的用户。ACIS产品可向外出售接口源程序,同时鼓励各家软件公司在ACIS核心开发系统的基础上发展与STEP标准相兼容的集成制造系统。使用ACIS引擎的底层产品主要包括了AutoCAD、Inventer、Catia、MicroSolid等。
2.2Parasolid
Parasolid是一个几何建模内核,最初由Shape Data Limited开发,现在由Siemens PLM Software(前身为UGS Corp.)拥有,可以被其他公司许可用于其3D计算机图形软件产品。
Parasolid的功能包括模型创建和编辑实用程序,如布尔建模操作,特征建模支持,高级曲面设计,加厚和挖空,混合和切片以及图纸建模。Parasolid还包括用于直接模型编辑的工具,包括逐渐变细,偏移,几何替换以及通过自动再生周围数据来移除特征细节。Parasolid还提供广泛的图形和渲染支持,包括隐藏线,线框和绘图,曲面细分和模型数据查询。使用ParaSolid引擎的主要包括了UG、Solidworks、SolidEdge等。
内核
开发者
特点及优势
典型软件
注释
ACIS
spatial technology
平面造型;对比较简单的三维模型节省计算资源和存盘空间
AutoCAD、CATIA、proe、ABAQUS、Fluent、Nastran等
从平面造型发展起来
Parasolid
UGS
对造型复杂、碎面较多的实体具有优势
UG、solidedge、solidworks、ANSYS、Comos、FEMAP、Adams、Adina等
最成熟,应用最广泛的几何造型内核
2.3OPENCASCADE
在商用CAD软件外,还有一些比较成熟的开源CAD内核,其中使用的比较多的是OpenCascade(简称OCC)。
Open CASCADE (简称OCC)是一开源的几何造型引擎。基于该建模引擎发展了若干CAD/CAE/CAM软件,如国外的FreeCAD、HeeksCAD,国内的AnyCAD。Open CASCADE(简称OCC)为开源社区比较成熟的基于BREP结构的建模引擎,能够满足二维三维实体造型和曲面造型,国内研究和使用它的单位也越来越多.OCC可以分为建模、可视化和数据管理(OCAF)三大模块。其中建模为核心组件;可视化组件基于OpenGL,相对其他的三维可视化OpenGL平台(如Coin3d,OpenInventor,Ogre3d,OSG,VTK等),功能简单,并且显示效果比较差,不能充分利用GPU硬件加速;OCAF采用树的方式管理数据,使用比较复杂,效率比较低,并且不适合自定义扩展。因此,不推荐使用OCC的可视化和数据管理组件。
3、可用的建模内核
平台
领域
三维内核
产品
公司
国家
Windows, macOS, Linux, iOS, Android
CAD, CAM, CAE, AEC
DGM
CrownCAD
华云三维
中国
Windows
CAD,CAM,CAE
CRUX IV
SINOVATION
华天软件
中国
Windows,Linux,
CAD, CAM, CAE
Overdrive
中望3D
中望软件
中国
Windows
CAD, CAM, CAE
Parasolid & ACIS
CAXA实体设计
数码大方
中国
Windows,Linux,
CAD, CAM, CAE, AEC
C3D
Kompas-3D
ASCON Group
俄罗斯
Windows
CAD, AEC
Open CASCADE
4MCAD IntelliCAD
4M S.A
希腊
Windows
MCAD
ACIS / KCM
KeyCreator
Kubotek3D
美国
Windows
AEC
C3D
KOMPAS-Builder
ASCON Group
俄罗斯
Windows
CAD
C3D + K3 kernel
K3-Furniture
Center GeoS
俄罗斯
Windows
AEC
C3D
Renga Architecture
ASCON Group
俄罗斯
iPad
MCAD
Parasolid
Shapr3D
Shapr3D zrt.
匈牙利
Android
MCAD
C3D
KOMPAS:24
ASCON Group
俄罗斯
Windows
CAD,BIM
C3D/ACIS
NanoCAD
NanoSoft
俄罗斯
Windows
MCAD
Parasolid
T-FLEX
Top Systems
俄罗斯
Windows
CAM
C3D
TECHTRAN
NIP-Informatic
俄罗斯
Windows
CAD
C3D
PASSAT
NIP-Informatic
俄罗斯
Windows, Mac
CAD, CAM
Own Kernel
Rhinoceros 3D
Robert McNeel and Associates
美国
Windows
CAD
C3D
ESPRIT Extra CAD
LO CNITI, Rubius
俄罗斯
Windows
CAD
C3D
BAZIS System
BAZIS Center
俄罗斯
Windows
CAE
Parasolid
Adams
MSC Software
美国
Windows
CAD, CAM, CAPP
C3D,ACIS
ADEM
ADEM Group
俄罗斯
Windows
CAE
Parasolid
ADINA Modeler
ADINA R&D Inc.
美国
Windows
CAD, AEC, GIS
ShapeManager
AutoCAD
Autodesk
美国
Windows
MCAD
ShapeManager
Inventor
Autodesk
美国
Windows, Mac
Solid Modeler & Machiner
ShapeManager
Fusion360
Autodesk
美国
Windows, Linux, Mac
MCAD, AEC
ACIS
BricsCAD
Bricsys
瑞典
Windows, Mac
CAD, CAM, CAE
Parasolid
Siemens NX
Siemens PLM Software
德国
Windows
MCAD
Parasolid
SolidFace
SolidFace
巴西
Windows
MCAD
Parasolid,ACIS
Solid Edge
Siemens PLM Software
德国
Windows
MCAD
Parasolid
SolidWorks
Dassault Systèmes
法国
Windows
AEC
Parasolid,ACIS
MicroStation
Bentley Systems
美国
Windows, Unix
CAD, CAM, CAE, AEC
CGM,ACIS
CATIA
Dassault Systèmes
法国
Windows
Solid Modeler
GRANITE
Creo
Parametric Technology Corporation
美国
SaaS
Solid Modeler
Parasolid
Onshape
PTC
美国
Windows, SaaS
Solid Modeler
Parasolid ,ACIS
IRONCAD
数码大方
中国
Windows
CAD
Own Kernel
浩辰CAD
浩辰软件
中国
Windows, Mac
AEC, BIM
Own Kernel
ArchiCAD
Graphisoft
匈牙利
Windows
MCAD
ACIS
Cimatron
3D Systems (Cimatron Ltd.)
以色列
Windows
MCAD
ACIS
SpaceClaim
ANSYS Inc
美国
Windows
MCAD
European Solid Modeller ESM
HiCAD
ISD Group
德国
Mac, Windows
MCAD
ACIS
Cobalt, Xenon, Argon
Ashlar
美国
Windows, Linux
CAD Optimization
Own Kernel
CAESES
Friendship Systems
德国
Windows, macOS, Linux,
CAD
Open Cascade, Coin3D,
FreeCAD
FreeCAD
Windows, macOS, Linux, iOS, Android
CAD, AEC, BIM
Geometry Kernel
IFCEngine, STEPEngine
RDF
保加利亚
Windows
BIM
ACIS
REVIT
Autodesk
美国
Windows,LINUX
CAD
Own Kernel
CAXA电子图板
数码大方
中国
Windows,LINUX
CAD
ACIS
中望CAD
中望软件
中国
Windows
CAD,CAM
Own Kernel,OCC
JDPaint,ArtForm,SurfMill
精雕集团
中国
Windows
CAM
OCC
UltraCAM
千机智能
中国
4、未来发展趋势
提升性能。早期的内核数据结构设计并没有考虑到硬件的发展,默认按照当时的单CPU单核设计。而现在多CPU多核,分布式,GPU计算已经相当成熟。多线程已经在使用,但也只是基于一定接口使用,由于历史原因,这块商业和开源内核底层改进进度都比较缓慢。现在除了工业设计仿真软件外,很多业务场景对实时性都提出了很高要求,目前这一块几何内核还达不到要求。纵观近十年技术领域的发展,相比于人工智能,机器视觉,大数据,互联网的发展速度,几何内核的更新和发展速度可以算得上是龟速了。
进一步轻量化。PS提出的Convergent Modeling的初衷就在于高效的处理三维打印数据,因为三维打印数据为海量三角面片,用纯BREP结构表示性能低下。而CM正是通过简化BREP数据和操作,并融合面片数据,来处理这个矛盾。根据需求进一步简化或者轻量化数据结构,类似于“外科手术”式精准操作。
BREP增强。BREP是目前主流三维几何内核的基础数据结构,但这并不意味着BREP等于三维几何内核数据结构。就如同CAD不等于AutoCAD,CAE不等同于ANSYS。BREP的优缺点之前做过描述,参见深入剖析三维几何内核(3)–基础数据结构。BREP无法表达出三维几何内部的结构,如果要用BREP对内部数据进一步细化,需要将原有结构拆分,或者建立虚拟拓扑。而基于几何特征的一些算法(比如MAR中轴变换)或者类似体渲染的技术可以有效弥补这种不足。未来有可能将这些技术和方法融合到BREP结构中,在更小的维度实现对三维实体的控制。
业务融合。利用商用内核开发通用CAD软件其实性价比已经非常低,风险也很大,除非能在应用层整出点花样出来。通用三维几何内核提供了丰富的功能,但一般的仿真软件实际上能用得上的只有一小部分,性价比很低。所以未来如果开发几何内核可以和业务融合,根据业务情况建立更符合实际的内核结构和功能。早期的CFD前处理软件就是一个很好的例子。因为CFD通常需要处理的是表面数据,所以不需要基于BREP的结构,一般的CFD前处理器会自己构建一套几何数据系统。
人工智能。几何内核在拓扑跟踪,特征模式识别,对象计算,参数建模,约束求解方面是有一定的固定模式的,AI是可以发挥作用的。
参考文献1、https://zhuanlan.zhihu.com/p/4544666122、https://www.caxkernel.com/5426.html