diff --git a/lib/Slic3r.pm b/lib/Slic3r.pm index 3efc166a..e9159e0f 100644 --- a/lib/Slic3r.pm +++ b/lib/Slic3r.pm @@ -109,10 +109,10 @@ our $perimeters_extrusion_width = 0; our $infill_extrusion_width = 0; our $bridge_flow_ratio = 1; our $overlap_factor = 0.5; -our $flow = Slic3r::Flow->new; -our $first_layer_flow = undef; -our $perimeters_flow = Slic3r::Flow->new; -our $infill_flow = Slic3r::Flow->new; +our $flow; +our $first_layer_flow; +our $perimeters_flow; +our $infill_flow; # print options our $perimeters = 3; diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm index 0307566b..d7ea2369 100644 --- a/lib/Slic3r/Config.pm +++ b/lib/Slic3r/Config.pm @@ -672,13 +672,18 @@ sub validate { if $Slic3r::_first_layer_height > $Slic3r::nozzle_diameter; # calculate flow + $Slic3r::flow = Slic3r::Flow->new; $Slic3r::flow->calculate($Slic3r::extrusion_width); if ($Slic3r::first_layer_extrusion_width) { $Slic3r::first_layer_flow = Slic3r::Flow->new(layer_height => $Slic3r::_first_layer_height); $Slic3r::first_layer_flow->calculate($Slic3r::first_layer_extrusion_width); } + $Slic3r::perimeters_flow = Slic3r::Flow->new; $Slic3r::perimeters_flow->calculate($Slic3r::perimeters_extrusion_width || $Slic3r::extrusion_width); + + $Slic3r::infill_flow = Slic3r::Flow->new; $Slic3r::infill_flow->calculate($Slic3r::infill_extrusion_width || $Slic3r::extrusion_width); + Slic3r::debugf "Default flow width = %s, spacing = %s, min_spacing = %s\n", $Slic3r::flow->width, $Slic3r::flow->spacing, $Slic3r::flow->min_spacing;