Open CASCADE学习| IGES 文件读取

IGES(Initial Graphics Exchange Specification) 即图形初始交换规范,是一种用来描述大型三维CAD/CAM系统之间信息交换的工业国际标准文件。它是一种半向量图形格式,它涉及多个主题,如设计图,模型图以及三维对象。

IGES最初是由国际电气和电子工程师协会 (IEEE) 设计,以支撑美国国家工程研究院(NBS)的图形交互代码(GIC)项目。IGES属于绘图文件,它以字符描述形式储存设计图和模型图,其中包括大量曲线和曲面,还包含相应的元数据添加。这种文件类型执行流程十分简单,而且有利于不同的应用程序之间进行简单数据交换。

IGES文件主要由8个部分构成,它们分别是开始纪录(START RECORD)、总体属性纪录(GLOBAL SECTION)、参数纪录(PARAMETER DEFINITIONS)、实体参数纪录(ENTITY PARAMETER RECORD)、作图参数纪录(GRAPHIC PARAMETER RECORD)、终止纪录(TERMINATE RECORD)、绘图文件结束纪录(DRAWING FILE TERMINATE RECORD)和后缀纪录(SUFFIX RECORD)。

IGES只存储了模型的几何尺寸及点线面的拓扑关系,相对来说存储的内容较少,并且打开速度慢、拓扑关系容易丢失(破面)。同时,IGES在应用中暴露的主要问题是当数据文件过大时,数据转换处理时间非常长,同时也只注意了图形数据转换而忽略了其他信息的转换。

#include <IGESControl_Reader.hxx>
#include"Viewer.h"
​
​
​
int main(int argc, char* argv[])
{
    //Loading the IGES file
    IGESControl_Reader reader;
    IFSelect_ReturnStatus status = reader.ReadFile("1.igs");
    //Checking the IGES file
    //Standard_Boolean ok = reader.Cheak();
    Standard_Boolean  failsonly = false;
    IFSelect_PrintCount mode = IFSelect_Mapping;
    //IFSelect_PrintCount mode = IFSelect_EntitiesByItem;
    reader.PrintCheckLoad(failsonly, mode);
    Handle(TColStd_HSequenceOfTransient)  list = reader.GiveList();
    Standard_Integer nbtrans = reader.TransferList(list);
    //reader.IsDone();
    TopoDS_Shape shape = reader.OneShape();
    Viewer vout(50, 50, 500, 500);
    vout << shape;
    vout.StartMessageLoop();
    return 0;
}

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值