OpenCASCADE源码分析:总论

OpenCASCADE是20世纪90年代由法国Matra Datavision公司开发的三维曲面/实体造型引擎,目前,国内许多CAE软件将其用作几何模块的开发。

本文拟从系统设计的角度,对OpenCASCADE架构(核心组件、关键流程等)进行概要性总结。

注1:限于研究水平,分析难免不当,欢迎批评指正。

注2:文章内容会不定期更新。

1. Foundation Classes

2. Modeling Data

3. Modeling Algorithm

4. Visualization

如同大多数可视化系统一样,OpenCASCADE Visualization也大体上分成了两步:

第一步,将几何模型转换成底层渲染引擎能够识别的几何图元;

第二步,将几何图元送入底层渲染引擎完成渲染。

几何模型转换成几何图元,

几何图元渲染,

5. Data Exchange

6. Mesh

7. Application Framework (OCAF)

按照面向对象设计(Object Oriented Design, OOD)的原则,需要借助数据对象模型(Data Object Model)来组织领域模型:整个程序具有全局唯一的Application对象,Application对象负责管理所有的Document对象,每个Document对象由层状化的数据对象组成,数据对象可以有若干属性。

Ref. from Acise: A CAx Industrial Software Ecology 

As for a general CAx application software, it's usually a touch requirement to manage the application-specific data and its related business logic. Following the object-oriented design, data should be modeled as objects which can have a few of properties. Usually, these data objects can be grouped into a hierarchy of objects. The method to organize these objects is called 'data object model'. In addition, users are willing to interact with these data objects through UI elements. These UI elements present these data objects, fetch user events from users and make appropriate reactions.

实际上,OCAF正是基于这种数据对象模型,提供了CAx应用程序开发的框架。具体来说,OCAF承担的主要职责包括:

  • 文档管理:文档串行化/反串行化
  • 数据对象模型:TDF_Label、TDF_Attribute、TDocStd_Document

7.1 文档对象反串行化

7.2 文档对象串行化

附录:词汇表

释义
CDM
CDF
OCAFOpen CASCADE Application Framework

网络资料

OpenCASCADEicon-default.png?t=N7T8https://www.opencascade.com/

Open CASCADE Technology Documentationicon-default.png?t=N7T8https://dev.opencascade.org/doc/overview/html/index.html

Acise: A CAx Industrial Software Ecologyicon-default.png?t=N7T8https://blog.csdn.net/qq_26221775/article/details/133831665?spm=1001.2014.3001.5501

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值