From 8ded268e7eda7bbe92480272f7be62ab54c29fd8 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Wed, 30 Apr 2014 10:46:51 +0200 Subject: [PATCH] Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991 --- lib/Slic3r/Print/SupportMaterial.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Slic3r/Print/SupportMaterial.pm b/lib/Slic3r/Print/SupportMaterial.pm index 0b78f7ad06..9999135c95 100644 --- a/lib/Slic3r/Print/SupportMaterial.pm +++ b/lib/Slic3r/Print/SupportMaterial.pm @@ -169,7 +169,9 @@ sub contact_area { my $lower_grown_slices = offset([ map @$_, @{$lower_layer->slices} ], +scale($nozzle_diameter/2)); # TODO: split_at_first_point() could split a bridge mid-way - my @overhang_perimeters = map $_->polygon->split_at_first_point, @{$layerm->perimeters}; + my @overhang_perimeters = + map { $_->isa('Slic3r::ExtrusionLoop') ? $_->polygon->split_at_first_point : $_->polyline->clone } + @{$layerm->perimeters}; # workaround for Clipper bug, see Slic3r::Polygon::clip_as_polyline() $_->[0]->translate(1,0) for @overhang_perimeters;