天天看點

OCCT庫簡介

<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>