From 29eec843ebbb6c8c4b8ffd8879d7c5733b8a1e43 Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Thu, 8 May 2025 15:14:21 +0800 Subject: [PATCH] ENH: update printer view jira: [STUDIO-12075] Change-Id: I3b18940513b2628a45fb51d707921607ac1511a3 (cherry picked from commit acbc1fa3406563872ab4a4f79546fb7f530aef4b) (cherry picked from commit 79f0f1a1fbede91df82175e6b8fe22457a622229) --- resources/images/printer_preview_N7.png | Bin 0 -> 3213 bytes resources/images/printer_thumbnail_N7.svg | 44 ++++++++++++++++++++++ src/slic3r/GUI/Plater.cpp | 26 ++++++------- 3 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 resources/images/printer_preview_N7.png create mode 100644 resources/images/printer_thumbnail_N7.svg diff --git a/resources/images/printer_preview_N7.png b/resources/images/printer_preview_N7.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5fb751234dc3e313c87e78f0cc16bfac03de03 GIT binary patch literal 3213 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 literal 0 HcmV?d00001 diff --git a/resources/images/printer_thumbnail_N7.svg b/resources/images/printer_thumbnail_N7.svg new file mode 100644 index 0000000000..c8a464a0c0 --- /dev/null +++ b/resources/images/printer_thumbnail_N7.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 9b295dddbb..3b83f19835 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -253,20 +253,6 @@ static std::map bed_type_thumbnails = { {BedType::btSuperTack, "bed_cool_supertack"} }; -// print_model_id -static std::map printer_thumbnails = { - {"N1", "printer_preview_N1"}, - {"N2S", "printer_preview_N2S"}, - {"C11", "printer_preview_C11"}, - {"C12", "printer_preview_C12"}, - {"C13", "printer_preview_C13"}, - {"BL-P001", "printer_preview_BL-P001"}, - {"BL-P002", "printer_preview_BL-P002"}, - {"O1D", "printer_preview_O1D"}, - {"O1E", "printer_preview_O1E"}, - {"O1S", "printer_preview_O1S"} -}; - enum SlicedInfoIdx { siFilament_m, @@ -3583,14 +3569,24 @@ std::string& Sidebar::get_search_line() return p->searcher.search_string(); } +static std::map printer_thumbnails = {}; + void Sidebar::update_printer_thumbnail() { auto& preset_bundle = wxGetApp().preset_bundle; Preset & selected_preset = preset_bundle->printers.get_edited_preset(); std::string printer_type = selected_preset.get_current_printer_type(preset_bundle); - if (printer_thumbnails.find(printer_type) != printer_thumbnails.end()) + if (printer_thumbnails.find(printer_type) != printer_thumbnails.end()) // Use known cache first p->image_printer->SetBitmap(create_scaled_bitmap(printer_thumbnails[printer_type], this, 48)); else { + try { + // No cache, try dedicated printer preview + p->image_printer->SetBitmap(create_scaled_bitmap("printer_preview_" + printer_type, this, 48)); + // Success, cache it + printer_thumbnails[printer_type] = "printer_preview_" + printer_type; + return; + } catch (...) {} + // Orca: try to use the printer model cover as the thumbnail const auto model_name = selected_preset.config.opt_string("printer_model"); std::string cover_file = model_name + "_cover.png";