diff options
author | bubnikv <bubnikv@gmail.com> | 2017-06-21 17:15:39 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-06-21 17:15:39 +0300 |
commit | f0325575c212236b2447ab3241873716acbf97c4 (patch) | |
tree | cf0174eb9f3a8486e34458a50da61e3de5370417 /t | |
parent | 0bd2bb1e8e1a1b83ae1bd2ed5fafed6e7643e7e3 (diff) |
Slic3r has been modified to propagate the following filament specific
values to GCode generator, one per active extruder:
bed_temperature
bridge_fan_speed
cooling
disable_fan_first_layers
fan_always_on
fan_below_layer_time
first_layer_bed_temperature
max_fan_speed
min_fan_speed
min_print_speed
slowdown_below_layer_time
Now it remains to extend Slic3r to correctly apply these values.
Diffstat (limited to 't')
-rw-r--r-- | t/cooling.t | 32 | ||||
-rw-r--r-- | t/fill.t | 4 | ||||
-rw-r--r-- | t/flow.t | 2 | ||||
-rw-r--r-- | t/gaps.t | 2 | ||||
-rw-r--r-- | t/multi.t | 2 | ||||
-rw-r--r-- | t/perimeters.t | 14 | ||||
-rw-r--r-- | t/shells.t | 8 | ||||
-rw-r--r-- | t/skirt_brim.t | 6 | ||||
-rw-r--r-- | t/support.t | 4 |
9 files changed, 37 insertions, 37 deletions
diff --git a/t/cooling.t b/t/cooling.t index 2324e86c1..560af1beb 100644 --- a/t/cooling.t +++ b/t/cooling.t @@ -27,18 +27,18 @@ sub buffer { } my $config = Slic3r::Config->new_from_defaults; -$config->set('disable_fan_first_layers', 0); +$config->set('disable_fan_first_layers', [ 0 ]); { my $buffer = buffer($config); - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time + 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time->[0] + 1); my $gcode = $buffer->append('G1 F3000;_EXTRUDE_SET_SPEED\nG1 X100 E1', 0, 0, 0) . $buffer->flush; like $gcode, qr/F3000/, 'speed is not altered when elapsed time is greater than slowdown threshold'; } { my $buffer = buffer($config); - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time - 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time->[0] - 1); my $gcode = $buffer->append( "G1 X50 F2500\n" . "G1 F3000;_EXTRUDE_SET_SPEED\n" . @@ -53,7 +53,7 @@ $config->set('disable_fan_first_layers', 0); { my $buffer = buffer($config); - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time + 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time->[0] + 1); my $gcode = $buffer->append('G1 X100 E1 F3000', 0, 0, 0) . $buffer->flush; unlike $gcode, qr/M106/, 'fan is not activated when elapsed time is greater than fan threshold'; } @@ -63,7 +63,7 @@ $config->set('disable_fan_first_layers', 0); my $gcode = ""; for my $obj_id (0 .. 1) { # use an elapsed time which is < the slowdown threshold but greater than it when summed twice - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time - 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->slowdown_below_layer_time->[0] - 1); $gcode .= $buffer->append("G1 X100 E1 F3000\n", $obj_id, 0, 0); } $gcode .= $buffer->flush; @@ -76,7 +76,7 @@ $config->set('disable_fan_first_layers', 0); for my $layer_id (0 .. 1) { for my $obj_id (0 .. 1) { # use an elapsed time which is < the threshold but greater than it when summed twice - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time - 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time->[0] - 1); $gcode .= $buffer->append("G1 X100 E1 F3000\n", $obj_id, $layer_id, 0); } } @@ -90,7 +90,7 @@ $config->set('disable_fan_first_layers', 0); for my $layer_id (0 .. 1) { for my $obj_id (0 .. 1) { # use an elapsed time which is < the threshold even when summed twice - $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time/2 - 1); + $buffer->gcodegen->set_elapsed_time($buffer->gcodegen->config->fan_below_layer_time->[0]/2 - 1); $gcode .= $buffer->append("G1 X100 E1 F3000\n", $obj_id, $layer_id, 0); } } @@ -100,10 +100,10 @@ $config->set('disable_fan_first_layers', 0); { my $config = Slic3r::Config->new_from_defaults; - $config->set('cooling', 1); - $config->set('bridge_fan_speed', 100); - $config->set('fan_below_layer_time', 0); - $config->set('slowdown_below_layer_time', 0); + $config->set('cooling', [ 1 ]); + $config->set('bridge_fan_speed', [ 100 ]); + $config->set('fan_below_layer_time', [ 0 ]); + $config->set('slowdown_below_layer_time', [ 0 ]); $config->set('bridge_speed', 99); $config->set('top_solid_layers', 1); # internal bridges use solid_infil speed $config->set('bottom_solid_layers', 1); # internal bridges use solid_infil speed @@ -134,10 +134,10 @@ $config->set('disable_fan_first_layers', 0); { my $config = Slic3r::Config->new_from_defaults; - $config->set('cooling', 1); - $config->set('fan_below_layer_time', 0); - $config->set('slowdown_below_layer_time', 10); - $config->set('min_print_speed', 0); + $config->set('cooling', [ 1 ]); + $config->set('fan_below_layer_time', [ 0 ]); + $config->set('slowdown_below_layer_time', [ 10 ]); + $config->set('min_print_speed', [ 0 ]); $config->set('start_gcode', ''); my $print = Slic3r::Test::init_print('20mm_cube', config => $config); @@ -152,7 +152,7 @@ $config->set('disable_fan_first_layers', 0); $layer_times[-1] += abs($info->{dist_XY} || $info->{dist_E} || $info->{dist_Z} || 0) / ($args->{F} // $self->F) * 60; } }); - my $all_below = !defined first { $_ > 0 && $_ < $config->slowdown_below_layer_time } @layer_times; + my $all_below = !defined first { $_ > 0 && $_ < $config->slowdown_below_layer_time->[0] } @layer_times; ok $all_below, 'slowdown_below_layer_time is honored'; } @@ -199,7 +199,7 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) { $config->set('infill_extruder', 2); $config->set('infill_extrusion_width', 0.5); $config->set('fill_density', 40); - $config->set('cooling', 0); # for preventing speeds from being altered + $config->set('cooling', [ 0 ]); # for preventing speeds from being altered $config->set('first_layer_speed', '100%'); # for preventing speeds from being altered my $test = sub { @@ -249,7 +249,7 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) { $config->set('solid_infill_every_layers', 2); $config->set('perimeter_speed', 99); $config->set('external_perimeter_speed', 99); - $config->set('cooling', 0); + $config->set('cooling', [ 0 ]); $config->set('first_layer_speed', '100%'); my $print = Slic3r::Test::init_print('20mm_cube', config => $config); @@ -43,7 +43,7 @@ use Slic3r::Test; my $config = Slic3r::Config->new_from_defaults; $config->set('bridge_speed', 99); $config->set('bridge_flow_ratio', 1); - $config->set('cooling', 0); # to prevent speeds from being altered + $config->set('cooling', [ 0 ]); # to prevent speeds from being altered $config->set('first_layer_speed', '100%'); # to prevent speeds from being altered my $test = sub { @@ -23,7 +23,7 @@ use Slic3r::Test; $config->set('small_perimeter_speed', 66); $config->set('gap_fill_speed', 99); $config->set('perimeters', 1); - $config->set('cooling', 0); # to prevent speeds from being altered + $config->set('cooling', [ 0 ]); # to prevent speeds from being altered $config->set('first_layer_speed', '100%'); # to prevent speeds from being altered $config->set('perimeter_extrusion_width', 0.35); $config->set('first_layer_extrusion_width', 0.35); @@ -128,7 +128,7 @@ use Slic3r::Test; $config->set('fill_density', 0); $config->set('solid_infill_speed', 99); $config->set('top_solid_infill_speed', 99); - $config->set('cooling', 0); # for preventing speeds from being altered + $config->set('cooling', [ 0 ]); # for preventing speeds from being altered $config->set('first_layer_speed', '100%'); # for preventing speeds from being altered my $test = sub { diff --git a/t/perimeters.t b/t/perimeters.t index b328b2b5f..b1706f29c 100644 --- a/t/perimeters.t +++ b/t/perimeters.t @@ -161,7 +161,7 @@ use Slic3r::Test; $config->set('perimeters', 3); $config->set('top_solid_layers', 0); $config->set('bottom_solid_layers', 0); - $config->set('cooling', 0); # to prevent speeds from being altered + $config->set('cooling', [ 0 ]); # to prevent speeds from being altered $config->set('first_layer_speed', '100%'); # to prevent speeds from being altered { @@ -242,10 +242,10 @@ use Slic3r::Test; $config->set('perimeter_speed', 77); $config->set('external_perimeter_speed', 66); $config->set('bridge_speed', 99); - $config->set('cooling', 1); - $config->set('fan_below_layer_time', 0); - $config->set('slowdown_below_layer_time', 0); - $config->set('bridge_fan_speed', 100); + $config->set('cooling', [ 1 ]); + $config->set('fan_below_layer_time', [ 0 ]); + $config->set('slowdown_below_layer_time', [ 0 ]); + $config->set('bridge_fan_speed', [ 100 ]); $config->set('bridge_flow_ratio', 33); # arbitrary value $config->set('overhangs', 1); my $print = Slic3r::Test::init_print('overhang', config => $config); @@ -289,7 +289,7 @@ use Slic3r::Test; $config->set('layer_height', 0.4); $config->set('first_layer_height', 0.35); $config->set('extra_perimeters', 1); - $config->set('cooling', 0); # to prevent speeds from being altered + $config->set('cooling', [ 0 ]); # to prevent speeds from being altered $config->set('first_layer_speed', '100%'); # to prevent speeds from being altered $config->set('perimeter_speed', 99); $config->set('external_perimeter_speed', 99); @@ -377,7 +377,7 @@ use Slic3r::Test; $config->set('bridge_speed', 99); $config->set('fill_density', 0); # to prevent bridging over sparse infill $config->set('overhangs', 1); - $config->set('cooling', 0); # to prevent speeds from being altered + $config->set('cooling', [ 0 ]); # to prevent speeds from being altered $config->set('first_layer_speed', '100%'); # to prevent speeds from being altered my $test = sub { diff --git a/t/shells.t b/t/shells.t index e7eb5da13..eeec94ce2 100644 --- a/t/shells.t +++ b/t/shells.t @@ -20,7 +20,7 @@ use Slic3r::Test; $config->set('top_solid_infill_speed', 99); $config->set('bridge_speed', 72); $config->set('first_layer_speed', '100%'); - $config->set('cooling', 0); + $config->set('cooling', [ 0 ]); my $test = sub { my ($conf) = @_; @@ -86,7 +86,7 @@ use Slic3r::Test; $config->set('first_layer_height', '100%'); $config->set('bottom_solid_layers', 0); $config->set('top_solid_layers', 3); - $config->set('cooling', 0); + $config->set('cooling', [ 0 ]); $config->set('bridge_speed', 99); $config->set('solid_infill_speed', 99); $config->set('top_solid_infill_speed', 99); @@ -115,7 +115,7 @@ use Slic3r::Test; # discarded instead of grown $config->set('perimeters', 1); $config->set('fill_density', 0); - $config->set('cooling', 0); # prevent speed alteration + $config->set('cooling', [ 0 ]); # prevent speed alteration $config->set('first_layer_speed', '100%'); # prevent speed alteration $config->set('layer_height', 0.4); $config->set('first_layer_height', '100%'); @@ -138,7 +138,7 @@ use Slic3r::Test; { my $config = Slic3r::Config->new_from_defaults; $config->set('perimeters', 3); - $config->set('cooling', 0); # prevent speed alteration + $config->set('cooling', [ 0 ]); # prevent speed alteration $config->set('first_layer_speed', '100%'); # prevent speed alteration $config->set('layer_height', 0.4); $config->set('first_layer_height', '100%'); diff --git a/t/skirt_brim.t b/t/skirt_brim.t index 878a78840..7a4507942 100644 --- a/t/skirt_brim.t +++ b/t/skirt_brim.t @@ -18,7 +18,7 @@ use Slic3r::Test; $config->set('skirt_height', 2); $config->set('perimeters', 0); $config->set('support_material_speed', 99); - $config->set('cooling', 0); # to prevent speeds to be altered + $config->set('cooling', [ 0 ]); # to prevent speeds to be altered $config->set('first_layer_speed', '100%'); # to prevent speeds to be altered my $test = sub { @@ -52,7 +52,7 @@ use Slic3r::Test; $config->set('bottom_solid_layers', 0); # to prevent solid shells and their speeds $config->set('brim_width', 5); $config->set('support_material_speed', 99); - $config->set('cooling', 0); # to prevent speeds to be altered + $config->set('cooling', [ 0 ]); # to prevent speeds to be altered $config->set('first_layer_speed', '100%'); # to prevent speeds to be altered my $print = Slic3r::Test::init_print('20mm_cube', config => $config); @@ -97,7 +97,7 @@ use Slic3r::Test; $config->set('support_material_speed', 99); $config->set('perimeter_extruder', 1); $config->set('support_material_extruder', 2); - $config->set('cooling', 0); # to prevent speeds to be altered + $config->set('cooling', [ 0 ]); # to prevent speeds to be altered $config->set('first_layer_speed', '100%'); # to prevent speeds to be altered my $print = Slic3r::Test::init_print('overhang', config => $config); diff --git a/t/support.t b/t/support.t index e30571c09..e024b7cbe 100644 --- a/t/support.t +++ b/t/support.t @@ -114,7 +114,7 @@ use Slic3r::Test; $config->set('support_material_extrusion_width', 0.6); $config->set('first_layer_extrusion_width', '100%'); $config->set('bridge_speed', 99); - $config->set('cooling', 0); # prevent speed alteration + $config->set('cooling', [ 0 ]); # prevent speed alteration $config->set('first_layer_speed', '100%'); # prevent speed alteration $config->set('start_gcode', ''); # prevent any unexpected Z move my $print = Slic3r::Test::init_print('20mm_cube', config => $config); @@ -197,7 +197,7 @@ use Slic3r::Test; $config->set('support_material', 1); $config->set('top_solid_layers', 0); # so that we don't have the internal bridge over infill $config->set('bridge_speed', 99); - $config->set('cooling', 0); + $config->set('cooling', [ 0 ]); $config->set('first_layer_speed', '100%'); my $test = sub { |