1-occ data exchange (read iges_step)

平台准备

  • AIS(Application Interactive Services), 由于occ自带的可视化模块,阅读过其源码,跟其它渲染引擎比较起来功能是比较弱的。因为你仔细阅读源码,发现里面连场景树结构都没有;只能说occ本身专注在几何处理方面;

  • VIS(VTK Integration Services): 这个是集成了VTK的可视化功能;VTK是一个不错的开源渲染引擎,主要用于科学可视化,因此更倾向于数据可视化算法。
    由此可见,occ提供的可视化平台,主要是用于几何数据的可视化,而不考虑虚拟世界的构建;这也恰恰体现出其专注于Geometry;
    由于我们需要构建一个具有虚拟场景的可视化平台;因此采用基于osg进行可视化开发;体验occ这个开源库中强大的几何部分;

  • Qt5.9.0

  • MSVC2015编译器

  • win10

  • OCCT 7.6.0

实现功能

  • 读取iges 文件
  • 读取 step文件
  • mesh化
  • 渲染显示

基本实现思路

occt 支持的数据转换格式

  1. 标准的数据交换格式
  • STEP (AP203 : Mechanical Design, this covers General 3D CAD; AP214: Automotive Design)
  • IGES (up to 5.3)
  • VRML and STL meshes.
  1. Extended data exchange (XDE)
    这个数据交换可以将其它属性关联到几何数据中;(如: 颜色,图层,名称,材料等)
  2. 高级数据交换组件(这个应该是在商业版中,不过在Freecad中看到了DXF的导入导出实现,这个后面再仔细看看)
  • ACIS SAT
  • Parasolid
  • DXF

数据交换接口简介

这里只进行一个简单介绍,内容主要来自occ的文档; 后面再针对没一点进行深入剖析;

  1. 标准数据接口
//iges
IGESControl_Reader reader;
IFSelect_ReturnStatus stat  = reader.ReadFile(“filename.igs”); //step
STEPControl_Reader reader;
IFSelect_ReturnStatus stat = reader.ReadFile(;filename.stp;);
  1. XDE 接口介绍, 这里采用XDE的解析方式
    以step为例,解析XDE;
    // XDE: Extended Data Exchange// OCAF: OpenCascade Application Technology Framework/// Getting an XDE documentHandle(TDocStd_Document) doc;XCAFApp_Application::GetApplication()->NewDocument("MDTV-XCAF", doc);STEPCAFControl_Reader reader;reader.SetColorMode(true);reader.SetNameMode(true);reader.SetLayerMode(true);//IGESControl_Reader Reader;reader.ReadFile( (Standard_CString)filePath.c_str() );/// transfer data from reader to docif(!reader.Transfer(doc)){std::cout << "Cannot read any relevant data from the STEP file" << std::endl;return NULL;}// To get a node considered as an Assembly from an XDE structure, you can use the Label of the node._assembly = XCAFDoc_DocumentTool::ShapeTool(doc->Main());// To query, edit, or initialize a Document to handle Colors of XCAF_colorTool = XCAFDoc_DocumentTool::ColorTool(doc->Main());// free shape sequence, do not use _assembly->GetShapes(freeShapes)// get sequence of free shape labelsTDF_LabelSequence freeShapes;_assembly->GetFreeShapes(freeShapes);

实现效果

Reference

  • osg source code
  • occt user guides

1-occ data exchange (read iges_step)相关推荐

  1. 动态数据交换(DDE, Dynamic Data Exchange)简介

    动态数据交换(DDE, Dynamic Data Exchange)简介 1.简介     DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE).使用DDE通讯需要两个W ...

  2. Big Data Exchange宣布在南京建设数据中心

    2/17/2020,BDx本周宣布在中国南京修建其最新数据中心,这个数据中心将于2020年6月启用.包括目前已经获得的设施在内,BDx将在两个大洲的一系列城市--包括南京.广州.香港.新加坡和伦敦在内 ...

  3. Error: no data exchange control with ID xx 错误分析

    VS2008sp1,windows XP sp3,debug Error: no data exchange control with ID xx 该问题出现时可以通过编译,但是运行的时候会触发断点. ...

  4. 【ODX标准】(Open Diagnostic data exchange)ODX简单介绍

    数据文件ODX整理 1.术语 ①ODX means(Open Diagnostic data exchange ) 开放诊断数据交换,规定利用一种新的行业标准诊断格式,使诊断数据流信息可用于诊断工具应 ...

  5. 从ODX(Open diagnostic Data eXchange)谈车联网应用绕不开的底层网络“基建”

    前言:"车联网应用代表着资本的下一个风口,也是汽车电子技术竞争的重要角斗场.但与其谈些美妙的应用设想,不妨构想下让为这些应用成为现实的"基建工程",即真正地让车和外部通信 ...

  6. PLC-PC communication with C#: a quick resume about data exchange libraries

    Let's say that you want to build your own HMI, because: commercial SCADAs are too expensive for your ...

  7. Product Master data in C4C and data exchange with CRM via PI

    没有办法新建product: Product detail page也无法编辑: 在C4C的business scoping里enable和ERP的integration: 在C4C里新建一个comm ...

  8. Real Time Data Exchange (RTDE)Guide for 优傲机器人

    实时数据交换 (RTDE) 接口提供了一种通过标准 TCP/IP 将外部应用与 优傲机器人UR 控制器同步,且不会破坏 优傲机器人UR 控制器的任何实时属性的 方法.此功能对于与现场总线驱动器(例如以 ...

  9. 三维CAD内核+CAD数据格式基础知识科普(ACIS、OCC、ParaSolid)

    梅敬成 三维CAD软件发展历程:过去 现在和未来 1.CAD内核 CAD技术从60年代诞生以来,经历了二维绘图.线框模型.自由曲面模型.实体造型.特征造型等重要发展阶段.随着CAD技术的发展也诞生了许 ...

最新文章

  1. c # 学习笔记(一)
  2. python常见的文本处理-fasta文件格式处理
  3. 周伯文对话斯坦福教授曼宁:人机对话智能新进展需要新“图灵测试”
  4. 多图:多样化实现App多渠道统计
  5. gridview 实现自增加列
  6. jquery 幻灯片图像切换效果
  7. 6道简单的python练习题,来看看你python基础学的咋样
  8. 关于GCC Cygwin MinGW MSYS
  9. 通过Android studio使用git创建本地分支提交远程仓库以及如何查看切换分支
  10. 结合使用 Draft 与 Tencent Kubernetes Engine (TKE)
  11. Spring MVC中的验证组
  12. C# WinForm窗体四周阴影效果
  13. HTML学习笔记:实现条纹边框
  14. 第一百六十天 how can I 坚持
  15. IDM俄国大神直装注册版INTERNET DOWNLOAD MANAGER 6.36.7
  16. word中的左拐箭头和向下箭头的差别
  17. 中南大学复试上机:1021:机器人走迷宫
  18. matlab实现5自由度雄克机器人的运动仿真
  19. SQL+Tableau化妆品数据分析
  20. python 入门题库————python语句和基础数理

热门文章

  1. 《大学生对移动支付看法的调查与分析》“思想政治理论课实践教学” 调查报告
  2. HTML超链接 表格 列表 表单
  3. OpenSSL、OpenSSL-FIPS、OpenSSL-FIPS-ECP的区别
  4. java字节码编辑工具_2200 Star!功能强大的 Java 字节码编辑器!
  5. element ui 实现表格分页
  6. 知识图谱创新FinTech,一览群智携手浪潮力推智能反洗钱
  7. 如何从oracle下载java7,从Oracle存档页面wget / curl下载Oracle Java 7 SDK
  8. java sdk7.0下载_jdk7.0下载(Java SE Development Kit 7) 7u80官方版 win32
  9. 七麦数据:2018年App Store大数据半年盘点(附下载)
  10. Pytorch搭建LeNet5