From 18cfc15eadf26a1a9df1766695cc9e15a8cb8c3d Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Thu, 15 Dec 2011 20:21:34 +0100 Subject: [PATCH] Restored a little overlap between perimeters and infill (we're only explicitely overlapping in the direction of infill lines, because side overlap is handled by the flow logic in Extruder.pm) --- lib/Slic3r/Fill/Rectilinear.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Slic3r/Fill/Rectilinear.pm b/lib/Slic3r/Fill/Rectilinear.pm index b15524454..bd9fb4f98 100644 --- a/lib/Slic3r/Fill/Rectilinear.pm +++ b/lib/Slic3r/Fill/Rectilinear.pm @@ -30,6 +30,7 @@ sub fill_surface { $distance_between_lines += $extra_space / ($number_of_lines - 1) if $number_of_lines > 1; $flow_width = unscale $distance_between_lines; } + my $overlap_distance = $min_spacing * $Slic3r::overlap_factor; my @paths = (); my $x = $bounding_box->[X1]; @@ -40,7 +41,12 @@ sub fill_surface { $vertical_line->[A][X] -= $line_oscillation; $vertical_line->[B][X] += $line_oscillation; } - push @paths, @{ $expolygon->clip_line($vertical_line) }; + my @clipped_lines = @{ $expolygon->clip_line($vertical_line) }; + for (@clipped_lines) { + $_->[0][Y] += $overlap_distance; + $_->[-1][Y] -= $overlap_distance; + } + push @paths, @clipped_lines; $x += $distance_between_lines; }