OpenCasCade 简介

Open CASCADE是一套开放原始码的CAD/CAM/CAE几何模型核心,源自于法国的Matra Datavision公司,这一套函式库系统原来是著名的CADCAM软体EUCLID的开发平台,但是在1998年, Matra Datavision改变了经营策略,从以销售软体为主改变为提供CAD/CAM/CAE软体服务为主的获利模式,并且在1999年公布Open CASCADE的程式原始码,任何人都可以在该公司的网站上下载并且使用这些程式码,而Matra Datavision则以此函式库为基础位客户建立客制化的数值模拟软体,国内CADCAM产业所需的套装软体常常动辄数百万甚至上千万,如此高昂的软体 费用对于中小企业来说确实是非常沉重的负担,而且套装软体中的功能有些其实根本用不到,但是软体使用者却必须花钱购买这些用不到的功能,如果能够针对中小 企业的需求建构一个精简化的CAD/CAM软体,并且在生产需求改变的时候才增加新的功能,将可以有效节省软体成本,而Open CASCADE的成功经验或许可以提供产业界甚至学术界一些新的思考方向 
Open CASCADE是一个功能强大的三维建模工具,提供了点、线、面、体和复杂形体的显示和交互操作,经过深度开发后可实现纹理、光照、图元填充、渲染等图形操作和放大、缩小、旋转、漫游、模拟飞行、模拟穿越等动态操作。 

 
开源Open CASCADE从底层构建的CAD平台,所以在做机械仿真方面会好用很多,比如数控加工中模拟切屑的去除过程,对于干涉的检查等,使用CASCADE的实体布尔运算即可都可以实现。 
其基本描述从官网翻译大致如下: 
OpenCascade提供二维和三维几何体的生成、显示和分析。主要功能有: 
1.创建锥、柱、环等基本几何体; 
2.对几何体进行布尔操作(相加,相减,相交运算); 
3.倒角,斜切,镂空,偏移,扫视; 
4.几何空间关系计算(法线,点积,叉积,投影,拟合等); 
5.几何体分析(质心,体积,曲率等);

6.空间变换(平移,缩放,旋转)。
高级功能:
1.应用框架服务; 
2.数据交换服务。

 

 

 

      OCC是基于OO概念的C++类库,用于精密设备等设计应用程序。典型的应用是CAD(2D/3D)应用程序的开发,制造业,仿真,或者一些其他的图形工具。OCC让你能够很快的开发这些程序。

 

OCC提供以下模块:

  • 提供2D/3D几何模型库,用以创建任意模型: 创建基本图元包含:棱柱,圆柱,棱锥,圆环等实现了布尔运算(交并差) 

    • 对实体进行倒角,圆角等操作

    • 用偏移,壳,镂空等方式创建实体 

    • 计算属性,例如:surface, volume, center of gravity, curvature

    • 计算几何 projection, interpolation, approximation

  • 模型的显示,和视图操作等这些可视化模块:

    • 3D 旋转 

    • 缩放 

    • 阴影 

  • 一个应用程序框架设计:

    • 让没有几何信息的应用程序联合几何信息 

    • 参数化模型 

    • Java Application Desktop (JAD), a framework for creating your Graphical User Interfaces (GUI)

  • 数据交换模块提供了将OCC模型导入,导出为IGES和STEP等这些标准格式的功能。

Open CASCADE 模型库是Open CASCADE公司基于 CAS.CADE 技术 开发和销售的。它的设计是组件化的。 As such, they separate C++ classes for:

  • 定义数据结构 (geometric modeling, display 和 graphic selection)

  • 实现复杂算法

  • 提供应用程序接口 (APIs)

让有关系的或者相似的类在同一个包内可以防止类的冲突; C++ 类名的前面加上了包的名字做前缀。比如所有用来定义3D几何对象的类都在前面加上 Geom前缀。在 Geom中, 实现 Bezier surfaces 的类被命名为 BezierSurface, 它的全名是Geom_BezierSurface。

大的模块划分为6个,见下表

 

表 1: 类库模块与内容

 

 

基础类

Foundation Classes

模型数据

Modeling Data

建模算法

Modeling Algorithms

可视化

Visualization

数据交换

Data Exchange

程序框架

Application Framework

Kernel Classes

Math Utilities

 

核心类和数学库

2D Geometry

3D Geometry

Geometry Utilities

Topology

 

几何和拓扑

Construction of Primitives

Boolean Operations

Fillets and Chamfers

Offsets, Drafts Sewing and Sweeps

Features

Hidden Line Removal

Geometric Tools

Topological Tools

Services Common to 2D and 3D

2D Visualization

3D Visualization

 

 

IGES
STEP AP203 AP214

Extended data

exchange (XDE)

Data Framework

Data Storage

Application Desktop

 

 

当你安装完成后,你可以找到下面这些目录,这里简单介绍一下目录结构:

 

OCC的目录结构

 

目录树描述 

data - 这里面包含各种不同格式的模型文件。都是occ支持的格式。

doc –occ的文档。

ros/adm - occ团队工具,可以用来重新生成occ。

ros/adm/win32 - 包含Visual C++ 6.0., 7.1. 和 8.0.的工程文件, 用来生成occ的win32版本。

ros/adm/win64 - 包含 Visual C++ 8.0.工程,用来生成win平台64位版本。

ros/drv - 此文件夹包含WOK生成的源码文件。

ros/inc - 包含所有的occ头文件。

ros/src - 此文件夹包含occ源码,根据开发模块组织存放。

ros/win32 - 此文件夹包含了occ的可执行程序(dll)和lib,有debug,release。

Samples - 此文件夹包含了帮助文档中的标准例程。

tools - 包含OCAF 浏览器 和 MFC 应用程序向导工具;

wok – 此文件夹包含 WOK (Workshop Organization Kit) 工具包,用以组织大型项目和开发团队。

3rdparty - 此文件夹包含用以支持occ工作的第三方库(Java, QT and Tcl) 和例程。

uninstall - 卸载要用到的文件。

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页