opencascade架构_opencascade造型引擎功能介绍

现今的CAD 系统大多通常都基于CAD 系统提供的二次开发包,用户根据要求定制符合自己要求的功能。AutoCAD就提供了AutoLISP、ADS 等都是比较通用的开发工具包。UG 也提供了多种二次开发工具:UG/Open MenuScript、UG/Open API 等。然而此类开发有着自身的缺点:

1.各个CAD 系统提供的二次开发工作各不相同,他们只能提供对特定CAD 系统的支持,甚至不支持相同CAD 系统的不同版本。

2.二次开发构建的协同设计平台,开放性能不够理想,很难充分利用企业现有的软、硬件条件,也很难利用将来增加的各类设施。因为在开发期间,很多功能已和具体的CAD系统静态绑定了。

3.一般CAD 系统功能强大,操作复杂,二次开发只能开发其中的一部分功能。如果要开发一个功能强大的平台,其工作量非常大,从而成本相当高。

Open CASCADE,一个开放源码CAD 内核,可以定制和扩展(添加新的功能组件,类的进一步继承),面向CAD/CAM , 对主流CAD 数据格式提供支持(STEP/STL/IGES 等,可自行开发转换程序提供特定数据格式的支持),提供高级建模函数(拟合,有理样条曲线,拉

伸、旋转、扫出、层叠拉伸、圆角、倒角、薄壳、修剪、偏移等),参数化模型,提供几何模型的特征提取,对Visual C++/MFC 有很好的支持。

Open CASCADE是一套开放源代码的CAD/CAM/CAE几何模型核心,源自于法国的Matra Datavision公司,这一套函式库系统原来是著名的CADCAM软体EUCLID的开发平台,但是在1998年, Matra Datavision改变了经营策略,从以销售软体为主改变为提供CAD/CAM/CAE软体服务为主的获利模式,并且在1999年公布Open CASCADE的程式原始码,任何人都可以在该公司的网站上下载并且使用这些程式码,而Matra Datavision则以此函式库为基础位客户建立客制化的数值模拟软体,国内CADCAM产业所需的套装软体常常动辄数百万甚至上千万,如此高昂的软体 费用对于中小企业来说确实是非常沉重的负担,而且套装软体中的功能有些其实根本用不到,但是软体使用者却必须花钱购买这些用不到的功能,如果能够针对中小 企业的需求建构一个精简化的CAD/CAM软体,并且在生产需求改变的时候才增加新的功能,将可以有效节省软体成本,而Open CASCADE的成功经验或许可以提供产业界甚至学术界一些新的思考方向。

Open CASCADE是一个功能强大的三维建模工具,提供了点、线、面、体和复杂形体的显示和交互操作,经过深度开发后可实现纹理、光照、图元填充、渲染等图形操作和放大、缩小、旋转、漫游、模拟飞行、模拟穿越等动态操作。

开源Open CASCADE从底层构建的CAD平台,所以在做机械仿真方面会好用很多,比如数控加工中模拟切屑的去除过程,对于干涉的检查等,使用CASCADE的实体布尔运算即可都可以实现。

OpenCascade提供二维和三维几何体的生成、显示和分析。主要功能有:

1.创建锥、柱、环等基本几何体;

2.对几何体进行布尔操作(相加,相减,相交运算);

3.倒角,斜切,镂空,偏移,扫视;

4.几何空间关系计算(法线,点积,叉积,投影,拟合等);

5.几何体分析(质心,体积,曲率等);

6.空间变换(平移,缩放,旋转)。

高级功能:

1.应用框架服务;

2.数据交换服务。

OCC是基于OO概念的C++类库,用于精密设备等设计应用程序。典型的应用是CAD(2D/3D)应用程序的开发,制造业,仿真,或者一些其他的图形工具。OCC让你能够很快的开发这些程序。

OCC提供以下模块:

n   提供2D/3D几何模型库,用以创建任意模型: 创建基本图元包含:棱柱,圆柱,棱锥,圆环等实现了布尔运算(交并差)

l   对实体进行倒角,圆角等操作

l   用偏移,壳,镂空等方式创建实体

l   计算属性,例如:surface, volume, center of gravity, curvature

l   计算几何 projection, interpolation, approximation

n   模型的显示,和视图操作等这些可视化模块:

l   3D 旋转

l   缩放

l   阴影

n   一个应用程序框架设计:

l   让没有几何信息的应用程序联合几何信息

l   参数化模型

l   Java Application Desktop (JAD), a framework for creating your Graphical User Interfaces (GUI)

n   数据交换模块提供了将OCC模型导入,导出为IGES和STEP等这些标准格式的功能。

Open CASCADE 模型库是Open CASCADE公司基于 CAS.CADE 技术 开发和销售的。它的设计是组件化的。 As such, they separate C++ classes for:

l   定义数据结构 (geometric modeling, display 和 graphic selection)

l   实现复杂算法

l   提供应用程序接口 (APIs)

让有关系的或者相似的类在同一个包内可以防止类的冲突;

C++ 类名的前面加上了包的名字做前缀。比如所有用来定义3D几何对象的类都在前面加上 Geom前缀。在 Geom中, 实现 Bezier surfaces 的类被命名为 BezierSurface, 它的全名是Geom_BezierSurface。

大的模块划分为6个:

基础类:Foundation Classes

模型数据:Modeling Data

建模算法:Modeling Algorithms

可视化:Visualization

数据交换:Data Exchange

程序框架:Application Framework

OpenCasCade 6.3目录结构:

l   data -这里面包含各种不同格式的模型文件。都是occ支持的格式。

l   doc–occ的文档。

l   ros/adm - occ团队工具,可以用来重新生成occ。

l   ros/adm/win32 -包含Visual C++ 6.0., 7.1. 和 8.0.的工程文件, 用来生成occ的win32版本。

l   ros/adm/win64 -包含 Visual C++ 8.0.工程,用来生成win平台64位版本。

l   ros/drv -此文件夹包含WOK生成的源码文件。

l   ros/inc -包含所有的occ头文件。

l   ros/src -此文件夹包含occ源码,根据开发模块组织存放。

l   ros/win32 -此文件夹包含了occ的可执行程序(dll)和lib,有debug,release。

l   Samples -此文件夹包含了帮助文档中的标准例程。

l   tools -包含OCAF 浏览器 和 MFC 应用程序向导工具;

l   wok– 此文件夹包含 WOK (Workshop Organization Kit) 工具包,用以组织大型项目和开发团队。

l   3rdparty -此文件夹包含用以支持occ工作的第三方库(Java, QT and Tcl) 和例程。

l   uninstall -卸载要用到的文件。

VS 下 Open Cascade Source Code 编译及自定义工程设置:

源码编译--工程编译顺序:

l   Foundation Classes (file FoundationClasses.*)

l   Modeling Data (file ModelingData.*)

l   Modeling Algorithms (file ModelingAlgorithms.*)

l   Visualization (file Visualization.*)

l   Application Framework (file ApplicationFramework.*)

l   Data Exchange (file DataExchange.*)

l   Draw (file Draw.*)

l   WOK (file WOK.*):WOK (Workshop Organization Kit) is Open CASCADE development environment。

l   Wrappers (file Wrappers.*)

OCC的结构框图

1.1   Foundation Classes基础类提供了一些通用的服务:

n   基本数据类型,字符串等

n   堆内存的自动化管理

n   异常处理

n   局部支持多线程

n   数据集合的处理

n   向量、矩阵及原始几何类型的数据计算工具

n   用ASCLL文件保存数据的基本服务

以上服务组织在以下三个类库中:

n   Kernel Classes(内核- TKernel)

n   Math Utilities(数据- TKMath)

n   Basic Persistence(基础持久存储-TKAdvTools)

项目

目录名

功能描述

TKernel

Dico

FSD

Message

MMgt

NCollection

OSD

Quantity

数据及物理数量,是一个REAL 值;包括了所有您所需要的物理量。

R

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值