协同设计系统模型浏览平台的研究与实现_第1页
协同设计系统模型浏览平台的研究与实现_第2页
协同设计系统模型浏览平台的研究与实现_第3页
协同设计系统模型浏览平台的研究与实现_第4页
协同设计系统模型浏览平台的研究与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6卷 第1期 中 国 水 运 Vol.6 No.12008年 1月 China Water Transport January 2008 收稿日期:2007-11-20作者简介:黄鹏程 男(1983- 杭州电子科技大学图形图像研究所 研究生 (310018 研究方向:虚拟现实、计算机图形学基金项目:玉环县重大科技攻关项目(KYH073106002协同设计系统模型浏览平台的研究与实现黄鹏程 王 明 郑 浩摘 要:本文主要探讨了利用开源CAD 内核Open CASCADE,建立协同设计系统模型浏览平台设计与实现的过程。详细阐述了基于OCAF(Open CASCADE Application Fr

2、amework平台单文档框架的建立,并在此基础上介绍了平台各种标准CAD 格式的支持,最终实现了系统平台。 关键词:Open CASCADE OCAF 协同设计 模型浏览中图分类号:TP311.51 文献标识码:A 文章编号:1006-7973(200801-0180-02协同设计是现代集成制造系统技术研究的一个重要领域,也是实施敏捷制造、智能制造、虚拟制造、网络化制造等各种先进制造模式的一项重要支撑技术。然而在实现协同过程之前,我们需要有模型浏览的平台,提供模型的显示与更新以及模型文件的导入及导出。针对这一需求,本文通过分析通用的开发方法,然后提出了可行的开发方案,提出了建立基于OCAF 1

3、(Open CASCADE Application Framework的系统模型浏览平台的开发方案,最终我们成功实现了基于OCAF 的单文档应用程序,为协同设计提供了良好的模型浏览平台。一、协同设计系统开发方法分析现今的CAD 系统大多通常都基于CAD 系统提供的二次开发包,用户根据要求定制符合自己要求的功能。AutoCAD 就提供了AutoLISP、ADS 2等都是比较通用的开发工具包。UG 也提供了多种二次开发工具:UG/Open MenuScript、UG/Open API 等。然而此类开发有着自身的缺点:1.各个CAD 系统提供的二次开发工作各不相同,他们只能提供对特定CAD 系统的支

4、持,甚至不支持相同CAD 系统的不同版本。2.二次开发构建的协同设计平台,开放性能不够理想,很难充分利用企业现有的软、硬件条件,也很难利用将来增加的各类设施。因为在开发期间,很多功能已和具体的CAD 系统静态绑定了。3.一般CAD 系统功能强大,操作复杂,二次开发只能开发其中的一部分功能。如果要开发一个功能强大的平台,其工作量非常大,从而成本相当高。一般情况,协同平台有两种实现方法:远程桌面共享和控制;基于操作命令的同步更新。前者是在服务器和客户端间传送图像,网络流量比较大,具有较大的网络延时;后者网络流量相对较小,它只是传送各客户端的操作命令,然而由于CAD 系统命令复杂,正确解析命令将是一

5、项困难的任务。Open CASCADE,一个开放源码CAD 内核,可以定制和扩展(添加新的功能组件,类的进一步继承,面向CAD/CAM ,对主流CAD 数据格式提供支持(STEP/STL/IGES 等,可自行开发转换程序提供特定数据格式的支持,提供高级建模函数(拟合,有理样条曲线,拉伸、旋转、扫出、层叠拉伸、圆角、倒角、薄壳、修剪、偏移等,参数化模型,提供几何模型的特征提取,对Visual C+/MFC 有很好的支持。经上分析,本系统采用基于Open CASCADE 开发。 二、基于OCAF 单文档框架的建立Open CASCADE 不仅为用户提供了三维建模、几何体复杂运算、可视化模块等相关类

6、库,还为用户提供了OCAF,它是一种基于Open CASCADE 的RAD (Rapid Application Development,快速开发工具框架,为用户(即开发人员提供了一个快速开发的手段。OCAF 对于Open CASCADE 是一个的辅助工具,在算法、拓扑或几何建模的过程中,OCAF 能处理这些类库中的任何数据和算法,这个框架还可以用于组织、保存应用数据。通过使用OCAF,应用程序设计者可以专注于功能以及某些特别的算法,值得一提的是实现“撤销/重做(Undo-Redo”命令以及“保存应用程序数据”命令,避免了很多底层建模的问题。基于MFC 单文档应用程序,我们完成了基于OCAF

7、单文档应用程序框架。具体方法是在MFC 框架的相应函数中添加相应的代码来完成OCAF 应用原型的初始化。建立过程如下:图1基于OCAF单文档应用程序建立过程第1期黄鹏程等:协同设计系统模型浏览平台的研究与实现 1811.由TDocStd_Application派生的应用程序类来初始化应用程序,然后在应用程序类的构造函数中利用Graphic3d_WNTGraphicDevice类初始化虚拟三维环境的显示设备;2.由显示设备初始化三维视图器,再由三维视图器初始化交互环境,在这个过程中,可以选择设置三维环境的初始值;3.由应用程序创建OCAF文档,文档用来保存模型数据;4.初始化OCAF视图(1由三

8、维视图器初始化OCAF视图,并把OCAF视图和显示窗口关联;(2初始化窗口;(3把三维视图器加入OCAF文档中。5.在MFC框架的View类的OnSize和OnDraw函数中,完成OCAF重绘的初始化。三、数据交换方法利用国际标准,把CAD系统中的模型通过各自的数据转换接口将其内部的模型数据信息转换为符合所选标准的中性文档描述文件,然后通过系统的数据转换接口把这些中性文档的数据读入系统。因此只要异构的CAD系统支持同一种数据交换标准,就可以实现异构CAD系统之间通过本平台进行协同。参见图2。 图2 数据交换模型Open CASCADE数据交换模块提供了大多数标准三维CAD模型格式的读写工具类,

9、包括STEP、IGES、BREP 等 4。举例STEP格式文件读写实现如下。STEP格式文件导入STEPControl_Reader aReader; / 创建STEP 格式文件读取器实例IFSelect_ReturnStatus status = aReader. ReadFile(aFileName; / 读取文件,返回状态变量/ 读取实体,存入Open CASCADE一个形体序列类TopTools_HSequenceOfShape的一个实例aHSequenceOfShape中Standard_Integer nbs = aReader.NbShapes(;for (Standard_In

10、teger i=1; i<=nbs; i+ aHSequenceOfShape->Append(aReader.Shape(i; STEP格式文件保存/ 创建STEP格式文件写入器实例,从形体序列类实例aHSequenceOfShape中读取形体信息到写入器,最后把信息写入文件STEPControl_Writer aWriter;IFSelect_ReturnStatus status;for (Standard_Integer i=1;i<=aHSequenceOfShape->Length(;i+status = aWriter.Transfer(aHSequenc

11、eOfShape->Value(i, aValue;if ( status != IFSelect_RetDone return status;status = aWriter.Write(aFileName;四、结束语目前的本平台功能还远远不完善,但是这个系统作为三维CAD模型协同设计的模型浏览的平台,在系统框架设计上是很具有扩展性的,值得肯定的是作为进一步研究的起点。随着网络技术的快速发展,更快更好的协同将成为可能,三维CAD模型协同造型系统显然还处于早期的发展阶段,相信不久的将来在整个三维CAD开发过程中,它们将起到更为重要的作用。参考文献1 http:/www.opencasca

12、/ (2003.ObjectLibraries Application Framework Users Guide. 2 AutoCAD二次开发语言及工具介绍./thread-366503-1-1.html.3 UG二次开发技术的研究.cadstudio/ug1/ug_grip.htm.4 / (2003.XDE UsersGuide.Abstract:This paper discusses how to use the open source CAD kernel, called Open CASCADE, building our collaborative design systems model browse platform, proposes the building of single

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论