From b1a310cf744bf02624429c2e3d209787d408c4ef Mon Sep 17 00:00:00 2001 From: Stone Li Date: Wed, 15 Feb 2023 19:38:21 +0800 Subject: [PATCH] ENH: parse nozzle_diameter Change-Id: I408f93cd0e527e0a78714d2140750076a4cc7a81 Signed-off-by: Stone Li --- src/slic3r/GUI/DeviceManager.cpp | 14 ++++++++++++++ src/slic3r/GUI/DeviceManager.hpp | 1 + 2 files changed, 15 insertions(+) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 9392c0f826..b1314ed097 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -2075,6 +2075,7 @@ void MachineObject::reset() last_mc_print_stage = -1; m_new_ver_list_exist = false; extruder_axis_status = LOAD; + nozzle_diameter = 0.0f; vt_tray.reset(); @@ -2661,6 +2662,19 @@ int MachineObject::parse_json(std::string payload) } #pragma endregion + try { + if (jj.contains("nozzle_diameter")) { + if (jj["nozzle_diameter"].is_number_float()) { + nozzle_diameter = jj["nozzle_diameter"].get(); + } else if (jj["nozzle_diameter"].is_string()) { + nozzle_diameter = stof(jj["nozzle_diameter"].get().c_str()); + } + } + } + catch(...) { + ; + } + #pragma region upgrade try { if (jj.contains("upgrade_state")) { diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index a2e4ca8e07..60328a0e26 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -405,6 +405,7 @@ public: std::string dev_ip; std::string dev_id; bool local_use_ssl { false }; + float nozzle_diameter { 0.0f }; std::string dev_connection_type; /* lan | cloud */ std::string connection_type() { return dev_connection_type; } void set_dev_ip(std::string ip) {dev_ip = ip;};