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

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

Public Member Functions

 DevUtilBackend ()=delete

Static Public Member Functions

static MultiNozzleUtils::NozzleInfo GetNozzleInfo (const DevNozzle &dev_nozzle)
static std::shared_ptr< MultiNozzleUtils::NozzleGroupResultBase > GetNozzleGroupResult (Slic3r::GUI::Plater *plater)
static std::unordered_map< NozzleDef, int > CollectNozzleInfo (MultiNozzleUtils::NozzleGroupResultBase *nozzle_group_res, int logic_ext_id)
static std::optional< DevFilamentDryingPreset > GetFilamentDryingPreset (const std::string &fila_id)

Detailed Description

Constructor & Destructor Documentation

◆ DevUtilBackend()

Slic3r::DevUtilBackend::DevUtilBackend ( )
delete

Member Function Documentation

◆ CollectNozzleInfo()

std::unordered_map< NozzleDef, int > Slic3r::DevUtilBackend::CollectNozzleInfo ( MultiNozzleUtils::NozzleGroupResultBase * nozzle_group_res,
int logic_ext_id )
static
51{
52 std::unordered_map<NozzleDef, int> need_nozzle_map;
53 if (!nozzle_group_res) {
54 return need_nozzle_map;
55 }
56
57 const std::vector<Slic3r::MultiNozzleUtils::NozzleInfo>& nozzle_vec = nozzle_group_res->get_used_nozzles_in_extruder(logic_ext_id);
58 for (auto slicing_nozzle : nozzle_vec) {
59 try {
60 NozzleDef data;
61 data.nozzle_diameter = boost::lexical_cast<float>(slicing_nozzle.diameter);
62 data.nozzle_flow_type = DevNozzle::ToNozzleFlowType(slicing_nozzle.volume_type);
63 need_nozzle_map[data]++;
64 } catch (const std::exception& e) {
65 assert(0);
66 BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << "exception: " << e.what();
67 }
68 }
69
70 return need_nozzle_map;
71}
float nozzle_diameter
Definition DevDefs.h:182
Slic3r::NozzleFlowType nozzle_flow_type
Definition DevDefs.h:183
static NozzleFlowType ToNozzleFlowType(const NozzleVolumeType &type)
Definition DevNozzleSystem.cpp:41

References Slic3r::MultiNozzleUtils::NozzleGroupResultBase::get_used_nozzles_in_extruder(), NozzleDef::nozzle_diameter, NozzleDef::nozzle_flow_type, and Slic3r::DevNozzle::ToNozzleFlowType().

Here is the call graph for this function:

◆ GetFilamentDryingPreset()

std::optional< Slic3r::DevFilamentDryingPreset > Slic3r::DevUtilBackend::GetFilamentDryingPreset ( const std::string & fila_id)
static
79{
80 if (fila_id.empty() || !GUI::wxGetApp().preset_bundle) {
81 return std::nullopt;
82 }
83
84 for (auto iter = GUI::wxGetApp().preset_bundle->filaments.begin(); iter != GUI::wxGetApp().preset_bundle->filaments.end(); ++iter) {
85 const Preset& filament_preset = *iter;
86 const auto& config = filament_preset.config;
87 if (filament_preset.filament_id == fila_id) {
88 DevFilamentDryingPreset info;
89 info.filament_id = fila_id;
90 try {
91 if (config.has("filament_dev_ams_drying_ams_limitations")) {
92 std::vector<std::string> types = config.option<ConfigOptionStrings>("filament_dev_ams_drying_ams_limitations")->values;
93 for (auto type : types) {
94 if (s_ams_type_map.count(type) == 0) {
95 // assert(0);
96 continue;
97 }
98 info.ams_limitations.insert(s_ams_type_map[type]);
99 }
100 }
101
102 if (config.has("filament_dev_ams_drying_temperature")) {
103 info.filament_dev_ams_drying_temperature_on_idle[DevAmsType::N3F] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_temperature")->get_at(0);
104 info.filament_dev_ams_drying_temperature_on_idle[DevAmsType::N3S] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_temperature")->get_at(1);
105 info.filament_dev_ams_drying_temperature_on_print[DevAmsType::N3F] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_temperature")->get_at(2);
106 info.filament_dev_ams_drying_temperature_on_print[DevAmsType::N3S] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_temperature")->get_at(3);
107 }
108
109 if (config.has("filament_dev_ams_drying_time")) {
110 info.filament_dev_ams_drying_time_on_idle[DevAmsType::N3F] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_time")->get_at(0);
111 info.filament_dev_ams_drying_time_on_idle[DevAmsType::N3S] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_time")->get_at(1);
112 info.filament_dev_ams_drying_time_on_print[DevAmsType::N3F] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_time")->get_at(2);
113 info.filament_dev_ams_drying_time_on_print[DevAmsType::N3S] = config.option<ConfigOptionFloats>("filament_dev_ams_drying_time")->get_at(3);
114 }
115
116 if (config.has("filament_dev_drying_softening_temperature")) {
117 info.filament_dev_drying_softening_temperature = config.option<ConfigOptionFloats>("filament_dev_drying_softening_temperature")->get_at(0);
118 }
119
120 if (config.has("filament_dev_ams_drying_heat_distortion_temperature")){
121 info.filament_dev_ams_drying_heat_distortion_temperature = config.option<ConfigOptionFloats>("filament_dev_ams_drying_heat_distortion_temperature")->get_at(0);
122 }
123
124 if (config.has("filament_dev_drying_cooling_temperature")) {
125 info.filament_dev_drying_cooling_temperature = config.option<ConfigOptionFloats>("filament_dev_drying_cooling_temperature")->get_at(0);
126 }
127
128 return info;
129 } catch (const std::exception& e) {
130 BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << " exception: " << e.what();
131 }
132 }
133 }
134
135 return std::nullopt;
136}
@ N3F
Definition DevDefs.h:62
@ N3S
Definition DevDefs.h:63
@ Preset
Definition calib.hpp:39
static std::unordered_map< std::string, DevAmsType > s_ams_type_map
Definition DevUtilBackend.cpp:73
ConfigOptionFloatsTempl< false > ConfigOptionFloats
Definition Config.hpp:1015

References Slic3r::DevFilamentDryingPreset::ams_limitations, Slic3r::Preset::config, Slic3r::DevFilamentDryingPreset::filament_dev_ams_drying_heat_distortion_temperature, Slic3r::DevFilamentDryingPreset::filament_dev_ams_drying_temperature_on_idle, Slic3r::DevFilamentDryingPreset::filament_dev_ams_drying_temperature_on_print, Slic3r::DevFilamentDryingPreset::filament_dev_ams_drying_time_on_idle, Slic3r::DevFilamentDryingPreset::filament_dev_ams_drying_time_on_print, Slic3r::DevFilamentDryingPreset::filament_dev_drying_cooling_temperature, Slic3r::DevFilamentDryingPreset::filament_dev_drying_softening_temperature, Slic3r::DevFilamentDryingPreset::filament_id, Slic3r::Preset::filament_id, Slic3r::N3F, Slic3r::N3S, and Slic3r::s_ams_type_map.

Referenced by Slic3r::DevAmsTray::get_ams_drying_preset(), Slic3r::GUI::AMSDryCtrWin::OnFilamentSelectionChanged(), Slic3r::GUI::AMSDryCtrWin::start_sending_drying_command(), Slic3r::GUI::AMSDryCtrWin::update_filament_guide_info(), Slic3r::GUI::AMSDryCtrWin::update_filament_list(), and Slic3r::GUI::AMSDryCtrWin::update_normal_description().

Here is the caller graph for this function:

◆ GetNozzleGroupResult()

std::shared_ptr< Slic3r::MultiNozzleUtils::NozzleGroupResultBase > Slic3r::DevUtilBackend::GetNozzleGroupResult ( Slic3r::GUI::Plater * plater)
static
42{
43 if (plater && plater->background_process().get_current_gcode_result()) {
45 }
46
47 return nullptr;
48}
GCodeProcessorResult * get_current_gcode_result()
Definition BackgroundSlicingProcess.hpp:110
BackgroundSlicingProcess & background_process()
Definition Plater.cpp:22331
std::shared_ptr< MultiNozzleUtils::NozzleGroupResultBase > nozzle_group_result
Definition GCodeProcessor.hpp:220

References Slic3r::GUI::Plater::background_process(), Slic3r::BackgroundSlicingProcess::get_current_gcode_result(), and Slic3r::GCodeProcessorResult::nozzle_group_result.

Referenced by Slic3r::GUI::SelectMachineDialog::CheckErrorSyncNozzleMappingResultV0(), Slic3r::GUI::SelectMachineDialog::CheckWarningRackStatus(), Slic3r::DevNozzleMappingCtrl::CtrlGetAutoNozzleMappingV1(), Slic3r::GUI::SelectMachineDialog::get_filament_change_gap_time(), Slic3r::DevNozzleMappingCtrl::GetMappedNozzlePosVecByFilaId(), Slic3r::GUI::s_get_slicing_extuder_nozzles(), and Slic3r::GUI::SelectMachineDialog::use_dynamic_nozzle_map().

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

◆ GetNozzleInfo()

Slic3r::MultiNozzleUtils::NozzleInfo Slic3r::DevUtilBackend::GetNozzleInfo ( const DevNozzle & dev_nozzle)
static
32{
33 MultiNozzleUtils::NozzleInfo info;
34 info.diameter = dev_nozzle.GetNozzleDiameterStr().ToStdString();
35 info.volume_type = DevNozzle::ToNozzleVolumeType(dev_nozzle.GetNozzleFlowType());
36 info.extruder_id = dev_nozzle.GetLogicExtruderId();
37
38 return info;
39}
static NozzleVolumeType ToNozzleVolumeType(const NozzleFlowType &type)
Definition DevNozzleSystem.cpp:52

References Slic3r::MultiNozzleUtils::NozzleInfo::diameter, Slic3r::MultiNozzleUtils::NozzleInfo::extruder_id, Slic3r::DevNozzle::GetLogicExtruderId(), Slic3r::DevNozzle::GetNozzleDiameterStr(), Slic3r::DevNozzle::GetNozzleFlowType(), Slic3r::DevNozzle::ToNozzleVolumeType(), and Slic3r::MultiNozzleUtils::NozzleInfo::volume_type.

Here is the call graph for this function:

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