OpenCascade:读取BREP文件失败。

3

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社区版0.18.1-2.4,相当于6.9.1。
编辑:
当我执行程序时,我会收到一个OpenCascade消息:“不是TShape表”,但同样的文件在FreeCad中没有问题。

嗨JMJ - 你能否编辑你的帖子,包括你看到的错误消息,以便我们可以帮助你调试?谢谢! - Erty Seidohl
2个回答

1

这些brep文件可能包含一些utf-8字符串。当我尝试使用OpenCascade读取某些step文件时,类似的情况也会发生。


1

试着使用这个。

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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接