diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index a1211f4692..4b52592f2d 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -4552,6 +4552,9 @@ int PartPlateList::create_plate(bool adjust_position) return -1; int cols = compute_colum_count(new_index + 1); int old_cols = compute_colum_count(new_index); + // Orca: Rebuild plate membership before moving instances during a grid reflow. + if (adjust_position && old_cols != cols) + reload_all_objects(); origin = compute_origin(new_index, cols); plate = new PartPlate(this, origin, m_plate_width, m_plate_depth, m_plate_height, m_plater, m_model, true, printer_technology); @@ -5041,6 +5044,9 @@ int PartPlateList::move_plate_to_index(int old_index, int new_index) return -1; } + // Orca: Rebuild plate membership before moving the plates. + reload_all_objects(); + if (old_index < new_index) { delta = 1;