OpenCASCADE开发指南:专栏内容介绍及目录

1、专栏介绍

1.1 几何内核

在三维建模软件和仿真软件中,我们经常能听到到"几何内核 "一词。那么几何内核是究竟什么是几何建模内核?先说结论:几何没有内核,就没有CAD软件

从软件的历史中可以清楚地看到,创建工业级几何建模内核是开发工程软件中最困难的任务之一。找到正确的解决方案需要具备数学、计算机系统架构、软件设计和CAD专业知识等方面的顶级能力。目前全球市场上只有少数内核供应商;CAD市场的很大一部分以及相关产品在商业和技术上都依赖于它们。

CAD技术从60年代诞生以来,经历了二维绘图、线框模型、自由曲面模型、实体造型、特征造型等重要发展阶段。几何三维核是一种软件组件,用于在计算机上以3D形式表示和精确建模物理对象。从内核开始开发最终用户应用程序,如CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAE(计算机辅助工程)以及许多其他工程领域的产品。所有这些系统都需要精确、高效的工具来使用软件模型来创建、存储和分析3D数据,执行专门的计算等等。随着CAD技术的发展也诞生了许多成熟和知名的CAD引擎和软件。其中最重要的CAD引擎一般指的就是几何内核。要在计算机上建模实体,需要一个内核。内核执行复杂的方程,生成屏幕上显示的对象的视觉表示

目前,商用CAD引擎主要包括了ACIS、HOOPS、ParaSolid等。其中使用ACIS引擎的底层产品主要包括了AutoCAD、Inventer、Catia、MicroSolid等;使用ParaSolid引擎的主要包括了UG、Solidworks、SolidEdge等。但由于关注点的差别及商业保密的因素,不同的CAD软件都有自己的一套建模方式和存储体系,这导致了系统间数据无法进行直接的传递。目前采用的方式是通过中间标准格式文件为媒介进行传递,但是这种方式会丢失一些细节特征,这就还需要进行一些其它额外的修补工作,这也一定程度上影响了CAD技术的发展。

1.2 OpenCASCADE

在商用CAD软件外,还有一些比较成熟的开源CAD引擎 ,其中使用的比较多的是OpenCascade(简称OCC)。OCC平台是由法国Matra Datavision公司开发的CAD/CAE/CAM软件平台,可以说是世界上最重要的几何造型基础软件平台之一。它是一个开放源码CAD 内核,可以定制和扩展(添加新的功能组件,类的进一步继承),面向CAD/CAM,对主流CAD 数据格式提供支持(STEP/STL/IGES 等,可自行开发转换程序提供特定数据格式的支持),提供高级建模函数(拟合,有理样条曲线,拉伸、旋转、扫出、层叠拉伸、圆角、倒角、薄壳、修剪、偏移等),参数化模型,提供几何模型的特征提取,对Visual C++/MFC 有很好的支持。

在当前国内大力自主发展技术,知识产权保护趋严的背景下,几何内核作为工业软件的一项基本底层技术,应该被拿到产业链的战略地位上来,否则永远只能在国外产品基础上开发,利润大头送给他人。

2、专栏目录

OpenCASCADE开发指南<一>:OCC库编译和环境搭建
OpenCASCADE开发指南<二>:OCC 体系结构和基本概念
OpenCASCADE开发指南<三>:OCC 基础类概述
OpenCASCADE开发指南<四>:OCC 数据类型和句柄
OpenCASCADE开发指南<五>:OCC 内存管理器和异常类
OpenCASCADE开发指南<六>:OCC 中的集合容器(Array、Map)类和迭代器
OpenCASCADE开发指南<七>:OCC 中的数学基本类型和数学算法
OpenCASCADE开发指南<八>:OCC 数据结构分析之二三维几何数据
OpenCASCADE开发指南<九>:OCC 数据结构分析之拓扑数据结构
OpenCASCADE开发指南<十>:OCC三维建模基础知识
OpenCASCADE开发指南<十一>:OCC基本三维几何体建模类BRepBuilderAPI、BRepPrimAPI介绍
OpenCASCADE开发指南<十二>:OCC创建三维瓶子模型

3、效果





相关推荐
诚丞成14 分钟前
计算世界之安生:C++继承的文水和智慧(上)
开发语言·c++
mirrornan1 小时前
3D和AR技术在电商行业的应用有哪些?
3d·ar·3d建模·3d模型·三维建模
东风吹柳1 小时前
观察者模式(sigslot in C++)
c++·观察者模式·信号槽·sigslot
A懿轩A1 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
大胆飞猪2 小时前
C++9--前置++和后置++重载,const,日期类的实现(对前几篇知识点的应用)
c++
1 9 J2 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
夕泠爱吃糖3 小时前
C++中如何实现序列化和反序列化?
服务器·数据库·c++
长潇若雪3 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
染指11105 小时前
50.第二阶段x86游戏实战2-lua获取本地寻路,跨地图寻路和获取当前地图id
c++·windows·lua·游戏安全·反游戏外挂·游戏逆向·luastudio
Code out the future5 小时前
【C++——临时对象,const T&】
开发语言·c++