From 61168cdb6f537db5f0b056a9fb85622192380e02 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Fri, 3 Jul 2026 17:27:18 -0300 Subject: [PATCH] Do not reduce speed for calibrations (#13658) --- src/slic3r/GUI/Plater.cpp | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 1f3436187a..04fe7026f7 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -13310,7 +13310,8 @@ void Plater::calib_max_vol_speed(const Calib_Params& params) max_lh->values[i] = layer_height; } - set_config_values(filament_config, "filament_max_volumetric_speed", 200); + const double filament_max_volumetric_speed = filament_config->option("filament_max_volumetric_speed")->get_at(0); + set_config_values(filament_config, "filament_max_volumetric_speed", std::max(filament_max_volumetric_speed, 200.0)); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats{0.0}); printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); obj_cfg.set_key_value("enable_overhang_speed", new ConfigOptionBoolsNullable(1, false)); @@ -13504,9 +13505,11 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params) print_config->set_key_value("spiral_mode", new ConfigOptionBool(true)); print_config->set_key_value("spiral_mode_smooth", new ConfigOptionBool(false)); print_config->set_key_value("bottom_surface_pattern", new ConfigOptionEnum(ipRectilinear)); - set_config_values(print_config, "outer_wall_speed", 200.); - set_config_values(print_config, "default_acceleration", 20000.); - set_config_values(print_config, "outer_wall_acceleration", 20000.); + const double machine_max_speed = std::min(printer_config->option("machine_max_speed_x")->get_at(0), printer_config->option("machine_max_speed_y")->get_at(0)); + const double machine_max_acceleration = printer_config->option("machine_max_acceleration_extruding")->get_at(0); + set_config_values(print_config, "outer_wall_speed", machine_max_speed); + set_config_values(print_config, "default_acceleration", machine_max_acceleration); + set_config_values(print_config, "outer_wall_acceleration", machine_max_acceleration); print_config->set_key_value("precise_z_height", new ConfigOptionBool(false)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0)); @@ -13566,9 +13569,11 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params) print_config->set_key_value("spiral_mode", new ConfigOptionBool(true)); print_config->set_key_value("spiral_mode_smooth", new ConfigOptionBool(false)); print_config->set_key_value("bottom_surface_pattern", new ConfigOptionEnum(ipRectilinear)); - set_config_values(print_config, "outer_wall_speed", 200.); - set_config_values(print_config, "default_acceleration", 20000.); - set_config_values(print_config, "outer_wall_acceleration", 20000.); + const double machine_max_speed = std::min(printer_config->option("machine_max_speed_x")->get_at(0), printer_config->option("machine_max_speed_y")->get_at(0)); + const double machine_max_acceleration = printer_config->option("machine_max_acceleration_extruding")->get_at(0); + set_config_values(print_config, "outer_wall_speed", machine_max_speed); + set_config_values(print_config, "default_acceleration", machine_max_acceleration); + set_config_values(print_config, "outer_wall_acceleration", machine_max_acceleration); print_config->set_key_value("precise_z_height", new ConfigOptionBool(false)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0)); @@ -13620,7 +13625,8 @@ void Plater::Calib_Cornering(const Calib_Params& params) filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); - filament_config->set_key_value("filament_max_volumetric_speed", new ConfigOptionFloats{200}); + const double filament_max_volumetric_speed = filament_config->option("filament_max_volumetric_speed")->get_at(0); + filament_config->set_key_value("filament_max_volumetric_speed", new ConfigOptionFloats{std::max(filament_max_volumetric_speed, 200.0)}); set_config_values(print_config, "enable_overhang_speed", false); print_config->set_key_value("timelapse_type", new ConfigOptionEnum(tlTraditional)); print_config->set_key_value("wall_loops", new ConfigOptionInt(1)); @@ -13631,9 +13637,11 @@ void Plater::Calib_Cornering(const Calib_Params& params) print_config->set_key_value("spiral_mode", new ConfigOptionBool(true)); print_config->set_key_value("spiral_mode_smooth", new ConfigOptionBool(false)); print_config->set_key_value("bottom_surface_pattern", new ConfigOptionEnum(ipRectilinear)); - set_config_values(print_config, "outer_wall_speed", 200.); - set_config_values(print_config, "default_acceleration", 2000.); - set_config_values(print_config, "outer_wall_acceleration", 2000.); + const double machine_max_speed = std::min(printer_config->option("machine_max_speed_x")->get_at(0), printer_config->option("machine_max_speed_y")->get_at(0)); + const double machine_max_acceleration = printer_config->option("machine_max_acceleration_extruding")->get_at(0); + set_config_values(print_config, "outer_wall_speed", machine_max_speed); + set_config_values(print_config, "default_acceleration", machine_max_acceleration); + set_config_values(print_config, "outer_wall_acceleration", machine_max_acceleration); print_config->set_key_value("precise_z_height", new ConfigOptionBool(false)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0));