Overview of OpenCascade Library

Open CASCADE Technology 是爲特定領域快速開發程序而設計的面向對象的C++類庫。可以使用OCCT來開發二維和三維的通用幾何造型的計算機輔助設計程序CAD(Computer Aided Design),計算機輔助製造程序CAM(Computer Aided Manufacturing)和計算機輔助分析程序CAA(Computer Aided Analysis);仿真程序和繪圖程序。OCCT庫可以明顯快速程序的開發進度。

OCCT庫提供如下功能:

l 2D和3D幾何造型工具箱,可對任何物體造型;

  • n 創建基本圖元,如prismcylinder, 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 提供編程接口;

 

1. OpenCascade架構圖

 

相關的類由包來分組,避免了類名的衝突。C++類名前加上包名作爲前綴。如包Geom中所有的3D幾何體,實現Bezier曲面的類爲BezierSurface,其全稱爲Geom_BezierSurface。

包組成庫,即提供給程序鏈接使用。

最的,庫分組成六個模塊,最小的模塊Foundation Classes包含兩個庫,最大的模塊Modeling Algorithms,包含八個庫。(eryar: 可能是早期版本,最新版本的庫的數量有變化。)這些模塊如下圖所示:

圖2:Object Libraries modules and their contents

 

Foundation Classes基礎類

Modeling Data

建模數據

Modeling Algorithms

建模算法

Visualization

可視化

Data Exchange

數據交換

Application Framework

程序框架

Kernel Classes

核心類

2D Geometry

二維幾何體

Primitives

基本實體

2D3D通用功能

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)爲可視化、建模算法、程序框架和數據交換模塊提供測試。


原文鏈接:

http://www.cnblogs.com/opencascade/p/3265880.html

發佈了22 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章