fix(moonraker): Pass 3 — auch unsichtbare Presets durchsuchen für uninstallierte Drucker-Hersteller
This commit is contained in:
@@ -188,10 +188,13 @@ std::string filament_id_by_name(const Slic3r::PresetCollection& filaments,
|
||||
|
||||
// Two-pass search: Pass 1 = compatible presets only (ideal), Pass 2 = all visible presets
|
||||
// (fallback for vendors like eSUN/Eryone that have no printer-specific Kobra X profile).
|
||||
for (int pass = 1; pass <= 2; ++pass) {
|
||||
for (int pass = 1; pass <= 3; ++pass) {
|
||||
for (size_t i = 0; i < filaments.size(); ++i) {
|
||||
const auto& preset = filaments.preset(i);
|
||||
if (!preset.is_visible) {
|
||||
// Pass 1: compatible + visible only
|
||||
// Pass 2: visible but not necessarily compatible (vendors without printer-specific profile)
|
||||
// Pass 3: any preset including invisible (vendors not installed as printer)
|
||||
if (pass <= 2 && !preset.is_visible) {
|
||||
continue;
|
||||
}
|
||||
// User presets (created via "Save As") may have no filament_id yet.
|
||||
@@ -230,6 +233,9 @@ std::string filament_id_by_name(const Slic3r::PresetCollection& filaments,
|
||||
if (pass == 1) {
|
||||
BOOST_LOG_TRIVIAL(info) << "MoonrakerPrinterAgent: filament matcher pass 1 (compatible) found no match for '"
|
||||
<< filament_name << "', trying pass 2 (all visible)";
|
||||
} else if (pass == 2) {
|
||||
BOOST_LOG_TRIVIAL(info) << "MoonrakerPrinterAgent: filament matcher pass 2 (all visible) found no match for '"
|
||||
<< filament_name << "', trying pass 3 (all presets incl. invisible)";
|
||||
}
|
||||
}
|
||||
BOOST_LOG_TRIVIAL(info) << "MoonrakerPrinterAgent: filament matcher found no match for requested='" << filament_name
|
||||
|
||||
Reference in New Issue
Block a user