From 8b775f5c2e6c5c11baceb3c8292b41c59b98e0d0 Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Wed, 19 Mar 2025 18:03:18 +0800 Subject: [PATCH] ENH: check if the custom k value will be used, and show warning jira: [STUDIO-10970] Change-Id: If67ef695340e6bed38604d92ea86a4b0d5e57bdf --- src/slic3r/GUI/SelectMachine.cpp | 56 +++++++++++++++++++++++++++----- src/slic3r/GUI/SelectMachine.hpp | 3 +- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index ed397af48..7b473ee06 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1938,6 +1938,9 @@ void SelectMachineDialog::show_status(PrintDialogStatus status, std::vector &mapping_result) +{ + if (!obj) { return wxEmptyString;} + + wxString ams_names; + for (const auto& info : mapping_result) { + + auto ams_iter = obj->amsList.find(info.ams_id); + if (ams_iter == obj->amsList.end()) { continue; } + + auto tray_iter = ams_iter->second->trayList.find(std::to_string(info.tray_id)); + if (tray_iter == ams_iter->second->trayList.end()) { continue; } + + if (tray_iter->second->cali_idx == -1) { continue; } /*-1 means default*/ + + wxString ams_name; + if (info.tray_id == VIRTUAL_TRAY_MAIN_ID) { + ams_name = "Right-Ext"; + } else if (info.tray_id == VIRTUAL_TRAY_DEPUTY_ID) { + ams_name = "Left-Ext"; + } else { + ams_name = wxGetApp().transition_tridid(info.tray_id); + } + + if (!ams_names.empty()) { ams_names += ", ";} + ams_names += ams_name; + } + + return ams_names; +} + void SelectMachineDialog::update_show_status() { // refreshing return @@ -3606,22 +3640,16 @@ void SelectMachineDialog::update_show_status() if (m_ams_mapping_res) { if (has_timelapse_warning()) { show_status(PrintDialogStatus::PrintStatusTimelapseWarning); + return; } - else { - show_status(PrintDialogStatus::PrintStatusAmsMappingSuccess); - } - return; } else { if (obj_->is_valid_mapping_result(m_ams_mapping_result)) { if (!has_tips(obj_)){ if (has_timelapse_warning()) { show_status(PrintDialogStatus::PrintStatusTimelapseWarning); + return; } - else { - show_status(PrintDialogStatus::PrintStatusAmsMappingValid); - } - return; } } else { @@ -3629,6 +3657,18 @@ void SelectMachineDialog::update_show_status() return; } } + + /*STUDIO-10970 check the k value and flow cali option*/ + if (m_checkbox_list["flow_cali"]->getValue() != "off") { + const auto ¬_default_ams_names = _check_kval_not_default(obj_, m_ams_mapping_result); + if (!not_default_ams_names.empty()) { + std::vector params{not_default_ams_names}; + show_status(PrintDialogStatus::PrintStatusWarningKvalueNotUsed, params); + return; + } + } + + update_print_status_msg(wxEmptyString, false, true, true); } bool SelectMachineDialog::has_timelapse_warning() diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index bb4466017..35ed6db6d 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -104,7 +104,8 @@ enum PrintDialogStatus { PrintStatusPublicInitFailed, PrintStatusPublicUploadFiled, PrintStatusInvalidMapping, - PrintStatusTPUUnsupportAutoCali + PrintStatusTPUUnsupportAutoCali, + PrintStatusWarningKvalueNotUsed, }; class Material