鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > c++ > >

使用C++解析STEP/IGES/DXF文件

来源:互联网 作者:佚名 时间:2016-07-01 16:52
使用C++解析STEP/IGES/DXF文件 无 1. 实现自定义的接收类 // 收集所有的Wire,Edgeclass AuLoadDxfModelContext : public TopoShapeReaderContext{public: AuLoadDxfModelContext() { } virtual ~AuLoadDxfModelContext() { } virtual bool OnBeiginComplexSh
使用C++解析STEP/IGES/DXF文件 <无>
1. 实现自定义的接收类
 
// 收集所有的Wire,Edge
class AuLoadDxfModelContext : public TopoShapeReaderContext
{
public:
    AuLoadDxfModelContext()
    {
    }
    virtual ~AuLoadDxfModelContext()
    {
    }
    virtual bool OnBeiginComplexShape(const TopoShape& shape) override
    {
        return true; //接续解析。如果false,则不再进一步分解复杂对象,如body,shell等
    }
    virtual void OnWire(const TopoShape& shape)
    {
        m_Shapes.Add(shape);
    }
    virtual void OnEdge(const TopoShape& shape)
    {
        m_Shapes.Add(shape);
    }
public:
    TopoShapeGroup m_Shapes;
};
 

2. 查找DXF读取器并解析文件
        TopoShapeReader reader = readerManager.FindReader("DXF");

        AuLoadDxfModelContext readerContext;
        if (!reader.Read(filePath, readerContext))
            return false;
        if (readerContext.m_Shapes.Size() < 1)
            return false;
 
3. 对结果进行处理,比如显示
readerContext.m_Shapes 保存了几何对象,可以进一步进行处理。


 
网友评论
<