Tue, 08/13/2024 - 20:25
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");
Fri, 08/16/2024 - 15:33
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...