From 3a53d3c85b140d3c5385a02f9bffc4ed9e637b9e Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 27 May 2026 20:42:56 +0800 Subject: [PATCH] Fix nozzle diameter mismatch error in manual calibration (#13882) --- src/slic3r/GUI/CalibrationWizard.cpp | 3 +++ src/slic3r/Utils/CalibUtils.hpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index c61beb3304..ab5b920fb6 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -761,6 +761,7 @@ void PressureAdvanceWizard::on_cali_start() calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); calib_info.select_ams = std::to_string(selected_tray_id); Preset *preset = selected_filaments.begin()->second; Preset * temp_filament_preset = new Preset(preset->type, preset->name + "_temp"); @@ -1293,6 +1294,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); Preset* preset = selected_filaments.begin()->second; temp_filament_preset = new Preset(preset->type, preset->name + "_temp"); temp_filament_preset->config = preset->config; @@ -1708,6 +1710,7 @@ void MaxVolumetricSpeedWizard::on_cali_start() calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); calib_info.filament_prest = selected_filaments.begin()->second; std::map filament_list = preset_page->get_filament_ams_list(); calib_info.filament_color = filament_list[selected_filaments.begin()->first].opt_string("filament_colour", 0u); diff --git a/src/slic3r/Utils/CalibUtils.hpp b/src/slic3r/Utils/CalibUtils.hpp index e59bbf68ec..b9375b7286 100644 --- a/src/slic3r/Utils/CalibUtils.hpp +++ b/src/slic3r/Utils/CalibUtils.hpp @@ -20,7 +20,7 @@ public: int extruder_id = 0; int ams_id = 0; int slot_id = 0; - float nozzle_diameter; + float nozzle_diameter = 0.0f; ExtruderType extruder_type{ExtruderType::etDirectDrive}; NozzleVolumeType nozzle_volume_type; Calib_Params params;