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 |