Fixed regression preventing arcs to be generated at all (center detection is still buggy)

This commit is contained in:
Alessandro Ranellucci 2012-06-07 19:53:27 +02:00
parent c0c53c4397
commit 0c4b112718
3 changed files with 8 additions and 2 deletions

View File

@ -120,7 +120,10 @@ sub extrude_path {
# detect arcs # detect arcs
if ($Slic3r::gcode_arcs && !$recursive) { if ($Slic3r::gcode_arcs && !$recursive) {
my $gcode = ""; my $gcode = "";
$gcode .= $self->extrude_path($_, $description, 1) for $path->detect_arcs; foreach my $arc_path ($path->detect_arcs) {
$arc_path->deserialize;
$gcode .= $self->extrude_path($arc_path, $description, 1);
}
return $gcode; return $gcode;
} }

View File

@ -28,6 +28,8 @@ sub split_at {
$point = Slic3r::Point->new($point); $point = Slic3r::Point->new($point);
$self->deserialize;
# find index of point # find index of point
my $i = -1; my $i = -1;
for (my $n = 0; $n <= $#{$self->polygon}; $n++) { for (my $n = 0; $n <= $#{$self->polygon}; $n++) {
@ -50,6 +52,7 @@ sub split_at {
sub split_at_first_point { sub split_at_first_point {
my $self = shift; my $self = shift;
$self->deserialize;
return $self->split_at($self->polygon->[0]); return $self->split_at($self->polygon->[0]);
} }

View File

@ -184,7 +184,7 @@ sub make_fill {
paths => [ paths => [
map { map {
$_->isa('Slic3r::Polygon') $_->isa('Slic3r::Polygon')
? Slic3r::ExtrusionLoop->new(polygon => $_, role => EXTR_ROLE_SOLIDFILL)->split_at($_->[0]) ? Slic3r::ExtrusionLoop->new(polygon => $_, role => EXTR_ROLE_SOLIDFILL)->split_at_first_point
: Slic3r::ExtrusionPath->new(polyline => $_, role => EXTR_ROLE_SOLIDFILL) : Slic3r::ExtrusionPath->new(polyline => $_, role => EXTR_ROLE_SOLIDFILL)
} @{$layer->thin_fills}, } @{$layer->thin_fills},
], ],