diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm index dace84fbad..e0a0668743 100644 --- a/lib/Slic3r/Config.pm +++ b/lib/Slic3r/Config.pm @@ -594,6 +594,13 @@ our $Options = { type => 'bool', default => 1, }, + 'adjust_overhang_flow' => { + label => 'Adjust overhang flow', + tooltip => 'Experimental option to adjust flow for overhangs (bridge flow will be used).', + cli => 'adjust-overhang-flow!', + type => 'bool', + default => 1, + }, 'avoid_crossing_perimeters' => { label => 'Avoid crossing perimeters', tooltip => 'Optimize travel moves in order to minimize the crossing of perimeters. This is mostly useful with Bowden extruders which suffer from oozing. This feature slows down both the print and the G-code generation.', diff --git a/lib/Slic3r/GCode.pm b/lib/Slic3r/GCode.pm index 3bf8717a93..1a8fc9ea87 100644 --- a/lib/Slic3r/GCode.pm +++ b/lib/Slic3r/GCode.pm @@ -197,7 +197,7 @@ sub extrude_loop { my @paths = (); # detect overhanging/bridging perimeters - if ($extrusion_path->is_perimeter && @{$self->_layer_overhangs}) { + if ($Slic3r::Config->adjust_overhang_flow && $extrusion_path->is_perimeter && @{$self->_layer_overhangs}) { # get non-overhang paths by subtracting overhangs from the loop push @paths, $extrusion_path->subtract_expolygons($self->_layer_overhangs); diff --git a/lib/Slic3r/GUI/Tab.pm b/lib/Slic3r/GUI/Tab.pm index 2e0feb90bb..7f1c698775 100644 --- a/lib/Slic3r/GUI/Tab.pm +++ b/lib/Slic3r/GUI/Tab.pm @@ -412,7 +412,7 @@ sub build { }, { title => 'Quality (slower slicing)', - options => [qw(extra_perimeters avoid_crossing_perimeters start_perimeters_at_concave_points start_perimeters_at_non_overhang thin_walls)], + options => [qw(extra_perimeters avoid_crossing_perimeters start_perimeters_at_concave_points start_perimeters_at_non_overhang thin_walls adjust_overhang_flow)], lines => [ Slic3r::GUI::OptionsGroup->single_option_line('extra_perimeters'), Slic3r::GUI::OptionsGroup->single_option_line('avoid_crossing_perimeters'), @@ -421,6 +421,7 @@ sub build { options => [qw(start_perimeters_at_concave_points start_perimeters_at_non_overhang)], }, Slic3r::GUI::OptionsGroup->single_option_line('thin_walls'), + Slic3r::GUI::OptionsGroup->single_option_line('adjust_overhang_flow'), ], }, { diff --git a/slic3r.pl b/slic3r.pl index 57e58a1ca5..7ee2814efb 100755 --- a/slic3r.pl +++ b/slic3r.pl @@ -278,6 +278,8 @@ $j --start-perimeters-at-non-overhang Try to start perimeters at non-overhang points if any (default: no) --thin-walls Detect single-width walls (default: yes) + --adjust-overhang-flow + Experimental option to use bridge flow for overhangs (default: yes) Support material options: --support-material Generate support material for overhangs