diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index b1a7433052..4b5d53e1cd 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -8632,9 +8632,6 @@ void SketchObject::rebuildExternalGeometry(std::optional extToAdd auto SubElements = ExternalGeometry.getSubValues(); assert(externalGeoRef.size() == Objects.size()); auto keys = externalGeoRef; - if (Types.size() != Objects.size()) { - Types.resize(Objects.size(), 0); - } // re-check for any missing geometry element. The code here has a side // effect that the linked external geometry will continue to work even if @@ -8695,6 +8692,10 @@ void SketchObject::rebuildExternalGeometry(std::optional extToAdd BRepBuilderAPI_MakeFace mkFace(sketchPlane); TopoDS_Shape aProjFace = mkFace.Shape(); + if (Types.size() != Objects.size()) { + Types.resize(Objects.size(), 0); + } + std::set refSet; // We use a vector here to keep the order (roughly) the same as ExternalGeometry std::vector > > newGeos;