From cbd298bc36cd1d40ce5d30b59a649d02b35330ee Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Wed, 2 Jan 2013 19:22:51 +0100 Subject: [PATCH] Alter extrusion width automatic calculation to take "native flow" into account --- lib/Slic3r/Flow.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Slic3r/Flow.pm b/lib/Slic3r/Flow.pm index 01992e788..dbce589fb 100644 --- a/lib/Slic3r/Flow.pm +++ b/lib/Slic3r/Flow.pm @@ -1,6 +1,7 @@ package Slic3r::Flow; use Moo; +use List::Util qw(max); use Slic3r::Geometry qw(PI scale); has 'nozzle_diameter' => (is => 'ro', required => 1); @@ -37,8 +38,11 @@ sub _build_width { $width = $self->nozzle_diameter * ($self->nozzle_diameter/$self->layer_height - 4/PI + 1); } - my $min = $self->nozzle_diameter * 1.05; - my $max = $self->nozzle_diameter * 1.4; + my $min = max( + ((($self->nozzle_diameter/2) ** 2) / $self->layer_height * 0.8), + ($self->nozzle_diameter * 1.05), + ); + my $max = $self->nozzle_diameter * 1.6; $width = $max if $width > $max; $width = $min if $width < $min;