diff --git a/lib/Slic3r/ExtrusionLoop.pm b/lib/Slic3r/ExtrusionLoop.pm index b13538ee..05df49cb 100644 --- a/lib/Slic3r/ExtrusionLoop.pm +++ b/lib/Slic3r/ExtrusionLoop.pm @@ -22,6 +22,11 @@ sub deserialize { $self->polygon($self->polygon->deserialize); } +sub shortest_path { + my $self = shift; + return $self; +} + sub split_at { my $self = shift; my ($point) = @_; diff --git a/lib/Slic3r/ExtrusionPath.pm b/lib/Slic3r/ExtrusionPath.pm index 6745541e..6e9b76b3 100644 --- a/lib/Slic3r/ExtrusionPath.pm +++ b/lib/Slic3r/ExtrusionPath.pm @@ -47,6 +47,11 @@ sub deserialize { $self->polyline($self->polyline->deserialize); } +sub shortest_path { + my $self = shift; + return $self; +} + sub clip_end { my $self = shift; my ($distance) = @_; diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 66a2ffd2..61bd5bfd 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -605,7 +605,7 @@ sub write_gcode { $gcode .= $gcodegen->set_tool($Slic3r::infill_extruder-1); $gcode .= $gcodegen->set_acceleration($Slic3r::infill_acceleration); for my $fill (@{ $layer->fills }) { - $gcode .= $gcodegen->extrude_path($_, 'fill') + $gcode .= $gcodegen->extrude($_, 'fill') for $fill->shortest_path($gcodegen->last_pos); }