Permalink
Browse files

Fixed regression when using --infill-only-where-needed. Includes regr…

…ession test. #1721
  • Loading branch information...
1 parent 878deb8 commit e83718332737181e0b1930f9e65c87fa54566826 @alexrj committed Feb 16, 2014
Showing with 12 additions and 5 deletions.
  1. +4 −4 lib/Slic3r/Print/Object.pm
  2. +8 −1 t/fill.t
@@ -556,8 +556,8 @@ sub clip_fill_surfaces {
my $overhangs = []; # arrayref of polygons
for my $layer_id (reverse 0..$#{$self->layers}) {
my $layer = $self->layers->[$layer_id];
- my @layer_internal = ();
- my @new_internal = ();
+ my @layer_internal = (); # arrayref of Surface objects
+ my @new_internal = (); # arrayref of Surface objects
# clip this layer's internal surfaces to @overhangs
foreach my $layerm (@{$layer->regions}) {
@@ -591,10 +591,10 @@ sub clip_fill_surfaces {
if ($layer_id > 0) {
my $solid = diff(
[ map @$_, @{$layer->slices} ],
- \@layer_internal,
+ [ map $_->p, @layer_internal ],
);
$overhangs = offset($solid, +$additional_margin);
- push @$overhangs, @new_internal; # propagate upper overhangs
+ push @$overhangs, map $_->p, @new_internal; # propagate upper overhangs
}
}
}
View
@@ -2,7 +2,7 @@ use Test::More;
use strict;
use warnings;
-plan tests => 41;
+plan tests => 42;
BEGIN {
use FindBin;
@@ -199,6 +199,13 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) {
{
my $config = Slic3r::Config->new_from_defaults;
+ $config->set('infill_only_where_needed', 1);
+ my $print = Slic3r::Test::init_print('20mm_cube', config => $config);
+ ok my $gcode = Slic3r::Test::gcode($print), "successful G-code generation when infill_only_where_needed is set";
+}
+
+{
+ my $config = Slic3r::Config->new_from_defaults;
$config->set('skirts', 0);
$config->set('perimeters', 0);
$config->set('fill_density', 0);

0 comments on commit e837183

Please sign in to comment.