OpenCascade Application Framework Introduction

eryar@163.com

本教程介绍了Open CASCADE程序框架(Application Framework)的使用方法。OCAFthe Open CASCADE Application Framework)是一个快速开发程序的框架(Rapid Application Development framework)。OCAF提供的功能有:

u 即时可用的通用CAD/CAM程序的数据;

u 为实现新程序的数据提供的大量协议;

u 基础结构:

n 将任意数据与拓朴元素绑定;

n 将不同程序的数据关联;

n 注册建模过程:创建历史、参数化;

使用OCAF,程序设计者只需要关注功能和指定的算法,而不需要关注架构的问题,如Undo/Redo和程序数据的保存。在OCAF中上述功能已经为程序设计者提供了,这样就可以显著提高其生产力。

从这方面来说,OCAF在众多库中远不止只是个工具箱(toolkit),因其可处理库中的任意数据和算法,包括建模算法、拓朴和几何算法,所以OCAF是对这些库的一个逻辑补充。

下表为只使用对象库和使用OCAF的对比:

开发任务

不使用OCAF

使用OCAF

创建几何对象:调用建模库中的算法

用户自己创建

用户自己创建

组织数据:包括属性和建模过程

用户自己创建

简化

保存数据到文件

用户自己创建

提供

文档/视图 管理

用户自己创建

提供

程序基本功能:新建、打开、保存

用户自己创建

提供

撤销/重做:稳定、多层

用户自己创建

提供

程序特定的对话框

用户自己创建

用户自己创建

OCAF与其它库的关系如下图所示:

剩余的其它章节将会对这些概念进行讲解,并对其使用方法进行介绍。

OpenCascade Application Framework Introduction的更多相关文章

  1. OpenCASCADE Application Framework Data Framework Services

    OpenCASCADE Application Framework Data Framework Services eryar@163.com 一.概述Overview OpenCASCADE的数据框 ...

  2. 每天翻译一点点: WPF Application Framework (WAF)

    ps:http://waf.codeplex.com/wikipage?title=Model-View-ViewModel%20Pattern&referringTitle=Document ...

  3. 侯老师的话(Application Framework)

    摘自http://blog.csdn.net/zlc19876/article/details/5355022 本篇文章主要介绍了"侯老师的话(Application Framework)& ...

  4. 添加一个Application Framework Service

    如何添加一个Application Framework Service(without native code)? 1.本文参照AlarmManagerService实现一个简单的Applicatio ...

  5. C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍

    C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 在现今软件系统纷纷"云化"的浪潮下,各种支持" ...

  6. shiny: Web Application Framework for R

    shiny: Web Application Framework for R 基于R语言的一个web框架,适用于数据分析与图表绘画展示类型的网站.

  7. 【笔记】《深入浅出MFC》第5章 总观Application Framework

    凝聚性强.组织化强的类库就是Application Framework.一组合作无间的对象,彼此藉消息的流动而沟通,并且互相调用对方的函数以求完成任务,这就是Application Framework ...

  8. Android Framework中的Application Framework层介绍

    Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层.我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得. Fr ...

  9. Web Application Framework

    ASP.NET Boilerplate https://github.com/aspnetboilerplate ASP.NET Boilerplate - Web Application Frame ...

随机推荐

  1. linq lamada

    static void Main(string[] args) { List<Customer> cust = new List<Customer>() { ",Ci ...

  2. 数据库SQLite

    一.数据库 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等.离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式: 归档:NSKeyedArchiver 偏好设置:NSU ...

  3. 深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)

    本文首发在infoQ    作者:刘锟洋 前言 经过本系列的上半部分JDK1.8 AbstractQueuedSynchronizer的实现分析(上)的解读,相信很多读者已经对AbstractQueu ...

  4. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  5. Ubuntu 安装mysql和简单操作

    http://www.cnblogs.com/zhuyp1015/p/3561470.html ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get inst ...

  6. sqlserver各备份解释

    1)完全备份 ------------------------------------------- (1)是备份的基准.在做备份时第一次备份都建议使用完全备份. (2)完全备份会备份数据库的所有数据 ...

  7. mongodb(mongoose-redis-cache)

    在传统的项目中,我们经常会用到缓存来优化数据库的读取,比如java中,我们利用spring的AOP能力,在读写数据库前增加对缓存的操作. 在node与mongodb的项目中也仍然会存在类似问题,本文参 ...

  8. C#Light 再推荐,顺便介绍WP8 功能展示项目

    由于在项目中验证了C#Light脚本,C#Light的健壮和稳定程度已经得到了很大的提升. 现在可以更好的把C#Light介绍给大家使用,同时也有更多的自信,告诉大家这是一个已经具有商业价值的类库. ...

  9. MongoDB官网驱动仓库封装

    定义IMongoRepositoryBase接口 public interface IMongoRepositoryBase     {         /// <summary>     ...

  10. Git 远程仓库搭建

    大名鼎鼎的git就不多做介绍了,总之.我们使用git来作为项目的一个版本控制工具,多人开发的项目的时候会轻松很多. 安装git whthomas@whthomas:~/workplace/gitOne ...