OpenCascade简介

 

Overview of OpenCascade Library

eryar@163.com

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

关键字Key Words:OpenCascade、occ、Modeling Kernel、CAD

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

eryar

Shanghai Pudongxin China

2012-8-16

 
 

OpenCascade简介的更多相关文章

  1. Introduction of OpenCascade Foundation Classes

    Introduction of OpenCascade Foundation Classes Open CASCADE基础类简介 eryar@163.com 一.简介 1. 基础类概述 Foundat ...

  2. Package gp in the OpenCASCADE

    Package gp in the OpenCASCADE eryar@163.com China 一.简介 Introduction to Package gp gp是几何处理程序包(Geometr ...

  3. OpenCASCADE 包说明

    转载地址:http://www.cppblog.com/eryar/archive/2012/06/30/180916.html 一.简介 Introduction to Package gp gp是 ...

  4. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  5. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  6. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  7. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  8. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  9. OpenCASCADE AIS Manipulator

    OpenCASCADE AIS Manipulator eryar@163.com Abstract. OpenCASCADE7.1.0 introduces new built-in interac ...

随机推荐

  1. Python美女[从新手到高手]--阅读&quot;见个面问题 HashMap 储存方法&quot;联想

    今伯乐在线 上看到一篇文章.一道面试题看 HashMap 的存储方式.也就是问: 在 HashMap 中存放的一系列键值对,当中键为某个我们自己定义的类型.放入 HashMap 后,我们在外部把某一个 ...

  2. Ubuntu更改hosts档

    Ubuntu更改hosts档 打开hosts档 sudo gedit /etc/hosts 下载hosts,并全选复制 hosts 粘贴到hosts文件里.保存就可以 $(function () { ...

  3. PhpStorm 超强语言模板的支持

    原文:[转]PhpStorm 超强语言模板的支持 最近遇到一些PhpStorm编程的问题: 在使用Zen Coding插件时,PHPStorm不像Notepad++那样随便使用.PHPStorm只有在 ...

  4. ActivityLifeCycle官方demo分解

    1.左右Activity生命周期的若干条款: p=330">http://1.duoinfo.sinaapp.com/? p=330 http://1.duoinfo.sinaapp. ...

  5. selenium2入门 用selenium安装、加载、启用插件(一)

    一:下载 下载地址是:http://docs.seleniumhq.org/download/

  6. VS2015 Apache Cordova

    VS2015 Apache Cordova第一个Android和IOS应用   前言 本人个人博客原文链接地址为http://aehyok.com/Blog/Detail/75.html. http: ...

  7. avalonjs 1.3.7发布

    avalonjs 1.3.7发布 又到每个月的15号了,现在avalon已经固定在每个月的15号发布新版本.这次发布又带来许多新特性,让大家写码更加轻松,借助于“操作数据即操作DOM”的核心理念与双向 ...

  8. artTemplate模板

    1.介绍 新一代 javascript 模板引擎. 2.性能(引) 1.性能卓越,执行速度通常是 Mustache 与 tmpl 的 20 多倍(性能测试) 2.支持运行时调试,可精确定位异常模板所在 ...

  9. 异步陷阱之IO

    异步陷阱之IO篇 很多教程和资料都强调流畅的用户体验需要异步来辅助,核心思想就是保证用户前端的交互永远有最高的优先级,让一切费时的逻辑通通放到后台,等到诸事完备,通知一下前端给个提示或者继续下一步.随 ...

  10. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...