diff --git a/src/Mod/Part/App/modelRefine.cpp b/src/Mod/Part/App/modelRefine.cpp index 9f65ffc88..72b6c6486 100644 --- a/src/Mod/Part/App/modelRefine.cpp +++ b/src/Mod/Part/App/modelRefine.cpp @@ -45,6 +45,8 @@ #include #include #include +#include +#include #include #include #include @@ -523,6 +525,14 @@ bool FaceUniter::process() } BRepLib_FuseEdges edgeFuse(workShell, Standard_True); + TopTools_DataMapOfShapeShape affectedFaces; + edgeFuse.Faces(affectedFaces); + TopTools_DataMapIteratorOfDataMapOfShapeShape mapIt; + for (mapIt.Initialize(affectedFaces); mapIt.More(); mapIt.Next()) + { + ShapeFix_Face faceFixer(TopoDS::Face(mapIt.Value())); + faceFixer.Perform(); + } workShell = TopoDS::Shell(edgeFuse.Shape()); } return true;