Removed wrong optimization causing possible extra retractions while moving in infill space
This commit is contained in:
parent
4474595629
commit
015580629b
2 changed files with 3 additions and 11 deletions
|
@ -15,7 +15,7 @@ has 'print_z' => (is => 'ro', required => 1); # Z used for printing in
|
||||||
has 'height' => (is => 'ro', required => 1); # layer height in unscaled coordinates
|
has 'height' => (is => 'ro', required => 1); # layer height in unscaled coordinates
|
||||||
|
|
||||||
# collection of expolygons generated by slicing the original geometry;
|
# collection of expolygons generated by slicing the original geometry;
|
||||||
# also known as 'islands' (all regions are merged here)
|
# also known as 'islands' (all regions and surface types are merged here)
|
||||||
has 'slices' => (is => 'rw');
|
has 'slices' => (is => 'rw');
|
||||||
|
|
||||||
# ordered collection of extrusion paths to fill surfaces for support material
|
# ordered collection of extrusion paths to fill surfaces for support material
|
||||||
|
@ -78,14 +78,6 @@ sub region {
|
||||||
# merge all regions' slices to get islands
|
# merge all regions' slices to get islands
|
||||||
sub make_slices {
|
sub make_slices {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
# optimization for single-region layers
|
|
||||||
my @regions_with_slices = grep { @{$_->slices} } @{$self->regions};
|
|
||||||
if (@regions_with_slices == 1) {
|
|
||||||
$self->slices([ map $_->expolygon, @{$regions_with_slices[0]->slices} ]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$self->slices(union_ex([ map $_->p, map @{$_->slices}, @{$self->regions} ]));
|
$self->slices(union_ex([ map $_->p, map @{$_->slices}, @{$self->regions} ]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ has 'overhang_width' => (is => 'lazy');
|
||||||
has 'lines' => (is => 'rw', default => sub { [] });
|
has 'lines' => (is => 'rw', default => sub { [] });
|
||||||
|
|
||||||
# collection of surfaces generated by slicing the original geometry
|
# collection of surfaces generated by slicing the original geometry
|
||||||
|
# divided by type top/bottom/internal
|
||||||
has 'slices' => (is => 'rw', default => sub { [] });
|
has 'slices' => (is => 'rw', default => sub { [] });
|
||||||
|
|
||||||
# collection of polygons or polylines representing thin walls contained
|
# collection of polygons or polylines representing thin walls contained
|
||||||
|
@ -266,8 +267,7 @@ sub make_perimeters {
|
||||||
$role = EXTR_ROLE_CONTOUR_INTERNAL_PERIMETER;
|
$role = EXTR_ROLE_CONTOUR_INTERNAL_PERIMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
### Disable overhang detection for now
|
if ($self->id > 0) {
|
||||||
if (0 && $self->id > 0) {
|
|
||||||
# A perimeter is considered overhang if its centerline exceeds the lower layer slices
|
# A perimeter is considered overhang if its centerline exceeds the lower layer slices
|
||||||
my $is_overhang = $is_contour
|
my $is_overhang = $is_contour
|
||||||
? @{diff([$polygon], \@lower_slices)}
|
? @{diff([$polygon], \@lower_slices)}
|
||||||
|
|
Loading…
Add table
Reference in a new issue