From b6bd527bdc0daae56172751059899301992c4d78 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Fri, 7 Nov 2014 17:17:20 +0100 Subject: [PATCH] Apply bridge flow and speed to first layer as well, when we have raft layers. This behavior is more consistent when all the other bottom surfaces lying on the void (thus on support material). #2301 --- lib/Slic3r/Layer/Region.pm | 2 +- lib/Slic3r/Print/Object.pm | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/Slic3r/Layer/Region.pm b/lib/Slic3r/Layer/Region.pm index 357f63645..6af5c3d97 100644 --- a/lib/Slic3r/Layer/Region.pm +++ b/lib/Slic3r/Layer/Region.pm @@ -284,7 +284,7 @@ sub make_perimeters { # detect overhanging/bridging perimeters my @paths = (); - if ($self->region->config->overhangs && $lower_slices->count > 0) { + if ($self->region->config->overhangs) { # get non-overhang paths by intersecting this loop with the grown lower slices foreach my $polyline (@{ intersection_ppl([ $polygon ], $lower_slices_p) }) { push @paths, Slic3r::ExtrusionPath->new( diff --git a/lib/Slic3r/Print/Object.pm b/lib/Slic3r/Print/Object.pm index d7878e25a..af07f3488 100644 --- a/lib/Slic3r/Print/Object.pm +++ b/lib/Slic3r/Print/Object.pm @@ -700,7 +700,14 @@ sub detect_surfaces_type { # if no lower layer, all surfaces of this one are solid # we clone surfaces because we're going to clear the slices collection @bottom = map $_->clone, @{$layerm->slices}; - $_->surface_type(S_TYPE_BOTTOM) for @bottom; + + # if we have raft layers, consider bottom layer as a bridge + # just like any other bottom surface lying on the void + if ($self->config->raft_layers > 0) { + $_->surface_type(S_TYPE_BOTTOMBRIDGE) for @bottom; + } else { + $_->surface_type(S_TYPE_BOTTOM) for @bottom; + } } # now, if the object contained a thin membrane, we could have overlapping bottom