From 4ca3deebbab82b6d0e15f58c86bae8f4cc2bb7f9 Mon Sep 17 00:00:00 2001 From: viewit Date: Sun, 31 May 2026 21:18:48 +0200 Subject: [PATCH] fix(moonraker): Vendor-Match auch wenn tray_info_idx gesetzt aber inkompatibel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wenn die Bridge eine tray_info_idx sendet (z.B. GFL99 für Bambu Lab PLA) die kein kompatibler Preset für den aktiven Drucker hat, wird jetzt trotzdem der Vendor+Type+Color-Match versucht statt direkt auf Generic zurückzufallen. Behebt: Bridge sendet GFL99 (Bambu-ID) für Slot mit vendor='Bambu Lab' → kein Kobra-X-kompatibler Preset für GFL99 → bisher Generic PLA → jetzt Vendor-Match → findet besten Bambu-Lab-PLA-Preset Co-Authored-By: Claude Sonnet 4.6 --- src/slic3r/Utils/MoonrakerPrinterAgent.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp index 2624bc038e9..ff18d98a818 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp @@ -874,7 +874,22 @@ bool MoonrakerPrinterAgent::fetch_moonraker_filament_data(std::vectorfilaments.get_presets()) { + if (p.is_compatible && p.filament_id == tray.tray_info_idx) { + idx_has_compatible_preset = true; + break; + } + } + } + + if (bundle && !tray.filament_vendor.empty() && (tray.tray_info_idx.empty() || !idx_has_compatible_preset)) { std::string mid = find_closest_color_preset_by_vendor_and_type( bundle->filaments, tray.filament_vendor, tray.tray_type, tray.tray_color); if (!mid.empty()) tray.tray_info_idx = mid;