From d5f11037faecb655e7fc4374b4e515ff9b6b341b Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Mon, 7 Apr 2025 21:27:25 +0800 Subject: [PATCH] FIX: Third-party filament show Incompatible in cali jira: STUDIO-11306 Change-Id: Id63f935a478cef92d720cd602ff19dbe87ca1c8e (cherry picked from commit 7ef9a211233db7f1d0f50a074074eff2e43dccd6) --- src/slic3r/GUI/PresetComboBoxes.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp index 92ed2771cd..f88eb9ddab 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -1633,6 +1633,16 @@ void GUI::CalibrateFilamentComboBox::load_tray(DynamicPrintConfig &config) bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end(); return is_compatible && f.filament_id == m_filament_id; }); + + // Prioritize matching system presets. If there are no system presets, match all presets. + if (iter == filaments.end()) { + iter = std::find_if(filaments.begin(), filaments.end(), [this](auto &f) { + if (f.is_system) // Only match system preset + return false; + bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end(); + return is_compatible && f.filament_id == m_filament_id; + }); + } //if (iter == filaments.end() && !m_filament_type.empty()) { // auto filament_type = "Generic " + m_filament_type; // iter = std::find_if(filaments.begin(), filaments.end(),