diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 8b50c742bf..a5efef3a33 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -713,6 +713,16 @@ void SLAPrint::export_print(const std::string &fname, const ThumbnailsList &thum } } +bool SLAPrint::is_prusa_print(const std::string& printer_model) +{ + static const std::vector prusa_printer_models = { "SL1", "SL1S", "M1", "SLX" }; + for (const std::string& model : prusa_printer_models) + if (model == printer_model) + return true; + + return false; +} + bool SLAPrint::invalidate_step(SLAPrintStep step) { bool invalidated = Inherited::invalidate_step(step); diff --git a/src/libslic3r/SLAPrint.hpp b/src/libslic3r/SLAPrint.hpp index 347e558032..d02b4af725 100644 --- a/src/libslic3r/SLAPrint.hpp +++ b/src/libslic3r/SLAPrint.hpp @@ -582,6 +582,8 @@ public: void export_print(const std::string &fname, const ThumbnailsList &thumbnails, const std::string &projectname = ""); + + static bool is_prusa_print(const std::string& printer_model); private: diff --git a/src/libslic3r/SLAPrintSteps.cpp b/src/libslic3r/SLAPrintSteps.cpp index ff3a74cfb8..c722e939a8 100644 --- a/src/libslic3r/SLAPrintSteps.cpp +++ b/src/libslic3r/SLAPrintSteps.cpp @@ -1148,8 +1148,7 @@ void SLAPrint::Steps::merge_slices_and_eval_stats() { ExposureProfile above(material_config, 1); const int first_slow_layers = fade_layers_cnt + first_extra_slow_layers; - const std::string printer_model = printer_config.printer_model; - const bool is_prusa_print = printer_model == "SL1" || printer_model == "SL1S" || printer_model == "M1"; + const bool is_prusa_print = SLAPrint::is_prusa_print(printer_config.printer_model); const auto width = scaled(printer_config.display_width.getFloat()); const auto height = scaled(printer_config.display_height.getFloat()); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 2d9ea78ce8..02dfe6cf8b 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -25,6 +25,7 @@ #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/Model.hpp" +#include "libslic3r/SLAPrint.hpp" #include "libslic3r/GCode/GCodeProcessor.hpp" #include "libslic3r/GCode/GCodeWriter.hpp" #include "libslic3r/GCode/Thumbnails.hpp" @@ -3671,8 +3672,9 @@ void TabPrinter::update_fff() bool Tab::is_prusa_printer() const { - std::string printer_model = m_preset_bundle->printers.get_edited_preset().config.opt_string("printer_model"); - return printer_model == "SL1" || printer_model == "SL1S" || printer_model == "M1"; + const Preset& edited_preset = m_preset_bundle->printers.get_edited_preset(); + std::string printer_model = edited_preset.trim_vendor_repo_prefix(edited_preset.config.opt_string("printer_model")); + return SLAPrint::is_prusa_print(printer_model); } void TabPrinter::update_sla()