mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
Bugfix: some regions near bridges were left blank. #58
This commit is contained in:
parent
36e1ea0caa
commit
84d9f5fd9d
2 changed files with 11 additions and 22 deletions
|
@ -218,7 +218,7 @@ sub discover_horizontal_shells {
|
|||
Slic3r::debugf " looking for neighbors on layer %d...\n", $n;
|
||||
|
||||
foreach my $surfaces (@{$self->layers->[$n]->fill_surfaces}) {
|
||||
my $neighbor_polygons = [ map $_->p, grep $_->surface_type eq 'internal', @$surfaces ];
|
||||
my $neighbor_polygons = [ map $_->p, @$surfaces ];
|
||||
|
||||
# find intersection between @surfaces and current layer's surfaces
|
||||
# intersections have contours and holes
|
||||
|
@ -235,26 +235,14 @@ sub discover_horizontal_shells {
|
|||
|
||||
# assign resulting inner surfaces to layer
|
||||
@$surfaces = ();
|
||||
foreach my $p (@$internal_polygons) {
|
||||
push @$surfaces, Slic3r::Surface->new(
|
||||
surface_type => 'internal',
|
||||
contour => $p->contour->closed_polyline,
|
||||
holes => [
|
||||
map $_->closed_polyline, $p->holes,
|
||||
],
|
||||
);
|
||||
}
|
||||
push @$surfaces, Slic3r::Surface->cast_from_expolygon
|
||||
($_, surface_type => 'internal')
|
||||
for @$internal_polygons;
|
||||
|
||||
# assign new internal-solid surfaces to layer
|
||||
foreach my $p (@$intersections) {
|
||||
push @$surfaces, Slic3r::Surface->new(
|
||||
surface_type => 'internal-solid',
|
||||
contour => $p->contour->closed_polyline,
|
||||
holes => [
|
||||
map $_->closed_polyline, $p->holes,
|
||||
],
|
||||
);
|
||||
}
|
||||
push @$surfaces, Slic3r::Surface->cast_from_expolygon
|
||||
($_, surface_type => 'internal-solid')
|
||||
for @$intersections;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue