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 提供編程接口;
圖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 基本實體 |
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)爲可視化、建模算法、程序框架和數據交換模塊提供測試。
原文鏈接:
http://www.cnblogs.com/opencascade/p/3265880.html