OCC介绍及框架分析

1.OCC介绍

Open CASCADE (简称OCC)是一开源的几何造型引擎,OCCT库是由Open CASCADE公司开发和市场运作的。它是为开源社区比较成熟的基于BREP结构的建模引擎,能够满足二维三维实体造型和曲面造型,国内研究和使用它的单位也越来越多。基于该建模引擎发展了若干CAD/CAE/CAM软件,如国外的FreeCAD、HeeksCAD,国内的AnyCAD。OCC可以分为建模、可视化和数据管理(OCAF)三大模块。其中建模为核心组件;可视化组件基于OpenGL库被设计。设计成模块化和易扩展。将C++类与以下内容分离:

  • 定义数据结构(几何建模、显示和交互选择);
  • 实现复杂算法;
  • 提供编程接口;

优势:

  • 开源、免费,所以开发成本较低。
  • 支持跨平台
  • 支持STEP\IGES\STL等文件格式
  • 有个OCAF框架,简化开发。

不足:

  • 部分算法效率低下,例如布尔运算。
  • 显示效果很差,只用到了OpenGL1.2的API。相对其他的三维可视化OpenGL平台(如Coin4d,OpenInventor, Ogre,OSG,Blender,VTK等),功能简单,并且显示效果比较差,不能充分利用GPU硬件加速,,跟HOOPS没得比。
  • OCAF采用树的方式管理数据,使用比较复杂,效率比较低,并且不适合自定义扩展。

因此,不推荐使用OCC的可视化和数据管理组件.

1.1 技术架构:

1.2 OCAF框架

1.3 模块介绍:

OCCT库分组成六个模块,最小的模块Foundation Classes包含两个库,最大的模块Modeling Algorithms,包含八个库。(可能是早期版本,最新版本的库的数量有变化。)

这些模块如下图所示:

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

拓朴工具

1.4 OCCT已有功能

(1)模型几何建模引擎
(2)显示渲染引擎
(3)基本交互:
  • 背景网格
  • ViewCube视图向导
  • 拾取选择
  • 基本对象的拾取选择-选择点,线,面,体等
(4)模型持久化框架
  • 文件保存
  • 文件打开
  • 基于TK_Model,TDF_Label,TDF_Attribute的树状对象模型

      (5)支持事务框架

  •  Redo/Undo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算几何【Pick定理】

Pick 定理 Pick 定理:给定顶点均为整点的简单多边形,皮克定理说明了其面积 A {\displaystyle A} A 和内部格点数目 i {\displaystyle i} i、边上格点数目 b {\displaystyle b} b 的关系: A i b 2 − 1 {\displaystyle Ai{\frac {b}{2}}…

操作系统 文件系统

实验目的: 掌握文件系统设计的基本思想。理解掌握文件系统基本数据结构的设计。理解掌握文件操作中涉及的数据结构访问过程。 实验内容: 1、编程实现一个简单的内存文件系统。实现Linux常见的一些文件操作命令。比如:ls/cat/cp/rm等。 实…

链表经典面试题--链表修至圆满

目录 1.环形链表 a.为什么一定会相遇,有没有可能会错过,永远追不上?请证明 b.slow一次走1步,fast走3步 4步 5步 n步还一定追得上吗 请证明 2.环形链表2 3.随机链表的复制 1.环形链表 141. 环形链表 - 力扣(Lee…

数学建模基础:数学建模概述

目录 前言 一、数学建模的步骤 二、模型的分类 三、模型评价指标 四、常见的数学建模方法 实际案例:线性回归建模 步骤 1:导入数据 步骤 2:数据预处理 步骤 3:建立线性回归模型 步骤 4:模型验证 步骤 5&…

进销存系统哪个好?2024最新进销存系统推荐(持续更新中)

现在市面上的进销存系统太多了,企业的选择越多,越容易踩坑。那企业在选择进销存系统时,需要考虑哪些因素? 1、系统的适配性 在进行选择之前,就应该先清楚自己的企业是重财务流管理、还是生产业务流管理、还是销售订单…

不是吧?爱上用AI绘画Stable Diffusion 出图的老板搞这出?打工人的时间真不多了

家人们!AI留给职场打工人的时间真的不多了! 有长远打算的老板们,已经开始研究AI了! 甚至有设计师说,自己辛辛苦苦做的海报没过,AI做的却被老板通过了!? 这两年,伴随着AI…

Unity3D 八叉树划分空间和可视化

也许更好的阅读体验 成果展示 代码 OctreeNode using System.Collections; using System.Collections.Generic; using UnityEngine; public class OctreeNode {//空间内包含的物体public List<GameObject> areaObjects;//空间中心public Vector3 center;//空间大小pub…

Sqlite3入门和c/c++下使用

1. SQLite3基本介绍 1.1 数据库的数据类型 1.2 基本语法 1. 创建数据表格 create table 表名(字段名 数据类型&#xff0c; 字段名 数据类型)&#xff1b; create table student(id int, name varchar(256), address text, QQ char(32)); 2. 插入数据 insert into 表名 valu…

工业制造领涉及的8大常见管理系统,如mes、scada、aps、wms等

在工业生产和制造领域有一些常见的管理系统&#xff0c;很多小伙伴分不清&#xff0c;这次大美B端工场带领大家了解清楚。 MES&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;&#xff1a; MES是一种用于监控、控制和优化生产过程的软件系统…

省市区下拉选择:3个el-select(附完整代码+json)

目录 直接上做出的效果&#xff1a; 页面代码&#xff1a; 使用click.native&#xff1a; data及引入&#xff1a; 初始化&#xff1a; methods&#xff1a; JSON: 示例结构&#xff1a; 1.code.json 2.pca-code.json 回显&#xff1a; 视频效果&#xff1a; 直接上做出…

安装jfrog container registry(jcr)

1、下载软件 下载地址,本案例下载的是jfrog-artifactory-jcr-7.59.11-linux.tar.gz: https://releases.jfrog.io/artifactory/bintray-artifactory/org/artifactory/jcr/jfrog-artifactory-jcr/ 2、解压下载下来的压缩包 tar zxf jfrog-artifactory-jcr-7.59.11-linux.tar…

【Linux】Xshell和Xftp简介_安装_VMware虚拟机使用

1、简介 Xshell简介 Xshell是一款强大的安全终端模拟软件支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议。该软件通过互联网实现到远程主机的安全连接&#xff0c;并通过其创新性的设计和特色帮助用户在复杂的网络环境中高效工作。Xshell可以在Windows界面下访问远端不…

电脑怎么卸载软件?多个方法合集(2024年新版)

在电脑的日常使用中&#xff0c;我们经常需要安装各种软件来满足不同的需求&#xff0c;但随着时间的推移&#xff0c;可能会出现一些软件不再需要或需要更换的情况。此时&#xff0c;及时从电脑上卸载这些不必要的软件是非常重要的。它不仅可以释放硬盘空间&#xff0c;还可以…

顶级管理者的新视角:管理状态而非时间

在快节奏的商业环境中&#xff0c;时间管理常被看作是提升效率和效果的关键因素。然而&#xff0c;对于顶级管理者来说&#xff0c;仅仅管理时间可能并不足够。一个更深层、更全面的管理方式——管理状态&#xff0c;正在成为新的趋势。在这篇文章中&#xff0c;我们将探讨为什…

MPLS TE简介

定义 MPLS TE&#xff08;MPLS Traffic Engineering&#xff09;&#xff0c;即MPLS流量工程。MPLS流量工程通过建立基于一定约束条件的LSP隧道&#xff0c;并将流量引入到这些隧道中进行转发&#xff0c;使网络流量按照指定的路径进行传输&#xff0c;达到流量工程的目的。 …

泰克DPO4104示波器

特色&#xff1a; Inspector智能存储管理 2.串行触发和分析 3.10.4”较大的显示器, 板上USB和CompactFlash端口, 及TekVPI?改善的探头接口, 较强的操作渐 变性 商品名称 &#xff1a;DPO4104数字荧光示波器 商品型号 &#xff1a;泰克DPO4104 商品简介 &#xff1a;1GHz带宽…

欧盟CE认证 包过亚马逊 方华快捷办理 价格三位数

什么是CE证书 CE证书是欧洲共同体&#xff08;European Community&#xff09;规定的产品合格性认证&#xff0c;全称为“Conformit Europene”&#xff0c;意为“欧洲合格性”。在欧洲经济区内销售的产品&#xff0c;必须符合欧洲的相关法律法规和标准&#xff0c;而获得CE证…

剪画小程序:音频混音攻略:从新手到高手的必备方法!

在我们欣赏他人发布的视频时&#xff0c;常常会留意到除了清晰的人声&#xff0c;还有相得益彰的背景音乐。 这些背景音乐并非录制时同步播放&#xff0c;而是后期添加而成。那究竟怎样给音频添加背景音乐呢&#xff1f; 今天&#xff0c;小编为大家整理了几种实用方法&#xf…

【Docker安装】Ubuntu系统下部署Docker环境

【Docker安装】Ubuntu系统下部署Docker环境 前言一、本次实践介绍1.1 本次实践规划1.2 本次实践简介二、检查本地环境2.1 检查操作系统版本2.2 检查内核版本2.3 更新软件源三、卸载Docker四、部署Docker环境4.1 安装Docker4.2 检查Docker版本4.3 配置Docker镜像加速4.4 启动Doc…

【Unity】实现分屏开发

前言&#xff1a; 最近有个项目二期需要做分屏开发&#xff0c;今天恰好研究一下为后续的项目做个准备。 原理 整体的实现还是蛮简单的&#xff0c;主要是通过camera的一个targetDisplay属性进行设置 可以看到unity支持最多八个分屏 实现 场景搭建 &#xff0c;这里直接使…