OCC开源框架学习分享资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.OCC基础数据
1.Abstraction 主要分两类
Basic:gp,例如gp_Pnt,gp_Circle…… Advance(句柄操作):Geom,Geom2d,例如 Geom_Pnt,Geom2d_Pnt ……
4.OCC基础数据
2.Control
4.OCC基础数据
3.Presentation
知识零散,前3条必须掌握
2.总体描述
Modeling Data(数据类) 1.建立2D,3D几何对象 2.各种几何对象建立工具 3.建立3D(2D)的TOPO对象
重点:必须熟练运用
2.总体描述
Modeling Algorithms(几何计算类) 各种几何计算工具,包括插值,曲面计算等等,,,, 暂时可不研究
2.重新建立一个OCC工程,在视图窗口中画一个死的基 本元素。 (能处理各种编译问题,了解occ架构和基本 运行原理)
3.在此基础上,参考occtry,OCAF的例子,完成对视图 中对象的动态绘制及交互处理。 (对occ的整个操作模 式有个基本的感受,基本入门)
4.仔细研究OCAF,在OCAF上实现cad的一些基础功能, 包括绘图,插入,移动,拷贝,回退,前进等操作。 (达到可以进行Smart Electrical开发的要求)
Cview->OCC_BaseView->OCC_2dView
pDocTemplateForView2d = new CMultiDocTemplate( IDR_2DTYPE, RUNTIME_CLASS(CMy2dDoc), RUNTIME_CLASS(CMyFrame2D), // custom MDI child frame RUNTIME_CLASS(CMyView2D));
3.OCC与MFC框架
它是OCAF在MFC上的实现
CWinApp->OCC_App->MyApp
CDocument->OCC_BaseDoc->OCC_2dDoc->My2dΒιβλιοθήκη Baiduoc
Cview->OCC_BaseView->OCC_2dView->My2dView
pDocTemplateForView2d = new CMultiDocTemplate( IDR_2DTYPE, RUNTIME_CLASS(My2dDoc), RUNTIME_CLASS(MyFrame2D), // custom MDI child frame RUNTIME_CLASS(MyView2D));
2.总体描述
OCAF(应用程序框架)
1. 结合mfc,App,doc,view的建立。 2. 主要工作在doc和view上,doc建立数据,view完成交互。 3. 其他一些功能,拷贝,黏贴,回退,前进,外部数据交换,
文档保存等。
逐步仔细研究
3.OCC与MFC框架
它是OCAF在MFC上的实现
CDocument->OCC_BaseDoc->OCC_2dDoc
2.总体描述
选取occ作为底层框架的原因:
1.基于C++ 2.易于实现CAD技术框架,2D,3D扩展性 3.支持windows,android,mac 4.发展多年,较为成熟,功能完善 5.EPLAN等商业软件也采用OCC
2.总体描述
2.总体描述
Foundation Classes(基本类)
1.基本的类型,变量,特殊字符串等定义,比如Standard_Integer 2.自动内存管理(handle管理机制) 3.对象集合的管理 4.基本的数学对象和运算定义,包括矢量,矩阵运算 5.内存对象的ACSII码存储?????
OCC开源框架学习分享
目录
1.研究方法 2.总体描述 3.OCC与MFC框架 4.OCC的基础数据 5.OCC的显示 6.OCC与Smart Electrical数据的设计
1.研究方法(重点研究2D)
1.阅读ppt英文文档,不清楚的地方再参考OCCT帮助文 档。(达到对occ有个大致了解的目的)
3.OCC与MFC框架
主要功能
1.Doc完成图形数据的构建,图形数据的处理(移动,拷贝 等)。视图自动更新。 2.View接收事件的消息,并调用doc中的方法来完成响应。
3.OCC与MFC框架
学习方法 仔细读例子代码,理清逻辑关系。
4.OCC基础数据
一个图形数据(component)分为以下三部分,并分在不 同的package和class下面: Abstaction:图形的数据抽象(极简) Control:图形的各种创建方法 Presetation:图形的显示
3.OCC与MFC框架
视图初始化过程
1.在app构造函数中得到opengl连接句柄。
2.在doc的构造函数中,用opengl连接创建viewer(仅创建 视图指针,而非视图窗口),并作初始化设置。同时通过 viewer再得到AISContext交互环境句柄。
3.在view的OnInitialUpdate()中,创建窗口(window),完 成显示设置。
2.总体描述
MESS(3D网格呈现) 主要用于3D实体网格化显示,包括各种工具和方法 暂时可不研究
2.总体描述
Visualization(图形显示和交互)
1. Interactive Context 及AIS对象,最重要的显示及交互的环境, 所有的显示和交互由它来完成。
2. Interactive Objects,即交互实体,只有交互实体才能在交互环 境中显示。
Presentation Packages Selection packages
Basic Management
PrsMgr
SelectMgr
2D objects 3D objects
V2d and Graphic2d
SelectBasics, Select2d, Select3d and StdSelect
3. Graphic Attributes Manager,用来设置交互实体的图形属性。 4. Selection Filters,对用户希望的选择进行设置。
重点:熟练掌握
2.总体描述
Data Exchange(数据交互) 1. STEP等标准的数据结构。(免费) 2. DXF等标准的数据结构。(扩展,收费) 稍后研究