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 | |
OCAF | Open CASCADE Application Framework |
网络资料
OpenCASCADEhttps://www.opencascade.com/
Open CASCADE Technology Documentationhttps://dev.opencascade.org/doc/overview/html/index.html