Bugfix: model with rounded walls had small useless infill regions. #177
This commit is contained in:
parent
7893480fd7
commit
ad8c9d4ea1
3 changed files with 12 additions and 1 deletions
1
MANIFEST
1
MANIFEST
|
@ -49,3 +49,4 @@ t/geometry.t
|
|||
t/polyclip.t
|
||||
t/stl.t
|
||||
utils/post-processing/z-every-line.pl
|
||||
utils/split_stl.pl
|
||||
|
|
|
@ -263,7 +263,9 @@ sub discover_horizontal_shells {
|
|||
my $layer = $self->layers->[$i];
|
||||
foreach my $type (qw(top bottom)) {
|
||||
# find surfaces of current type for current layer
|
||||
my @surfaces = grep $_->surface_type eq $type, @{$layer->fill_surfaces} or next;
|
||||
# and offset them to take perimeters into account
|
||||
my @surfaces = map $_->offset($Slic3r::perimeters * scale $Slic3r::flow_width),
|
||||
grep $_->surface_type eq $type, @{$layer->fill_surfaces} or next;
|
||||
my $surfaces_p = [ map $_->p, @surfaces ];
|
||||
Slic3r::debugf "Layer %d has %d surfaces of type '%s'\n",
|
||||
$i, scalar(@surfaces), $type;
|
||||
|
|
|
@ -37,6 +37,14 @@ sub group {
|
|||
return values %unique_types;
|
||||
}
|
||||
|
||||
sub offset {
|
||||
my $self = shift;
|
||||
return (ref $self)->new(
|
||||
expolygon => $self->expolygon->offset_ex(@_),
|
||||
map { $_ => $self->$_ } qw(surface_type depth_layers bridge_angle),
|
||||
);
|
||||
}
|
||||
|
||||
sub add_hole {
|
||||
my $self = shift;
|
||||
my ($hole) = @_;
|
||||
|
|
Loading…
Reference in a new issue