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 failedn");fflush(0);
    }else{
        printf("CAD brep loadedn");fflush(0);
    }
    if(entityOCC.IsNull())
    {
        printf("Null Shapen");fflush(0);
    }
    return a.exec();
}

我正在使用OpenCascade社区版0.18.1-2.4相当于6.9.1

编辑:

执行程序时,我会收到OpenCascade消息:"不是TSHAPE桌子"但是与freecad的问题打开相同的文件。

可能是这些BREP文件包含一些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);

最新更新