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、效果





相关推荐
十五年专注C++开发19 小时前
QTableWidget和QTableView插入数据比较
c++·qt·qtablewidget·qtableview
无限进步_19 小时前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
特立独行的猫a19 小时前
Google C++ 编码规范核心要点总结 (2025精简版)
开发语言·c++·编码规范
李余博睿(新疆)19 小时前
c++经典练习题-分支练习(2)
c++·算法
superman超哥19 小时前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
暗然而日章19 小时前
C++基础:Stanford CS106L学习笔记 11 Lambdas表达式
c++·笔记·学习
辞旧 lekkk20 小时前
【c++】c++11(上)
开发语言·c++·学习·萌新
彭世瑜20 小时前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
Dream it possible!20 小时前
LeetCode 面试经典 150_回溯_全排列(100_46_C++_中等)
c++·leetcode·面试·回溯
特立独行的猫a20 小时前
C++使用Boost的Asio库优雅实现定时器与线程池工具类
开发语言·c++·线程池·定时器·boost·asio