Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/t/multi.t
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2013-11-15 18:52:11 +0400
committerAlessandro Ranellucci <aar@cpan.org>2013-11-15 18:52:11 +0400
commit5e78f8a0b07f01dea96d9e570626d1e3999af321 (patch)
tree4023b985a5b4b1dccb7961c7e4bb9e43db00e0ed /t/multi.t
parentf733ef5f6b846248b5581f30db117d52ec173890 (diff)
Make sure all extruders are outside skirt at toolchange when standby_temperature is enabled
Diffstat (limited to 't/multi.t')
-rw-r--r--t/multi.t14
1 files changed, 9 insertions, 5 deletions
diff --git a/t/multi.t b/t/multi.t
index 01f64d235..1423499ee 100644
--- a/t/multi.t
+++ b/t/multi.t
@@ -10,19 +10,23 @@ BEGIN {
use List::Util qw(first);
use Math::ConvexHull::MonotoneChain qw(convex_hull);
use Slic3r;
+use Slic3r::Geometry qw(scale);
use Slic3r::Test;
{
my $config = Slic3r::Config->new_from_defaults;
+ $config->set('raft_layers', 2);
$config->set('infill_extruder', 2);
+ $config->set('support_material_extruder', 3);
$config->set('standby_temperature', 1);
- $config->set('temperature', [200, 180]);
- $config->set('first_layer_temperature', [206, 186]);
+ $config->set('extruder_offset', [ [0,0], [20,0], [0,20] ]);
+ $config->set('temperature', [200, 180, 170]);
+ $config->set('first_layer_temperature', [206, 186, 166]);
my $print = Slic3r::Test::init_print('20mm_cube', config => $config);
my $tool = undef;
- my @tool_temp = (0,0);
+ my @tool_temp = (0,0,0);
my @toolchange_points = ();
my @extrusion_points = ();
Slic3r::GCode::Reader->new->parse(Slic3r::Test::gcode($print), sub {
@@ -46,9 +50,9 @@ use Slic3r::Test;
}
$tool_temp[$t] = $args->{S};
} elsif ($cmd eq 'G1' && $info->{extruding} && $info->{dist_XY} > 0) {
- push @extrusion_points, Slic3r::Point->new_scale($args->{X}, $args->{Y});
+ push @extrusion_points, my $point = Slic3r::Point->new_scale($args->{X}, $args->{Y});
+ $point->translate(map scale($_), @{ $config->extruder_offset->[$tool] });
}
- # TODO: check that toolchanges retraction and restart happen outside skirt
});
my $convex_hull = Slic3r::Polygon->new(@{convex_hull([ map $_->pp, @extrusion_points ])});
ok !(first { $convex_hull->encloses_point($_) } @toolchange_points), 'all toolchanges happen outside skirt';