From c8687989e5eecab43fdfeee4a2b7cb52f87a31e7 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Tue, 21 Feb 2023 01:19:33 +0800 Subject: [PATCH] fix a bug that new overhang slowdown algo didn't work properly for cloned objects --- src/libslic3r/GCode.cpp | 2 +- src/libslic3r/GCode/ExtrusionProcessor.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 22c5f8aabd..835bde61bb 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2698,7 +2698,7 @@ GCode::LayerResult GCode::process_layer( Skirt::make_skirt_loops_per_extruder_other_layers(print, layer_tools, m_skirt_done); for (const auto& layer_to_print : layers) { - m_extrusion_quality_estimator.prepare_for_new_layer(layer_to_print.object_layer); + m_extrusion_quality_estimator.prepare_for_new_layer(layer_to_print.original_object, layer_to_print.object_layer); } diff --git a/src/libslic3r/GCode/ExtrusionProcessor.hpp b/src/libslic3r/GCode/ExtrusionProcessor.hpp index bf219600d8..c44ce50f46 100644 --- a/src/libslic3r/GCode/ExtrusionProcessor.hpp +++ b/src/libslic3r/GCode/ExtrusionProcessor.hpp @@ -250,10 +250,10 @@ class ExtrusionQualityEstimator public: void set_current_object(const PrintObject *object) { current_object = object; } - void prepare_for_new_layer(const Layer *layer) + void prepare_for_new_layer(const PrintObject * obj, const Layer *layer) { if (layer == nullptr) return; - const PrintObject *object = layer->object(); + const PrintObject *object = obj; prev_layer_boundaries[object] = next_layer_boundaries[object]; next_layer_boundaries[object] = AABBTreeLines::LinesDistancer{to_unscaled_linesf(layer->lslices)}; }