Posted on 2012-08-16 22:43
eryar 阅读(7619)
评论(2) 编辑 收藏 引用 所属分类:
2.OpenCASCADE
OCCT库简介
Overview of OCCT Library
eryar@163.com
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