From f122c4f4ef6f476c4e8190a0872e566d690d6c25 Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Fri, 19 Jul 2024 15:14:58 +0800 Subject: [PATCH] ENH: config: refine some small logic 1. always resize filament count when not matched in full_fff_print 2. remove no-use codes in Preset::normalize jira: no-jira Change-Id: Ie15a5977d28f28e0f63ba84f27f98f77d16665c0 --- src/libslic3r/Preset.cpp | 7 ++++--- src/libslic3r/PresetBundle.cpp | 6 ++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 52d19e20c..0f0ceacd2 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -318,11 +318,12 @@ void Preset::normalize(DynamicPrintConfig &config) { // BBS auto* filament_diameter = dynamic_cast(config.option("filament_diameter")); - if (filament_diameter != nullptr) + //not use any more + /*if (filament_diameter != nullptr) // Loaded the FFF Printer settings. Verify, that all extruder dependent values have enough values. - config.set_num_filaments((unsigned int)filament_diameter->values.size()); + config.set_num_filaments((unsigned int)filament_diameter->values.size());*/ - if (config.option("filament_diameter") != nullptr) { + if (filament_diameter) { // This config contains single or multiple filament presets. // Ensure that the filament preset vector options contain the correct number of values. // BBS diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index a28497425..89d6d2bef 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -2044,12 +2044,10 @@ DynamicPrintConfig PresetBundle::full_fff_config(bool apply_extruder, std::vecto // BBS size_t num_filaments = this->filament_presets.size(); - if (filament_maps.empty()) { + //in some middle state, they may be different + if (filament_maps.size() != num_filaments) { filament_maps.resize(num_filaments, 1); } - else { - assert(filament_maps.size() == num_filaments); - } auto* extruder_diameter = dynamic_cast(out.option("nozzle_diameter")); // Collect the "compatible_printers_condition" and "inherits" values over all presets (print, filaments, printers) into a single vector.