diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index a160c19b76..7f06db1ebc 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -77,6 +77,7 @@ #include #include #include +#include #include "SketchObject.h" #include "Sketch.h" @@ -7534,6 +7535,24 @@ void SketchObject::migrateSketch(void) } } } + + // Construction migration to extension + for( auto g : Geometry.getValues()) { + + if(g->hasExtension(Part::GeometryMigrationExtension::getClassTypeId())) + { + auto ext = std::static_pointer_cast( + g->getExtension(Part::GeometryMigrationExtension::getClassTypeId()).lock()); + + if(ext->testMigrationType(Part::GeometryMigrationExtension::Construction)) + { + GeometryFacade::setConstruction(g, ext->Construction); + } + + g->deleteExtension(Part::GeometryMigrationExtension::getClassTypeId()); + } + + } } }