From f401cbe83228c44433e7916e9bdf1b7d05f6203e Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 8 Jun 2022 13:02:07 +0200 Subject: [PATCH] Part: in BRepOffsetAPI_MakeOffsetFix::MakeWire also consider the generated edges of the vertexes of the input shape --- src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp b/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp index 6e998fae5d..2fb9e08bee 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp +++ b/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp @@ -141,7 +141,16 @@ void BRepOffsetAPI_MakeOffsetFix::MakeWire(TopoDS_Shape& wire) std::list edgeList; for (auto itLoc : myLocations) { - const TopTools_ListOfShape& newShapes = mkOffset.Generated(itLoc.first); + TopTools_ListOfShape newShapes = mkOffset.Generated(itLoc.first); + // Check generated shapes for the vertexes, too + TopExp_Explorer xpv(itLoc.first, TopAbs_VERTEX); + while (xpv.More()) { + TopTools_ListOfShape newEdge = mkOffset.Generated(xpv.Current()); + if (!newEdge.IsEmpty()) { + newShapes.Append(newEdge); + } + xpv.Next(); + } for (TopTools_ListIteratorOfListOfShape it(newShapes); it.More(); it.Next()) { TopoDS_Shape newShape = it.Value();