OCCT库简介
Overview of OCCT Library
Open CASCADE Technology 是为特定领域快速开发程序而设计面向对象的C++类库。可以使用OCCT来开发二维和三维的通用几何造型CAD(Computer Aided Design)程序,CAM(Computer Aided Manufacturing)系统和CAA(Computer Aided Analysis)程序;仿真程序和绘图程序。OCCT库可以让程序开发变得明显快速。
OCCT库提供如下功能:
l 2D和3D几何造型工具箱,可对任何物体造型;
n 创建基本图元,如prism,cylinder, cone, torus;
n 对实体进行布尔操作,addition, subtraction and intersection;
n 根据倒圆、倒角、草图拉伸出几何实体;
n 使用偏移offsets、成壳shelling、挖空hollowing和挤压sweeps构造几何实体;
n 计算几何实体属性,如表面积、体积、重心、曲率半径;
n 使用插值interpolation、逼近approximation、投影projection计算出几何体;
l 可视化功能提供对几何实体的显示、控制功能,例如:
n 三维旋转3D rotation;
n 缩放Zoom;
n 着色Shading;
l 程序框架提供如下功能:
n 将非几何数据与几何实体关联;
n 参数化模型;
n Java Application Desktop(JAD);
OCCT库是由Open CASCADE公司开发和市场运作的。库被设计成模块化和易扩展。将C++类与以下内容分离:
l 定义数据结构(几何建模、显示和交互选择);
l 实现复杂算法;
l 提供编程接口;
相关的类由包来分组,避免了类名的冲突。C++类名前加上包名作为前缀。如包Geom中所有的3D几何体,实现Bezier曲面的类为BezierSurface,其全称为Geom_BezierSurface。
包组成库,即提供给程序链接使用。
最的,库分组成六个模块,最小的模块Foundation Classes包含两个库,最大的模块Modeling Algorithms,包含八个库。(eryar: 可能是早期版本,最新版本的库的数量有变化。)这些模块如下图所示:
图1:Object Libraries modules and their contents
Foundation Classes基础类 |
Modeling Data 建模数据 |
Modeling Algorithms 建模算法 |
Visualization 可视化 |
Data Exchange 数据交换 |
Application Framework 程序框架 |
Kernel Classes 核心类 |
2D Geometry 二维几何体 |
Primitives 基本实体 |
2D和3D通用功能 |
IGES STEP |
Data Framework |
Math Utilities 数学工具 |
3D Geometry 三维几何体 |
Boolean Operations 布尔操作 |
2D Visualization 2D 可视化 |
AP203 AP214 |
Data Storage |
Geometry Utilities 几何工具 |
Fillets and Chamfers 倒圆和倒角 |
3D Visualization 3D 可视化 |
Extended data Exchange (XDE) |
Application Desktop |
|
Topology 拓朴结构 |
Offsets, Drafts, Sewing, Sweeps, |
||||
Hidden Line Removal 消隐 |
|||||
Geometric Tools 几何工具 |
|||||
Topological Tools 拓朴工具 |
另外,Draw Test Harness(Draw)为可视化、建模算法、程序框架和数据交换模块提供测试。
eryar
Shanghai Pudongxin China
2012-8-16
PDF Version: Overview of OCCT Library