OCC开源框架学习分享课件_第1页
OCC开源框架学习分享课件_第2页
OCC开源框架学习分享课件_第3页
OCC开源框架学习分享课件_第4页
OCC开源框架学习分享课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

关于OCC的一些分享周渝曦1精选课件目录研究方法总体描述OCC与MFC框架OCC的基础数据OCC的显示OCC与SmartElectrical数据的设计2精选课件1.研究方法(重点研究2D)1.阅读ppt英文文档,不清楚的地方再参考OCCT帮助文档。(达到对occ有个大致了解的目的)2.重新建立一个OCC工程,在视图窗口中画一个死的基本元素。(能处理各种编译问题,了解occ架构和基本运行原理)3.在此基础上,参考occtry,OCAF的例子,完成对视图中对象的动态绘制及交互处理。(对occ的整个操作模式有个基本的感受,基本入门)4.仔细研究OCAF,在OCAF上实现cad的一些基础功能,包括绘图,插入,移动,拷贝,回退,前进等操作。(达到可以进行SmartElectrical开发的要求)3精选课件2.总体描述选取occ作为底层框架的原因:1.基于C++2.易于实现CAD技术框架,2D,3D扩展性3.支持windows,android,mac4.发展多年,较为成熟,功能完善5.EPLAN等商业软件也采用OCC4精选课件2.总体描述5精选课件2.总体描述FoundationClasses(基本类)1.基本的类型,变量,特殊字符串等定义,比如Standard_Integer2.自动内存管理(handle管理机制)3.对象集合的管理4.基本的数学对象和运算定义,包括矢量,矩阵运算5.内存对象的ACSII码存储?????知识零散,前3条必须掌握6精选课件2.总体描述ModelingData(数据类)1.建立2D,3D几何对象2.各种几何对象建立工具3.建立3D(2D)的TOPO对象重点:必须熟练运用7精选课件2.总体描述ModelingAlgorithms(几何计算类)各种几何计算工具,包括插值,曲面计算等等,,,,暂时可不研究8精选课件2.总体描述MESS(3D网格呈现)主要用于3D实体网格化显示,包括各种工具和方法暂时可不研究9精选课件2.总体描述Visualization(图形显示和交互)InteractiveContext及AIS对象,最重要的显示及交互的环境,所有的显示和交互由它来完成。InteractiveObjects,即交互实体,只有交互实体才能在交互环境中显示。GraphicAttributesManager,用来设置交互实体的图形属性。SelectionFilters,对用户希望的选择进行设置。重点:熟练掌握10精选课件2.总体描述DataExchange(数据交互)STEP等标准的数据结构。(免费)DXF等标准的数据结构。(扩展,收费)稍后研究11精选课件2.总体描述OCAF(应用程序框架)结合mfc,App,doc,view的建立。主要工作在doc和view上,doc建立数据,view完成交互。其他一些功能,拷贝,黏贴,回退,前进,外部数据交换,文档保存等。逐步仔细研究12精选课件3.OCC与MFC框架它是OCAF在MFC上的实现CDocument->OCC_BaseDoc->OCC_2dDocCview->OCC_BaseView->OCC_2dViewpDocTemplateForView2d=newCMultiDocTemplate(IDR_2DTYPE,RUNTIME_CLASS(CMy2dDoc),RUNTIME_CLASS(CMyFrame2D),//customMDIchildframeRUNTIME_CLASS(CMyView2D));13精选课件3.OCC与MFC框架它是OCAF在MFC上的实现CWinApp->OCC_App->MyAppCDocument->OCC_BaseDoc->OCC_2dDoc->My2dDocCview->OCC_BaseView->OCC_2dView->My2dViewpDocTemplateForView2d=newCMultiDocTemplate(IDR_2DTYPE,RUNTIME_CLASS(My2dDoc),RUNTIME_CLASS(MyFrame2D),//customMDIchildframeRUNTIME_CLASS(MyView2D));14精选课件3.OCC与MFC框架视图初始化过程1.在app构造函数中得到opengl连接句柄。2.在doc的构造函数中,用opengl连接创建viewer(仅创建视图指针,而非视图窗口),并作初始化设置。同时通过viewer再得到AISContext交互环境句柄。3.在view的OnInitialUpdate()中,创建窗口(window),完成显示设置。15精选课件主要功能1.Doc完成图形数据的构建,图形数据的处理(移动,拷贝等)。视图自动更新。2.View接收事件的消息,并调用doc中的方法来完成响应。3.OCC与MFC框架16精选课件学习方法仔细读例子代码,理清逻辑关系。3.OCC与MFC框架17精选课件4.OCC基础数据一个图形数据(component)分为以下三部分,并分在不同的package和class下面:Abstaction:图形的数据抽象(极简)Control:图形的各种创建方法Presetation:图形的显示18精选课件4.OCC基础数据1.Abstraction主要分两类Basic:gp,例如gp_Pnt,gp_Circle……Advance(句柄操作):Geom,Geom2d,例如Geom_Pnt,Geom2d_Pnt……19精选课件4.OCC基础数据2.Control20精选课件4.OCC基础数据3.PresentationPresentationPackagesSelectionpackagesBasicManagementPrsMgrSelectMgr2DobjectsV2dandGraphic2dSelectBasics,Select2d,Select3dandStdSelect3DobjectsV3d,Prs3d,Graphic3dandStdPrs21精选课件5.OCC的显示几何基本元素AIS_Interactive_ObjectAISContext->Display()图形数据到显示,调用过程如下:图形Topo结构组合注意:只有AIS_Interactive_Object才可以添加到视图中,其他几何元素不行。22精选课件5.OCC的显示ApplicationInteractiveServices(AIS)类用来管理视图的显示和选择

可以在AIS_Context->display的方式往视图添加AIS_Interactive_Object也可以AIS_Context->remove的方式从视图删除AIS_Interactive_Object23精选课件5.OCC的显示ApplicationInteractiveServices(AIS)类用来管理视图的显示和选择

显示过程自动完成可以在AIS_Context->display的方式往视图添加AIS_Interactive_Object也可以AIS_Context->remove的方式从视图删除AIS_Interactive_Object选中过程自动检测可以在myAISContext->AddFilter(EdgeFilter)的方式设置选择模式24精选课件5.OCC的显示AIS_Interactive_Object分为三类:1.基本类(与几何造型无关):AIS_Point,AIS_Axis

温馨提示

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

评论

0/150

提交评论