运行结果图》》

首先:

XDE使用TDocStd_Documents作为起点。XDE的一般用途是:

检查现有文档是否适合XDE;
获取应用程序和初始化文件;

初始化文档以适合XDE;

添加、设置和查找数据;

查询和管理形状;

将属性附加到形状。
XDE使用的Document通常以TDocStd_Document开头。

前期检查:

在处理形状、属性和其他类型的信息之前,要确定现有文档是否实际上是为与XDE一起使用而构建的。
就是要确定现有的TDocStd_Document是否适合XDE:

Handle(TDocStd_Document) doc;
if ( XCAFDoc_DocumentTool::IsXCAFDocument (doc) )
{ //进行下面的操作}

如果文档适用于XDE,可以直接执行上述操作。但是,如果一个Document不是或者不完全是为XDE构建的,则必须对其进行初始化。

具体初始化如下:

//创建文档Handle(TDocStd_Document) doc;XCAFApp_Application::GetApplication()->NewDocument("MDTV-XCAF", doc);

下面进行STEP文件的完整读取:

void COCCmfcMDIDoc::ReadSTEP()
{//创建文档Handle(TDocStd_Document) doc;XCAFApp_Application::GetApplication()->NewDocument("MDTV-XCAF", doc);//装载文件(.step)STEPCAFControl_Reader myReader;myReader.ReadFile("hezi.STEP");myReader.SetColorMode(true);myReader.SetNameMode(true);myReader.SetLayerMode(true);myReader.Transfer(doc);TDF_Label mainLabel = doc->Main();//要从XDE结构获取被视为程序集的节点,可以使用节点的Label(shape)Handle(XCAFDoc_ShapeTool) myShapeTool = XCAFDoc_DocumentTool::ShapeTool(mainLabel);//查询、编辑或初始化文档以处理XCAF的颜色(OCCT不再使用此方法渲染模型)Handle(XCAFDoc_ColorTool) myColors = XCAFDoc_DocumentTool::ColorTool(mainLabel);TDF_LabelSequence FreeShape;myShapeTool->GetFreeShapes(FreeShape);//使用GetFreeShapes解决装配体和组件显示错乱问题//myShapeTool->GetShapes(FreeShape);  //获取装配体和组件对应名称(不适用)int Roots = FreeShape.Length();for (int index = 1; index <= Roots; index++){TDF_Label label = FreeShape.Value(index);// 用XCAFPrs_AISObject 来显示Handle(XCAFPrs_AISObject) displayedShape = new XCAFPrs_AISObject(label);myAISContext->Display(displayedShape, true);}
}

调用函数,点击运行》》

!!!!!!!!!

OpenCASCADE(OCC)读取STEP模型文件到XDE中相关推荐

  1. OpenCASCADE(OCC)读取 STEP 模型文件并在MFC中显示

    先上  运行结果图>> OpenCASCADE具有支持读取STEP的翻译器: 1.对于STEP: STEP标准广泛地用于各种软件之间的数据交换,涉及CAD.PDM.Analysis等等,S ...

  2. OpenCASCADE(OCC) X64 在 MFC多文档中的应用案例(入门)

    先上运行结果图: 1.Open CASCADE-7.6.0的下载 Download - Open CASCADE Technology !!!!!!下载安装的路径一定要是英文!!!!!! 如果你下载后 ...

  3. Material studio 2017R2生成的模型文件导入WIN10中lammps遇到的小问题

    自己研究了一阵子分子动力学,资料各种各样,没有系统地学习,感觉有点小乱.在尝试过程中出了两个小问题,现总结如下. 1.Material studio 2017R2生成的模型文件导入lammps时,我是 ...

  4. java读取绝对路径文件_Java 程序中使用相对和绝对路径读取文件

    在Java中用File对象来创建文件时,绝对路径一般是不会出现什么问题的,如果使用相对路径,则有可能出现意向不到的问题,以下主要是针对相对路径进行解释 1.Eclipse下的Java Project环 ...

  5. delphi读取服务器txt文件,在Delphi中读写TXT文件

    在Delphi中读写TXT文件 Procedure NewTxt(FileName:String); Var F : Textfile; Begin if fileExists(FileName) t ...

  6. PCB 电测试--测试点数自动输出到流程指示中(读取TGZ Stephdr文件)

    好不容易实现了 <PCB 无需解压,直接读取Genesis TGZ指定文件 > 正好这里有一项需求:PCB电测试--测试点数自动输出到流程指示中 一.自动输出测试点小结; 1.由于历史原因 ...

  7. Openvino 模型文件部署推理

    一.模型转换流程: (以mxnet框架在openvino上的转换为例) 1.安装相关openvino toolkit: (以镜像的方式为例) sudo docker search openvino d ...

  8. golang mysql大量写入_Golang 实现分片读取http超大文件流和并发控制

    分片读取http超大文件流 Golang中的HTTP发送get请求,在获取内容有两种情况. Golang发送http get请求方式 resp, err := http.Get(sendUrl) if ...

  9. Three.js(十四)—— 模型文件加载

    文章目录 14.Three.js 加载外部模型文件 14.1 Three.js 数据结构.导入导出 Threejs导出模型信息 自定义模型加载器文件 加载Three.js导出的模型数据 14.2 加载 ...

  10. 【ROS问题】在Rviz中显示带有纹理信息的模型文件

    问题描述 利用sw_urdf_exporter插件可以方便快捷的导出urdf package,省去了用户自己编写urdf文件的过程.但是,由于该插件导出的link是.STL格式,因此每个连杆都不带纹理 ...

最新文章

  1. 智能实验室-杀马(Defendio) 4.16.0.840
  2. MongoDB 树形模型
  3. SurfaceView 和 GLSurfaceView
  4. SAP ABAP DDICSAP ABAP DDIC table runtime object table runtime object
  5. OOP 中的 方法调用、接口、鸭式辩型、访问者模式
  6. 1137. 第 N 个泰波那契数
  7. 阿里宜搭助力服务中枢升级,提升10倍开发效率
  8. Python 爬取淘宝商品信息栏目
  9. 原创 - 前后端分离,以及前端的一些操作
  10. 【BZOJ1878】【codevs2307】HH的项链,莫队算法
  11. 封装jQuery Validate扩展验证方法
  12. 竹林蹊径:深入浅出Windows驱动开发
  13. HarmonyOS 组件篇
  14. Android之基于message的进程间通信Messenger
  15. CSS DIV HOVER
  16. 2022蓝桥杯你值得拥有
  17. 延期年金(deferred annuity)
  18. 手机电脑同步投屏演示工具-Wormhole
  19. python日本 老龄化分析_中国离老龄化社会还有多远?数据图表源代码一览
  20. Javascript基础*

热门文章

  1. 深处python漩涡中,谁能独善其身?
  2. 淘宝为何总是有骗子账号屡禁不止,气愤之下只能发帖告诫了
  3. html 投票系统,投票系统 html页面
  4. PIL 库介绍与简单应用
  5. 上海率先开放政府数据 医院床位车位信息均可查
  6. 美通社日历 | 媒体关注、会展信息、企业财报发布,节假日备忘(8月17日—8月23日)...
  7. VOIP流中使用CNN-LSTM下对QIM的隐写分析方法
  8. 犹太人很会赚钱?一老板用犹太人的思维做生意,一年赚了200多万!
  9. 高项、高级项目管理师论文-质量管理
  10. 腾讯微云 for Mac v