From e897fbbd51abd54af2b79f904c3becd28fc07dd8 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Sun, 3 Aug 2014 11:49:00 +0200 Subject: [PATCH] Only consider used extruders when limiting layer height. #2175 --- lib/Slic3r/Config.pm | 4 ---- lib/Slic3r/Print.pm | 9 +++++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm index 62b6caf888..fab693b122 100644 --- a/lib/Slic3r/Config.pm +++ b/lib/Slic3r/Config.pm @@ -256,10 +256,6 @@ sub validate { # --nozzle-diameter die "Invalid value for --nozzle-diameter\n" if grep $_ < 0, @{$self->nozzle_diameter}; - die "--layer-height can't be greater than --nozzle-diameter\n" - if grep $self->layer_height > $_, @{$self->nozzle_diameter}; - die "First layer height can't be greater than --nozzle-diameter\n" - if grep $self->get_value('first_layer_height') > $_, @{$self->nozzle_diameter}; # --perimeters die "Invalid value for --perimeters\n" diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 90a981c1f8..7558236616 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -300,6 +300,15 @@ sub validate { die "The Spiral Vase option can only be used when printing single material objects.\n"; } } + + { + my $max_layer_height = max( + map { $_->config->layer_height, $_->config->get_value('first_layer_height') } @{$self->objects}, + ); + my $extruders = $self->extruders; + die "Layer height can't be greater than nozzle diameter\n" + if grep { $max_layer_height > $self->config->get_at('nozzle_diameter', $_) } @$extruders; + } } # 0-based indices of used extruders