From 8c5a25b2020dac292a1aaeecea77ebc259c64c4e Mon Sep 17 00:00:00 2001 From: Ryan Hirasaki Date: Tue, 3 Jun 2025 20:50:47 -0500 Subject: [PATCH] Add ability to modify the print flow ratio per object --- src/libslic3r/GCode.cpp | 4 +--- src/slic3r/GUI/ConfigManipulation.cpp | 1 + src/slic3r/GUI/Tab.cpp | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 109b51d02..b0f56d642 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -5478,9 +5478,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, gcode += m_writer.set_jerk_xy(jerk); } // calculate extrusion length per distance unit - auto _mm3_per_mm = path.mm3_per_mm * double(m_curr_print->calib_mode() == CalibMode::Calib_Flow_Rate ? this->config().print_flow_ratio.value : 1); - - // calculate extrusion length per distance unit + auto _mm3_per_mm = path.mm3_per_mm * double(this->config().print_flow_ratio.value); if( path.role() == erTopSolidInfill ) _mm3_per_mm *= m_config.top_solid_infill_flow_ratio.value; else if (this->on_first_layer()) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index fac08c604..749a6696f 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -727,6 +727,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in toggle_line(el, has_overhang_speed, variant_index); toggle_line("flush_into_objects", !is_global_config); + toggle_line("print_flow_ratio", !is_global_config); toggle_line("support_interface_not_for_body",config->opt_int("support_interface_filament")&&!config->opt_int("support_filament")); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 4662aa97f..e58896619 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2191,6 +2191,7 @@ void TabPrint::build() optgroup->append_single_option_line("is_infill_first","parameter/quality-advance-settings"); optgroup->append_single_option_line("bridge_flow","parameter/bridge"); optgroup->append_single_option_line("thick_bridges","parameter/bridge"); + optgroup->append_single_option_line("print_flow_ratio"); optgroup->append_single_option_line("top_solid_infill_flow_ratio","parameter/quality-advance-settings"); optgroup->append_single_option_line("initial_layer_flow_ratio","parameter/quality-advance-settings"); optgroup->append_single_option_line("top_one_wall_type","parameter/quality-advance-settings");