842, 847 slightly enlarge a clip polygon to counteract integer truncation
Geomery in referenced issues triggered Clipper problems, but also pointed to a situation where integer truncation (as coordinates pass into Clipper) might be shrinking a clip polygon in a way that leaves degenerate or unwanted thin clip results. Growing the clip polygon by 2 is expected to overcome any issues caused by truncation of floats.
This commit is contained in:
parent
3d03faf0b2
commit
73aae07e74
@ -227,7 +227,9 @@ sub make_perimeters {
|
||||
# and we can extract the gap for later processing
|
||||
my $diff = diff_ex(
|
||||
[ map @$_, $expolygon->offset_ex(-0.5*$distance) ],
|
||||
[ Slic3r::Geometry::Clipper::offset([map @$_, @offsets], +0.5*$distance) ],
|
||||
# +2 on the offset here makes sure that Clipper float truncation
|
||||
# won't shrink the clip polygon to be smaller than intended.
|
||||
[ Slic3r::Geometry::Clipper::offset([map @$_, @offsets], +0.5*$distance + 2) ],
|
||||
);
|
||||
push @gaps, grep $_->area >= $gap_area_threshold, @$diff;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user