opencascade造型引擎功能介绍

更新时间:2023-06-17 21:09:21 阅读: 评论:0

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 有很好的⽀持。钾怎么读
conflictionOpen 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 Ur Interfaces (GUI)
n  数据交换模块提供了将OCC模型导⼊,导出为IGES和STEP等这些标准格式的功能。
Open CASCADE 模型库是Open CASCADE公司基于 CAS.CADE 技术开发和销售的。它的设计是组件化的。 As such, they parate C++ class for:
l  定义数据结构 (geometric modeling, display 和 graphic lection)
l  实现复杂算法
l  提供应⽤程序接⼝ (APIs)
让有关系的或者相似的类在同⼀个包内可以防⽌类的冲突;
C++ 类名的前⾯加上了包的名字做前缀。⽐如所有⽤来定义3D⼏何对象的类都在前⾯加上 Geom前缀。在 Geom中, 实现 Bezier surfaces 的类被命名为 BezierSurface, 它的全名是Geom_BezierSurfac
e。
⼤的模块划分为6个:
基础类:Foundation Class
模型数据:Modeling Data
建模算法:Modeling Algorithms
可视化:Visualization
数据交换:Data Exchange
程序框架:Application Framework
OpenCasCade 6.3⽬录结构:
tensionerl  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,relea。
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 Class (file FoundationClass.*)
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.*)
100percentl  WOK (file WOK.*):WOK (Workshop Organization Kit) is Open CASCADE development environment。l  Wrappers (file Wrappers.*)
OCC的结构框图
1.1  Foundation Class基础类提供了⼀些通⽤的服务:
n  基本数据类型,字符串等
n  堆内存的⾃动化管理
n  异常处理
n  局部⽀持多线程
n  数据集合的处理
n  向量、矩阵及原始⼏何类型的数据计算⼯具
n  ⽤ASCLL⽂件保存数据的基本服务
以上服务组织在以下三个类库中:
n  Kernel Class(内核- TKernel)
n  Math Utilities(数据- TKMath)
n  Basic Persistence(基础持久存储-TKAdvTools)
项⽬⽬录名功能描述
TKernel Dico
FSD
Message
MMgt
NCollection
OSD
Quantity数据及物理数量,是⼀个REAL 值;包括了所有您所需要
的物理量。
Resource英文小说
SortTools
Standard
StdFail
Storage
TCollection
cex
TColStd
TShort
Units
UnitsAPI
UnitsAPI
TKMath Bnd
整机英文BSplCLib
department的缩写BSplSLib
Convert
CSLib
ElCLib
ElSLib
gp STEP-compliant,实现基本⼏何及代数实体,⽤于定义
和处理基本数据结构。
当在更为复杂的数据结构中时,GP实体不可以共享。
Precision
TColgp
TopLoc OCC中使⽤的拓扑数据结构包;提供了处理三维局部坐
标系的资源,
Expr
ExprIntrp
GraphDS
GraphTools
Materials
1. 1.      Root Class是OCC的基本内核,是其它所有类创建的基础,包括:
l  基本数据类型,如BOOLEAN、CHARACTER、INTEGER、REAL(实型);
l  可优化配置和回收⼤量的C++对象的,基于计数的内存管理器;
l  基类(Standard_Transient),通过智能指针-OCC句柄进⾏⾃动化内存管理,⼤多数的OCC类从该类继承;
1. 2.      Quantities类库提供以下服务Standard_Real class:
l  常⽤数学及物理量的基本类型(如长度、⾯积、体积、质量、密度、重量、温度和压⼒);
l  单位的转换
l  ⽇期时间信息
l  颜⾊的管理
1. 3.      Exceptions类库能通过任何OCC功能引发,且兼容ANSI C++标准,允许你处理异常情况;OCC中的每⼀个异常类都直接或间接
的继承于Standard_Failure。
1. 4.      Strings类库提供以下服务处理字符串:
l  ⽤内置的String管理器,编辑操作string对象;
l  处理动态的字符串序列
OCC⽀持ASCII码(8bit)、Unicode字符UTF-8(8bit)、utf-16-UCS-2 (16bit);内存管理使字符串对象使⽤起来⽐字符数组更简单,可以通过名柄处理,可以共享的。串类在TCollection包和NCollection中实现。
1. 5.      Collections类库除了字符串,该包还包含动态⼤⼩数据集合类:
【TCollection】、【TColStd package (Collections of Standard Objects component)】

本文发布于:2023-06-17 21:09:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/148605.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:提供   开发   功能   程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图