OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::DevFilaBlacklist Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/DeviceCore/DevFilaBlackList.h>

Classes

struct  CheckFilamentInfo
struct  CheckResultItem
struct  CheckResult

Static Public Member Functions

static bool load_filaments_blacklist_config ()
static CheckResult check_filaments_in_blacklist (const CheckFilamentInfo &info)

Static Public Attributes

static nlohmann::json filaments_blacklist = json::object()

Detailed Description


Class Documentation

◆ Slic3r::DevFilaBlacklist::CheckFilamentInfo

struct Slic3r::DevFilaBlacklist::CheckFilamentInfo
Collaboration diagram for Slic3r::DevFilaBlacklist::CheckFilamentInfo:
Class Members
int ams_id
string calib_mode
string dev_id
optional< int > extruder_id
string fila_id
string fila_name
string fila_type
string fila_vendor
bool has_filament_switch = false
string model_id
optional< float > nozzle_diameter
optional< string > nozzle_flow
int slot_id
optional< bool > used_for_print_object
optional< bool > used_for_print_support

◆ Slic3r::DevFilaBlacklist::CheckResultItem

struct Slic3r::DevFilaBlacklist::CheckResultItem
Collaboration diagram for Slic3r::DevFilaBlacklist::CheckResultItem:
Class Members
string action
wxString info_msg
wxString wiki_url

Member Function Documentation

◆ check_filaments_in_blacklist()

DevFilaBlacklist::CheckResult Slic3r::DevFilaBlacklist::check_filaments_in_blacklist ( const CheckFilamentInfo & info)
static
407{
408 CheckResult result;
409 if (info.ams_id < 0 || info.slot_id < 0)
410 {
411 return result;
412 }
413
414 // check the filaments in preset
415 check_filaments_printable(info, result);
416
417 // check the filaments in blacklist file
418 check_filaments(info, result);
419
420 // If skip_ams_blacklist_check is true, demote every prohibition to a warning (aggregate: demote
421 // all at once rather than per-item).
422 if (GUI::wxGetApp().app_config->get("skip_ams_blacklist_check") == "true") {
423 const auto& prohibit_items = result.get_items_by_action("prohibition");
424 if (!prohibit_items.empty()) {
425 for (const auto& prohibit_item : prohibit_items) { result.action_items["warning"].push_back(prohibit_item); }
426 result.action_items.erase("prohibition");
427 }
428 }
429
430 return result;
431}
void check_filaments_printable(const DevFilaBlacklist::CheckFilamentInfo &check_info, DevFilaBlacklist::CheckResult &result)
Definition DevFilaBlackList.cpp:328
void check_filaments(const DevFilaBlacklist::CheckFilamentInfo &check_info, DevFilaBlacklist::CheckResult &result)
Definition DevFilaBlackList.cpp:94
Definition DevFilaBlackList.h:53

References Slic3r::DevFilaBlacklist::CheckResult::action_items, Slic3r::DevFilaBlacklist::CheckFilamentInfo::ams_id, Slic3r::check_filaments(), Slic3r::check_filaments_printable(), Slic3r::DevFilaBlacklist::CheckResult::get_items_by_action(), and Slic3r::DevFilaBlacklist::CheckFilamentInfo::slot_id.

Referenced by Slic3r::GUI::CalibrationPresetPage::is_filament_in_blacklist(), Slic3r::GUI::SelectMachineDialog::on_ok_btn(), Slic3r::GUI::sCheckFilamentInfo(), and Slic3r::GUI::SelectMachineDialog::update_show_status().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load_filaments_blacklist_config()

bool Slic3r::DevFilaBlacklist::load_filaments_blacklist_config ( )
static
37{
38 if (!filaments_blacklist.empty())
39 {
40 return false;
41 }
42
43 filaments_blacklist = json::object();
44
45 std::string config_file = Slic3r::resources_dir() + "/printers/filaments_blacklist.json";
46 boost::nowide::ifstream json_file(config_file.c_str());
47
48 try {
49 if (json_file.is_open()) {
50 json_file >> filaments_blacklist;
51 return true;
52 }
53 else {
54 BOOST_LOG_TRIVIAL(error) << "load filaments blacklist config failed";
55 }
56 }
57 catch (...) {
58 BOOST_LOG_TRIVIAL(error) << "load filaments blacklist config failed";
59 return false;
60 }
61 return true;
62}
static nlohmann::json filaments_blacklist
Definition DevFilaBlackList.h:70
const std::string & resources_dir()
Definition utils.cpp:296

References filaments_blacklist, and Slic3r::resources_dir().

Referenced by Slic3r::check_filaments().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ filaments_blacklist

json Slic3r::DevFilaBlacklist::filaments_blacklist = json::object()
static

The documentation for this class was generated from the following files: