文档章节

OpenCascade简介

eryar
 eryar
发布于 2013/09/23 23:08
字数 772
阅读 438
收藏 1

Overview of OpenCascade Library

eryar@163.com

 

摘要Abstract:对OpenCascade库的功能及其实现做简要介绍。

关键字Key Words:OpenCascadeoccModeling KernelCAD

 

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)为可视化、建模算法、程序框架和数据交换模块提供测试。

 

eryar

Shanghai Pudongxin China

2012-8-16

© 著作权归作者所有

eryar
粉丝 22
博文 127
码字总数 227012
作品 0
武汉
私信 提问
Building OpenCascade on Windows with Visual Studio

Building OpenCascade on Windows with Visual Studio eryar@163.com 摘要Abstract:详细说明OpenCascade的编译配置过程,希望对你编译OpenCascacde有所帮助。本文内容来自OCCT的Overview文档...

eryar
2013/09/23
541
0
OpenCASCADE Make Primitives-Box

OpenCASCADE Make Primitives-Box eryar@163.com Abstract. By making a simple box to demonstrate the BRep data structure of the OpenCASCADE. The construction method is different fr......

eryar
2014/11/23
248
0
如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.

如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.我现在正想用openCASCADE和c++结合起来做一个像cad软件的东西。

chenchenxixi
2012/07/09
1K
2
FreeCAD 0.16 和 0.17 修正版发布

FreeCAD 0.16 和 0.17 修正版发布,FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUC...

周其
2017/12/11
1K
4
编译时的冲突问题

我现在希望同时使用两套开源的图形学方面的软件包,他们是openCASCADE和CGAL。 但我在使用中发现下面的问题: openCASCADE定义了下面的宏 # define Handle(ClassName) Handle_##ClassName --...

梁全
2009/07/25
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

100天搞定机器学习|Day55 最大熵模型

1、熵的定义 熵最早是一个物理学概念,由克劳修斯于1854年提出,它是描述事物无序性的参数,跟热力学第二定律的宏观方向性有关:在不加外力的情况下,总是往混乱状态改变。熵增是宇宙的基本定...

机器学习算法与Python实战
13分钟前
3
0
找子表

select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints b where a.constraint_type = 'R' and b.constraint_type = 'P' and a.r_constrain......

兵荒马乱的青春
15分钟前
4
0
Web应用安全如何防御或者检查漏洞?

     Web应用安全如何防御或者检查漏洞?这是大家一直关心的问题。随着计算机技术的发展,网络漏洞也变得越来越多样化了,你知道吗,每隔9 小时就会发布 1 个严重漏洞,并且有可能会进行远...

梅丽莎好
23分钟前
3
0
Vim 复制粘帖格式错乱问题的解决办法

有时候,复制文本(尤其是代码)到 Vim,会出现格式错乱的问题。看样子,应该是自动缩进惹得祸。本文不去深究原因,直接给出解决方法。 1. paste 模式 运行如下命令,进入 paste 模式: :set...

观海562
25分钟前
3
0
OSM初识(三)OSM Data

一 导出数据 将XML格式的OSM数据转换成另一种格式。 二 提取数据 剪切你选择区域内的数据,或者提取出特定区域特定的特征 三 数据格式 OSM文件仅属于OSM,不能用别的软件打开。其中后缀为bz2...

yuankaichao
34分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部