From 21cd25d5afc3f28d10af37cfa0d1a8aeee33390e Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Fri, 12 Sep 2025 17:11:41 +0800 Subject: [PATCH] FIX: the return cali value of filament is incorrect jira: STUDIO-14552 Change-Id: Ic48445942afb66f674c92c12e7ab2b9510f7ac03 (cherry picked from commit c771bb2dbeb61ed8871cce01230735ddb9e69b8b) --- src/slic3r/GUI/DeviceManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index b2efdda02b..0f071be841 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -4088,12 +4088,22 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_ pa_calib_result.setting_id = (*it)["setting_id"].get(); } + // old if (jj["nozzle_diameter"].is_number_float()) { pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get(); } else if (jj["nozzle_diameter"].is_string()) { pa_calib_result.nozzle_diameter = string_to_float(jj["nozzle_diameter"].get()); } + // new: should get nozzle diameter from filament item + if ((*it).contains("setting_id")) { + if ((*it)["nozzle_diameter"].is_number_float()) { + pa_calib_result.nozzle_diameter = (*it)["nozzle_diameter"].get(); + } else if ((*it)["nozzle_diameter"].is_string()) { + pa_calib_result.nozzle_diameter = string_to_float((*it)["nozzle_diameter"].get()); + } + } + if (it->contains("ams_id")) { pa_calib_result.ams_id = (*it)["ams_id"].get(); } else {