From 241d10c637097b691f8433c518ecc29fe0543797 Mon Sep 17 00:00:00 2001 From: "xun.zhang" Date: Mon, 9 Oct 2023 10:59:23 +0800 Subject: [PATCH] ENH: refine enclosed printing logic 1.Display a pop-up window based on whether is enclosed jira: STUDIO-4532 Signed-off-by: xun.zhang Change-Id: I5e7c85f6590ebe1c65f957c6bcc57a969e804964 --- src/slic3r/GUI/DeviceManager.cpp | 12 ++++++++++++ src/slic3r/GUI/DeviceManager.hpp | 1 + src/slic3r/GUI/SelectMachine.cpp | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index d8871b84bd..a1839d032d 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -474,6 +474,18 @@ PrinterArch MachineObject::get_printer_arch() const return DeviceManager::get_printer_arch(printer_type); } +//BBS: check if machine is enclosed +bool MachineObject::is_printer_enclosed() const +{ + std::unordered_setenclosed_printers = { + "C12", + "BL-P002", + "BL-P001", + "C13" + }; + return enclosed_printers.find(printer_type) != enclosed_printers.end(); +} + MachineObject::MachineObject(NetworkAgent* agent, std::string name, std::string id, std::string ip) :dev_name(name), dev_id(id), diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 56c9aa89a7..700745da67 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -471,6 +471,7 @@ public: std::string printer_type; /* model_id */ PrinterSeries get_printer_series() const; PrinterArch get_printer_arch() const; + bool is_printer_enclosed() const; std::string printer_thumbnail_img; std::string monitor_upgrade_printer_img; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index a4ca561443..4642a3a819 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2286,7 +2286,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event) for (auto warning : plate->get_slice_result()->warnings) { if (warning.msg == BED_TEMP_TOO_HIGH_THAN_FILAMENT) { - if ((obj_->get_printer_series() == PrinterSeries::SERIES_X1)) { + if (obj_->is_printer_enclosed()) { confirm_text.push_back(Plater::get_slice_warning_string(warning) + "\n"); has_slice_warnings = true; }