From d164d13517fccf180ddbc7a0fc29b3b48963ca8d Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Tue, 1 May 2012 19:19:31 +0200 Subject: [PATCH] Bugfix: arc compensation code was filling some small holes --- lib/Slic3r/Layer.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Slic3r/Layer.pm b/lib/Slic3r/Layer.pm index 779f75815..8b718b91e 100644 --- a/lib/Slic3r/Layer.pm +++ b/lib/Slic3r/Layer.pm @@ -198,7 +198,10 @@ sub make_perimeters { next unless $area <= $Slic3r::small_perimeter_area; my $radius = sqrt($area / PI); my $new_radius = (scale($Slic3r::flow_width) + sqrt((scale($Slic3r::flow_width)**2) + (4*($radius**2)))) / 2; + # holes are always turned to contours, so reverse point order before and after + $hole->reverse; @$hole = map Slic3r::Point->new($_), @{ +($hole->offset(+ ($new_radius - $radius)))[0] }; + $hole->reverse; } # create other offsets