From 3666f84e6546d38cc90bbcaba7845c177eb73429 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Wed, 27 Nov 2024 20:25:57 +0800 Subject: [PATCH] Fix PA pattern crash if default/first layer line width is percentage (#7592) Fix PA pattern crash if default/first layer line width is percentage (SoftFever/OrcaSlicer#7569) --- src/libslic3r/calib.hpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/calib.hpp b/src/libslic3r/calib.hpp index b26a000790..19b19cf347 100644 --- a/src/libslic3r/calib.hpp +++ b/src/libslic3r/calib.hpp @@ -266,8 +266,18 @@ public: protected: double speed_first_layer() const { return m_config.option("initial_layer_speed")->value; }; double speed_perimeter() const { return m_config.option("outer_wall_speed")->value; }; - double line_width_first_layer() const { return m_config.get_abs_value("initial_layer_line_width"); }; - double line_width() const { return m_config.get_abs_value("line_width"); }; + double line_width_first_layer() const + { + // TODO: FIXME: find out current filament/extruder? + const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0); + return m_config.get_abs_value("initial_layer_line_width", nozzle_diameter); + }; + double line_width() const + { + // TODO: FIXME: find out current filament/extruder? + const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0); + return m_config.get_abs_value("line_width", nozzle_diameter); + }; int wall_count() const { return m_config.option("wall_loops")->value; }; private: