diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm index 62b6caf88..fab693b12 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 90a981c1f..755823661 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