很高兴在雪易的CSDN遇见你
VTK技术爱好者 QQ:870202403 公众号:VTK忠粉
前言
本文分享OpenCasCade的基本介绍,了解其基本情况,希望对各位小伙伴有所帮助!
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的点赞就是我的动力(^U^)ノ~YO
1. OCCT概述
OCCT,全称为OpenCasCade Technology,是一个开源的3D建模库。该库编程语言为C++,采用面向对象的设计方法。
最新的OCC库包含7个模块,分别为基础类模块(Foundation Classes)、建模数据模块(Modeling Data)、建模算法模块(Modeling Algorithms)、可视化模块(Vilualization)、数据交换模块(Data Exchange)、应用 程序模块(Application Framework - OCAF)和 绘制测试线束模块(Draw Test Harness)。其中,建模数据模块主要提供二维和三维几何模型的数据结构,也称 数据结构模块。
OCCT用户指南:Open CASCADE Technology: Introduction
其 模块化结构如下图所示:
- 基础类模块是所有其他 OCCT 类的基础;
- 建模数据模块提供数据结构以将 2D 和 3D 几何图元及其组合表示为 CAD 模型;
- 建模算法模块包含大量的几何和拓扑算法;
- “建模算法”模块中的网格工具包实现了对象的镶嵌表示;
- 可视化模块为图形数据表示提供了复杂的机制;
- 数据交换模块与流行的数据格式互操作,并依靠形状修复来提高不同供应商的 CAD 软件之间的兼容性;
- 应用程序框架模块提供现成的解决方案,用于处理特定于应用程序的数据(用户属性)和常用功能(保存/恢复、撤消/重做、复制/粘贴、跟踪 CAD 修改等)。
此外,Open CASCADE Test Harness,也称为Draw,提供了库的入口点,可用作其模块的测试工具。
2. OCC特征
2.1 Geometric Modeling
- 计算两个2D曲线、曲面,以及3D曲线和曲面的交集。
- 点在2D和3D曲线上的投影;点在曲面上的投影;3D曲线在曲面上的投影。
- 从约束构造线和圆。
- 从约束中构建曲线和曲面。
- 根据约束(插值、逼近、蒙皮、间隙填充等)构建自由曲线和曲面。
2.2 Surface and solid modeling
- 构建基元(box,sphere,cylinder,cone,torus,wedge)
- 计算及比较不同shape之间的距离
- 构建棱镜和管道
- 曲面的扩展和旋转
- 曲线及曲面的偏置
- 倒角和倒圆角
- 布尔运算
2.3 Data Exchange
支持的数据格式如下:
B-Rep: STEP (ISO 10303), IGES, BREP (native)
Mesh: glTF, VRML (ISO 14772), OBJ Wavefront, STL
2.4 Visualization
- 基于OpenGL和OpenGL ES的跨平台渲染器
- 兼容移动,嵌入式(OpenGL ES)和web (WebGL)平台
- 内置逼真的光线追踪引擎,支持全局照明
- 带封盖的裁剪平面/盒
- pbr金属-粗糙度材料工作流程
- 快速算法挑选对象的鼠标
结论:
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!