From 5f88135074c438eb0ae5fb0bd4e73ebf00788b08 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Fri, 2 May 2014 10:49:14 +0200 Subject: [PATCH] Adjust XY distance of the contact loop --- lib/Slic3r/Print/SupportMaterial.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Slic3r/Print/SupportMaterial.pm b/lib/Slic3r/Print/SupportMaterial.pm index aa61dae1b4..a55a0558c3 100644 --- a/lib/Slic3r/Print/SupportMaterial.pm +++ b/lib/Slic3r/Print/SupportMaterial.pm @@ -244,7 +244,7 @@ sub contact_area { # We increment the area in steps because we don't want our support to overflow # on the other side of the object (if it's very thin). { - my @slices_margin = @{offset([ map @$_, @{$lower_layer->slices} ], $fw/2)}; + my @slices_margin = @{offset([ map @$_, @{$lower_layer->slices} ], +$fw/2)}; for ($fw/2, map {scale MARGIN_STEP} 1..(MARGIN / MARGIN_STEP)) { $diff = diff( offset($diff, $_), @@ -547,10 +547,14 @@ sub generate_toolpaths { push @$base, @$contact; } elsif (@$contact && $contact_loops > 0) { # generate the outermost loop + + # find centerline of the external loop (or any other kind of extrusions should the loop be skipped) + $contact = offset($contact, -$interface_flow->scaled_width/2); + my @loops0 = (); { # find centerline of the external loop of the contours - my @external_loops = @{offset($contact, -$interface_flow->scaled_width/2)}; + my @external_loops = @$contact; # only consider the loops facing the overhang {