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) {
95
96 continue;
97 }
99 }
100 }
101
102 if (config.has("filament_dev_ams_drying_temperature")) {
107 }
108
109 if (config.has("filament_dev_ams_drying_time")) {
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