Useless extra perimeters were generated sometimes. #444 #732

This commit is contained in:
Alessandro Ranellucci 2012-10-22 13:11:43 +02:00
parent 76f75db055
commit 3c7785aaf3

View File

@ -2,7 +2,7 @@ package Slic3r::Print::Object;
use Moo; use Moo;
use Slic3r::ExtrusionPath ':roles'; use Slic3r::ExtrusionPath ':roles';
use Slic3r::Geometry qw(scale unscale deg2rad); use Slic3r::Geometry qw(scale unscale deg2rad scaled_epsilon);
use Slic3r::Geometry::Clipper qw(diff_ex intersection_ex union_ex); use Slic3r::Geometry::Clipper qw(diff_ex intersection_ex union_ex);
use Slic3r::Surface ':types'; use Slic3r::Surface ':types';
@ -211,7 +211,7 @@ sub make_perimeters {
# of our slice # of our slice
my $hypothetical_perimeter; my $hypothetical_perimeter;
{ {
my $outer = [ map @$_, $slice->expolygon->offset_ex(- ($hypothetical_perimeter_num-1.5) * $perimeter_flow->scaled_spacing) ]; my $outer = [ map @$_, $slice->expolygon->offset_ex(- ($hypothetical_perimeter_num-1.5) * $perimeter_flow->scaled_spacing - scaled_epsilon) ];
last CYCLE if !@$outer; last CYCLE if !@$outer;
my $inner = [ map @$_, $slice->expolygon->offset_ex(- ($hypothetical_perimeter_num-0.5) * $perimeter_flow->scaled_spacing) ]; my $inner = [ map @$_, $slice->expolygon->offset_ex(- ($hypothetical_perimeter_num-0.5) * $perimeter_flow->scaled_spacing) ];
last CYCLE if !@$inner; last CYCLE if !@$inner;