<a href="mailto:[email protected]">[email protected]</a>
<b>Open CASCADE Technology</b> 是为特定领域快速开发程序而设计面向对象的<b>C++</b>类库。可以使用<b>OCCT</b>来开发二维和三维的通用几何造型<b>CAD(Computer Aided Design)</b>程序,<b>CAM(Computer Aided Manufacturing)</b>系统和<b>CAA(Computer Aided Analysis)</b>程序;仿真程序和绘图程序。<b>OCCT</b>库可以让程序开发变得明显快速。
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:<b>Object Libraries modules and their contents</b>
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)为可视化、建模算法、程序框架和数据交换模块提供测试。
<b>eryar</b>
<b>Shanghai Pudongxin China</b>
<b>2012-8-16</b><b></b>