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.