Bugfix: top layers were not detected correctly, causing overlap of support material and object in some situations where there were contact regions having the same Z as some top regions

This commit is contained in:
Alessandro Ranellucci 2013-08-12 18:12:53 +02:00
parent 8d413eda44
commit 7062d028d2

View File

@ -938,7 +938,9 @@ sub generate_support_material {
# ('new' means all the areas that are lower than the last top layer # ('new' means all the areas that are lower than the last top layer
# we considered) # we considered)
my $min_top = min(keys %top) // max(keys %contact); my $min_top = min(keys %top) // max(keys %contact);
push @$projection, map @{$contact{$_}}, grep { $_ > $layer->print_z && $_ < $min_top } keys %contact; # use <= instead of just < because otherwise we'd ignore any contact regions
# having the same Z of top layers
push @$projection, map @{$contact{$_}}, grep { $_ > $layer->print_z && $_ <= $min_top } keys %contact;
# now find whether any projection falls onto this top surface # now find whether any projection falls onto this top surface
my $touching = intersection($projection, [ map $_->p, @top ]); my $touching = intersection($projection, [ map $_->p, @top ]);