BRepOffsetAPI_MakePipeShell crash with StdFail_NotDone

Hi guys! I trying to make pipe with segment-arc-segment spine, but next code just crash with StdFail_NotDone("BRep_API: command not done"), hmm...how to solve it?

BRepBuilderAPI_MakeWire wireBuilder;
{
    TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(
        gp_Pnt(0.0, 0.0, 0.0),
        gp_Pnt(1000.0, 0.0, 0.0));
    wireBuilder.Add(edge);
}
{            
    gp_Ax2 ax2(gp_Pnt(1000.0, 0.0, 325.0), gp_Vec(0.0, 1.0, 0.0));
    gp_Circ circ(ax2, 325.0);
    Handle(Geom_TrimmedCurve) curve = GC_MakeArcOfCircle
    (circ, gp_Pnt(1300.0, 0.0, 200.0), gp_Pnt(1000.0, 0.0, 0.0), false).Value();
    TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(curve);                
    wireBuilder.Add(edge);
    
}
{
    TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(
        gp_Pnt(1300.0, 0.0, 200.0),
        gp_Pnt(2000.0, 0.0, 200.0));
    wireBuilder.Add(edge);
}
TopoDS_Wire spineWire = wireBuilder.Wire();

gp_Ax2 ax2(gp_Pnt(0.0, 0.0, 0.0), gp_Vec(0.0, 1.0, 0.0));        
gp_Circ circ(ax2, 10.0);
TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(circ);
BRepBuilderAPI_MakeWire profileWireBuilder;
profileWireBuilder.Add(edge);
TopoDS_Wire profileWire = profileWireBuilder.Wire();

BRepOffsetAPI_MakePipeShell pipeShell(spineWire);
pipeShell.Add(profileWire, false, true);        
pipeShell.SetTransitionMode(BRepBuilderAPI_RoundCorner);

pipeShell.Build(); //crash with StdFail_NotDone("BRep_API: command not done");

Caleb Smith's picture

Hmm...I tried all the options for constructing a pipe through different cascade classes and came to the conclusion that this tool is not fully implemented in principle and it only supports C1-continuity in spine, sad...