1.OCC介绍
Open CASCADE (简称OCC)是一开源的几何造型引擎,OCCT库是由Open CASCADE公司开发和市场运作的。它是为开源社区比较成熟的基于BREP结构的建模引擎,能够满足二维三维实体造型和曲面造型,国内研究和使用它的单位也越来越多。基于该建模引擎发展了若干CAD/CAE/CAM软件,如国外的FreeCAD、HeeksCAD,国内的AnyCAD。OCC可以分为建模、可视化和数据管理(OCAF)三大模块。其中建模为核心组件;可视化组件基于OpenGL库被设计。设计成模块化和易扩展。将C++类与以下内容分离:
- 定义数据结构(几何建模、显示和交互选择);
- 实现复杂算法;
- 提供编程接口;
优势:
- 开源、免费,所以开发成本较低。
- 支持跨平台
- 支持STEP\IGES\STL等文件格式
- 有个OCAF框架,简化开发。
不足:
- 部分算法效率低下,例如布尔运算。
- 显示效果很差,只用到了OpenGL1.2的API。相对其他的三维可视化OpenGL平台(如Coin4d,OpenInventor, Ogre,OSG,Blender,VTK等),功能简单,并且显示效果比较差,不能充分利用GPU硬件加速,,跟HOOPS没得比。
- OCAF采用树的方式管理数据,使用比较复杂,效率比较低,并且不适合自定义扩展。
因此,不推荐使用OCC的可视化和数据管理组件.
1.1 技术架构:
1.2 OCAF框架
1.3 模块介绍:
OCCT库分组成六个模块,最小的模块Foundation Classes包含两个库,最大的模块Modeling Algorithms,包含八个库。(可能是早期版本,最新版本的库的数量有变化。)
这些模块如下图所示:
1.4 OCCT已有功能
(1)模型几何建模引擎
(2)显示渲染引擎
(3)基本交互:
- 背景网格
- ViewCube视图向导
- 拾取选择
- 基本对象的拾取选择-选择点,线,面,体等
(4)模型持久化框架
- 文件保存
- 文件打开
-
基于TK_Model,TDF_Label,TDF_Attribute的树状对象模型
(5)支持事务框架
- Redo/Undo