Preserve pcurves in TopoShapeEdge.split

This commit is contained in:
tomate44
2024-04-27 12:24:26 +02:00
committed by wwmayer
parent 1483838c19
commit f0a72fbe59
2 changed files with 11 additions and 5 deletions

View File

@@ -711,10 +711,16 @@ PyObject* TopoShapeEdgePy::split(PyObject *args)
BRepBuilderAPI_MakeWire mkWire;
Handle(Geom_Curve) c = adapt.Curve().Curve();
const TopoDS_Edge& edge = TopoDS::Edge(this->getTopoShapePtr()->getShape());
BRep_Builder builder;
TopoDS_Edge e;
std::vector<Standard_Real>::iterator end = par.end() - 1;
for (std::vector<Standard_Real>::iterator it = par.begin(); it != end; ++it) {
BRepBuilderAPI_MakeEdge mkBuilder(c, it[0], it[1]);
mkWire.Add(mkBuilder.Edge());
BRepBuilderAPI_MakeEdge mke(c, it[0], it[1]);
e = mke.Edge();
builder.Transfert(edge, e);
builder.Range(e, it[0], it[1], false);
mkWire.Add(e);
}
return new TopoShapeWirePy(new TopoShape(mkWire.Shape()));