From e32d03318dd5d8066a9a232baa152cddee6fe1d7 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 31 Oct 2022 10:42:54 +0100 Subject: [PATCH] Fix for #9104 - MMU can't change extruder when Split to Objects is used in PS2.5. --- src/libslic3r/Model.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 3c4e004544..52ddbea9b4 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -1661,6 +1661,12 @@ void ModelObject::split(ModelObjectPtrs* new_objects) new_object->add_instance(*model_instance); ModelVolume* new_vol = new_object->add_volume(*volume, std::move(mesh)); + // Invalidate extruder value in volume's config, + // otherwise there will no way to change extruder for object after splitting, + // because volume's extruder value overrides object's extruder value. + if (new_vol->config.has("extruder")) + new_vol->config.set_key_value("extruder", new ConfigOptionInt(0)); + for (ModelInstance* model_instance : new_object->instances) { #if ENABLE_WORLD_COORDINATE Vec3d shift = model_instance->get_transformation().get_matrix_no_offset() * new_vol->get_offset();