mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Infer printer family for pre-existing printers
This commit is contained in:
parent
7d969a6f36
commit
8da7ef41c0
1 changed files with 16 additions and 0 deletions
|
@ -14,6 +14,7 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
#include <unordered_map>
|
||||||
#include <boost/format.hpp>
|
#include <boost/format.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/filesystem/fstream.hpp>
|
#include <boost/filesystem/fstream.hpp>
|
||||||
|
@ -84,6 +85,16 @@ VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool
|
||||||
return VendorProfile::from_ini(tree, path, load_all);
|
return VendorProfile::from_ini(tree, path, load_all);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const std::unordered_map<std::string, std::string> pre_family_model_map {{
|
||||||
|
{ "MK3", "MK3" },
|
||||||
|
{ "MK3MMU2", "MK3" },
|
||||||
|
{ "MK2.5", "MK2.5" },
|
||||||
|
{ "MK2.5MMU2", "MK2.5" },
|
||||||
|
{ "MK2S", "MK2" },
|
||||||
|
{ "MK2SMM", "MK2" },
|
||||||
|
{ "SL1", "SL1" },
|
||||||
|
}};
|
||||||
|
|
||||||
VendorProfile VendorProfile::from_ini(const ptree &tree, const boost::filesystem::path &path, bool load_all)
|
VendorProfile VendorProfile::from_ini(const ptree &tree, const boost::filesystem::path &path, bool load_all)
|
||||||
{
|
{
|
||||||
static const std::string printer_model_key = "printer_model:";
|
static const std::string printer_model_key = "printer_model:";
|
||||||
|
@ -139,6 +150,11 @@ VendorProfile VendorProfile::from_ini(const ptree &tree, const boost::filesystem
|
||||||
}
|
}
|
||||||
|
|
||||||
model.family = section.second.get<std::string>("family", std::string());
|
model.family = section.second.get<std::string>("family", std::string());
|
||||||
|
if (model.family.empty() && res.name == "Prusa Research") {
|
||||||
|
// If no family is specified, it can be inferred for known printers
|
||||||
|
const auto from_pre_map = pre_family_model_map.find(model.id);
|
||||||
|
if (from_pre_map != pre_family_model_map.end()) { model.family = from_pre_map->second; }
|
||||||
|
}
|
||||||
#if 0
|
#if 0
|
||||||
// Remove SLA printers from the initial alpha.
|
// Remove SLA printers from the initial alpha.
|
||||||
if (model.technology == ptSLA)
|
if (model.technology == ptSLA)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue