- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于OCC的一些分享
周渝曦
目录
研究方法
总体描述
OCC与MFC框架
OCC的基础数据
OCC的显示
OCC与Smart Electrical数据的设计
1.研究方法(重点研究2D)
1.阅读ppt英文文档,不清楚的地方再参考OCCT帮助文档。(达到对occ有个大致了解的目的)
2.重新建立一个OCC工程,在视图窗口中画一个死的基本元素。 (能处理各种编译问题,了解occ架构和基本运行原理)
3.在此基础上,参考occtry,OCAF的例子,完成对视图中对象的动态绘制及交互处理。 (对occ的整个操作模式有个基本的感受,基本入门)
4.仔细研究OCAF,在OCAF上实现cad的一些基础功能,包括绘图,插入,移动,拷贝,回退,前进等操作。(达到可以进行Smart Electrical开发的要求)
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码存储?????
知识零散,前3条必须掌握
2.总体描述
Modeling Data(数据类)
1.建立2D,3D几何对象
2.各种几何对象建立工具
3.建立3D(2D)的TOPO对象
重点:必须熟练运用
2.总体描述
Modeling Algorithms(几何计算类)
各种几何计算工具,包括插值,曲面计算等等,,,,
暂时可不研究
2.总体描述
MESS(3D网格呈现)
主要用于3D实体网格化显示,包括各种工具和方法
暂时可不研究
2.总体描述
Visualization(图形显示和交互)
Interactive Context 及AIS对象,最重要的显示及交互的环境,所有的显示和交互由它来完成。
Interactive Objects,即交互实体,只有交互实体才能在交互环境中显示。
Graphic Attributes Manager,用来设置交互实体的图形属性。
Selection Filters,对用户希望的选择进行设置。
重点:熟练掌握
2.总体描述
Data Exchange(数据交互)
STEP等标准的数据结构。(免费)
DXF等标准的数据结构。(扩展,收费)
稍后研究
2.总体描述
OCAF(应用程序框架)
结合mfc,App,doc,view的建立。
主要工作在doc和view上,doc建立数据,view完成交互。
其他一些功能,拷贝,黏贴,回退,前进,外部数据交换,文档保存等。
逐步仔细研究
3.OCC与MFC框架
它是OCAF在MFC上的实现
CDocument-OCC_BaseDoc-OCC_2dDoc
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-My2dDoc
Cview-OCC_BaseView-OCC_2dView-My2dView
pDocTemplateForView2d = new CMultiDocTemplate(
IDR_2DTYPE,
RUNTIME_CLASS(My2dDoc),
RUNTIME_CLASS(MyFrame2D), // custom MDI child frame
RUNTIME_CLASS(MyView2D));
3.OCC与MFC框架
视图初始化过程
1.在app构造函数中得到opengl连接句柄。
2.在doc的构造函数中,用opengl连接创建viewer(仅创建视图指针,而非视图窗口),并作初始化设置。同时通过viewer再得到AISContext交互环境句柄。
3.在view的OnInitialUpdate()中,创建窗口(window),完成显示设置。
主要功能
1.Doc完成图形
文档评论(0)