mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-07 14:04:11 -06:00
Refactoring: initialize all layers at once and avoid duplication of slicing height math
This commit is contained in:
parent
a1a4d97f9f
commit
08270022dd
3 changed files with 25 additions and 24 deletions
|
@ -401,14 +401,12 @@ sub slice_facet {
|
|||
}
|
||||
|
||||
# calculate the layer extents
|
||||
my $min_layer = int((unscale($min_z) - ($Slic3r::Config->get_value('first_layer_height') + $Slic3r::Config->layer_height / 2)) / $Slic3r::Config->layer_height) - 2;
|
||||
$min_layer = 0 if $min_layer < 0;
|
||||
my $max_layer = int((unscale($max_z) - ($Slic3r::Config->get_value('first_layer_height') + $Slic3r::Config->layer_height / 2)) / $Slic3r::Config->layer_height) + 2;
|
||||
my ($min_layer, $max_layer) = $print_object->get_layer_range($min_z, $max_z);
|
||||
Slic3r::debugf "layers: min = %s, max = %s\n", $min_layer, $max_layer;
|
||||
|
||||
my $lines = {}; # layer_id => [ lines ]
|
||||
for (my $layer_id = $min_layer; $layer_id <= $max_layer; $layer_id++) {
|
||||
my $layer = $print_object->layer($layer_id);
|
||||
my $layer = $print_object->layers->[$layer_id];
|
||||
$lines->{$layer_id} ||= [];
|
||||
push @{ $lines->{$layer_id} }, $self->intersect_facet($facet_id, $layer->slice_z);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue