diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index 55402c291f..f70a519128 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -323,7 +323,10 @@ void SketchObject::buildShape() { std::vector shapes; std::vector vertices; int geoId =0; - for(auto geo : getInternalGeometry()) { + + // get the geometry after running the solver + auto geometries = solvedSketch.extractGeometry(); + for(auto geo : geometries) { ++geoId; if(GeometryFacade::getConstruction(geo)) { continue; @@ -347,6 +350,10 @@ void SketchObject::buildShape() { } } + for (auto geo : geometries) { + delete geo; + } + for(int i=2;i