From 7ef9a211233db7f1d0f50a074074eff2e43dccd6 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 --- 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 c0ccbe474..084a4225b 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -1661,6 +1661,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(),