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 Extended data exchange (XDE) | Data Framework Data Storage Application Desktop |
当你安装完成后,你可以找到下面这些目录,这里简单介绍一下目录结构:
| 目录树描述 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 - 卸载要用到的文件。 |