关于几何建模内核

news2024/11/15 17:32:27

几何建模内核是用于提供计算机辅助设计 (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

       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1354028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker如何配置阿里云镜像加速?

登录阿里云后,我们点击右上角的控制台,控制台中搜索镜像加速服务,然后点击帮助文档的官方镜像加速: 点击容器镜像服务控制台: 在镜像工具里面的镜像加速器中就可以看到: 分别执行即可: 之后我们…

五步解决Ubuntu界面太小的问题

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 对于20版本及以上的unbuntu我们可以通过安装open-vm-tools来解决界面大小的问题,具体步骤如…

修改多选框el-checkbox样式, 大小,背景色

修改多选框el-checkbox样式, 大小,背景色 /* 背景透明 */ .el-checkbox__inner {background: transparent;border: 1px solid #00ffe5; } /* 选中样式 */ .el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {b…

简易机器学习笔记(七)计算机视觉基础 - 常用卷积核和简单的图片的处理

前言 这里实际上涉及到了挺多有关有关理论的东西,可以详细看一下paddle的官方文档。不过我这里不过多的谈有关理论的东西。 【低层视觉】低层视觉中常见的卷积核汇总 图像处理中常用的卷积核 在代码中,我们实际上是用不同的卷积核来造成不同的影响&a…

2024年关键技术发展战略趋势前瞻

技术趋势在不断变化,但总的趋势是技术日益深入人类生活的方方面面,这些趋势可能会对未来的科技发展和人类生活产生深远影响,以下是预计今年将塑造未来的一些关键技术趋势。 更多的人将采用人工智能和机器学习 人工智能(AI)和机器学习(ML)不…

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。 FastReport.NET官方版…

自动化测试用例设计粒度

自动化测试用例的粒度指的是测试用例的细致程度,即每个测试用例检查的功能点的数量和范围。 通常,根据测试用例的粒度,可以被分为3种不同的层次,从更低层次的细粒度到更高层次的粗粒度。 第一种:单元测试 - 细粒度 …

性能测试之(六):JMeter 元件

元件(多个类似功能组件的容器) 组件:封装的方法,比如取样器中的发送请求的方法 一、常见的元件 1、取样器:发送请求2、逻辑处理:控制语句执行顺序3、前置处理器:在请求(取样器&…

Spark---RDD算子(单值类型Value)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…

Spring上下文之support模块DefaultLifecycleProcessor

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

C++的头文件(.h文件)与实现文件(.cpp)应该怎么写比较规范?

C中有头文件(.h)文件和实现文件(.cpp)文件 但是头文件与实现文件具体写什么? 一、头文件的内容 #idndef #define … #endif作用:当头文件被多个其它文件引用时,内部的数据不会被多次定义而造成…

Web自动化测试框架总结

实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充。 首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充。 70%的测试工作集中在底层接口测试和单元测试&#xff0…

css实现纵向分列,中间间距相等

方法一&#xff1a;使用网格布局&#xff08;Grid Layout&#xff09; <!DOCTYPE html> <html> <head><style>.container {height: 100px;display: grid;grid-template-columns: 2fr 1fr 3fr; /* 自定义每一列的比例 *//* 将三个行都设置为平均分配剩…

UV打印机磁栅尺的安装

UV打印机磁栅尺的安装方法有以下几个注意事项&#xff1a; 1. 安装基面的选择&#xff1a;磁栅尺需要粘合在平滑的基面上&#xff0c;基面要足够平整且干净&#xff0c;不能有杂质或油污。 2. 粘合剂的选用&#xff1a;磁栅尺的粘合剂需要选用合适的胶水&#xff0c;最好是专门…

Canal+RabbitMQ实现MySQL数据同步至ClickHouse

ClickHouse作为一个被广泛使用OLAP分析引擎&#xff0c;在执行分析查询时的速度优势很好的弥补了MySQL的不足&#xff0c;但是如何将MySQL数据同步到ClickHouse就成了用户面临的第一个问题。本文利用Canal来实现ClickHouse实时同步MySQL数据&#xff0c;使用RabbitMQ来做消息队…

【Java】面向对象程序设计 期末复习总结

语法基础 数组自带长度属性 length&#xff0c;可以在遍历的时候使用&#xff1a; int []ages new int[10];for (int i 0; i < ages.length; i)System.out.println(ages[i]); 数组可以使用增强式for语句进行只读式遍历&#xff1a; int[] years new int[10];for (int ye…

leetcode第206题反转链表❤

一&#xff1a;题目&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网…

【占用网络】VoxFormer 基于视觉的3D语义场景方案 CVPR 2023

前言 本文分享“占用网络”方案中&#xff0c;来自CVPR2023的VoxFormer&#xff0c;它基于视觉实现3D语义场景补全。 使用Deformable Attention从图像数据中&#xff0c;预测三维空间中的体素占用情况和类别信息。 VoxFromer是一个两阶段的框架&#xff1a; 第一个阶段&…

前端框架的异步组件(Async Components)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

SpringBoot集成MQTT协议

简介 MQTT 可以被解释为一种低开销&#xff0c;低带宽占用的即时通讯协议&#xff0c;可以用较少的代码和带宽为远程设备连接提供实时可靠的消息服务&#xff0c;它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下&#xff0c;因此 MQTT 协议在 IoT&#xff08;Interne…