OpenCascade: сбой чтения Brep

OpenCascade не загружает некоторые файлы BREP, но если я пытаюсь загрузить с FreeCad, они работают. Код является:

#include <QCoreApplication>
#include <BRepTools.hxx>
#include <BRep_Builder.hxx>
#include <unistd.h>

int main(int argc, char *argv[])
{
    BRep_Builder brbp;
    QCoreApplication a(argc, argv);

    TopoDS_Shape entityOCC;
    bool ret = BRepTools::Read(entityOCC,Standard_CString("draw.brep"), brbp);
    if(ret == false)
    {
        printf("BREP read failed\n");fflush(0);
    }else{
        printf("CAD brep loaded\n");fflush(0);
    }
    if(entityOCC.IsNull())
    {
        printf("Null Shape\n");fflush(0);
    }
    return a.exec();
}

Я использую OpenCascade Community Edition 0.18.1-2.4, эквивалентный 6.9.1

Редактировать:

Когда я запускаю программу, я получаю сообщение OpenCascade: "Не таблица TShape", но тот же файл открывается без проблем с FreeCad.

2 ответа

Возможно, эти файлы содержат некоторые строки utf-8. Подобные ситуации возникают, когда я пытаюсь прочитать какой-нибудь файл шага с помощью OpenCascade.

Попробуйте использовать это.

      Handle(DEBRepCascade_ConfigurationNode) aNode = new DEBRepCascade_ConfigurationNode();
// You can configure whatever you want
// aNode->InternalParameters.
Handle(DE_Provider) aProvider = aNode->BuildProvider();
// You can import or export
TCollection_AsciiString aPath = ...;
TopoDS_Shape aShape = ...;
Handle(TDocStd_Document) aDoc = ...;
// You be able to import or export in single style for all formats
// aProvider->Write(aPath, aDoc/aShape);
// aProvider->Read(aPath, aDoc/aShape);
Другие вопросы по тегам