diff --git a/src/libslic3r/PrintApply.cpp b/src/libslic3r/PrintApply.cpp index 618777bf80..d2a44463ea 100644 --- a/src/libslic3r/PrintApply.cpp +++ b/src/libslic3r/PrintApply.cpp @@ -315,7 +315,7 @@ static bool is_printable_filament_changed(const DynamicPrintConfig& new_full_con } Polygons split_polys; - for (const Polygon poly : extruder_polys) { + for (const Polygon& poly : extruder_polys) { Polygons res = diff(printable_poly, poly); if (!res.empty()) { split_polys.emplace_back(res[0]); } } diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index dcbc3ccc48..3650e48acb 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -759,10 +759,11 @@ void CalibUtils::calib_pa_pattern(const CalibInfo &calib_info, Model& model) full_config.apply(print_config); full_config.apply(filament_config); full_config.apply(printer_config); + const auto& config_pattern = SuggestedConfigCalibPAPattern(); float nozzle_diameter = printer_config.option("nozzle_diameter")->get_at(0); - for (const auto& opt : SuggestedConfigCalibPAPattern().float_pairs) { + for (const auto& opt : config_pattern.float_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloat(opt.second)); } @@ -771,16 +772,16 @@ void CalibUtils::calib_pa_pattern(const CalibInfo &calib_info, Model& model) full_config, print_config.get_abs_value("line_width"), print_config.get_abs_value("layer_height"), calib_info.extruder_id, 0))); - for (const auto& opt : SuggestedConfigCalibPAPattern().nozzle_ratio_pairs) { + for (const auto& opt : config_pattern.nozzle_ratio_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloatOrPercent(nozzle_diameter * opt.second / 100, false)); } - for (const auto& opt : SuggestedConfigCalibPAPattern().int_pairs) { + for (const auto& opt : config_pattern.int_pairs) { print_config.set_key_value(opt.first, new ConfigOptionInt(opt.second)); } - print_config.set_key_value(SuggestedConfigCalibPAPattern().brim_pair.first, - new ConfigOptionEnum(SuggestedConfigCalibPAPattern().brim_pair.second)); + print_config.set_key_value(config_pattern.brim_pair.first, + new ConfigOptionEnum(config_pattern.brim_pair.second)); //DynamicPrintConfig full_config; full_config.apply(FullPrintConfig::defaults()); @@ -810,7 +811,9 @@ void CalibUtils::set_for_auto_pa_model_and_config(const std::vector & float nozzle_diameter = full_config.option("nozzle_diameter")->get_at(0); int extruder_count = full_config.option("nozzle_diameter")->values.size(); - for (const auto opt : SuggestedConfigCalibPAPattern().float_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloat(opt.second)); } + const auto& config_pattern = SuggestedConfigCalibPAPattern(); + + for (const auto& opt : config_pattern.float_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloat(opt.second)); } std::vector sorted_calib_infos = calib_infos; std::sort(sorted_calib_infos.begin(), sorted_calib_infos.end(), [](const CalibInfo &left_item, const CalibInfo &right_item) { @@ -825,13 +828,13 @@ void CalibUtils::set_for_auto_pa_model_and_config(const std::vector & print_config.get_abs_value("layer_height"), calib_info.extruder_id, 0))); } - for (const auto opt : SuggestedConfigCalibPAPattern().nozzle_ratio_pairs) { + for (const auto& opt : config_pattern.nozzle_ratio_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloatOrPercent(nozzle_diameter * opt.second / 100, false)); } - for (const auto opt : SuggestedConfigCalibPAPattern().int_pairs) { print_config.set_key_value(opt.first, new ConfigOptionInt(opt.second)); } + for (const auto& opt : config_pattern.int_pairs) { print_config.set_key_value(opt.first, new ConfigOptionInt(opt.second)); } - print_config.set_key_value(SuggestedConfigCalibPAPattern().brim_pair.first, new ConfigOptionEnum(SuggestedConfigCalibPAPattern().brim_pair.second)); + print_config.set_key_value(config_pattern.brim_pair.first, new ConfigOptionEnum(config_pattern.brim_pair.second)); auto* _wall_generator = print_config.option>("wall_generator"); _wall_generator->value = PerimeterGeneratorType::Arachne; @@ -995,7 +998,7 @@ bool CalibUtils::calib_generic_auto_pa_cali(const std::vector &calib_ js["nozzle_diameter"] = nozzle_diameter; std::string filament_ids; - for (const auto calib_info : calib_infos) { + for (const auto& calib_info : calib_infos) { filament_ids += calib_info.filament_prest->filament_id; filament_ids += " "; }