Skip to content

Commit

Permalink
Fix of #8437 - Very tiny unprintable polygons caused InfillFailedExce…
Browse files Browse the repository at this point in the history
…ption in the lightning infill.
  • Loading branch information
hejllukas authored and Godrak committed Jul 29, 2022
1 parent 9f7d732 commit 369f257
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/libslic3r/Fill/Lightning/Generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ void Generator::generateInitialInternalOverhangs(const PrintObject &print_object
m_overhang_per_layer.resize(print_object.layers().size());

Polygons infill_area_above;
//Iterate from top to bottom, to subtract the overhang areas above from the overhang areas on the layer below, to get only overhang in the top layer where it is overhanging.
// Iterate from top to bottom, to subtract the overhang areas above from the overhang areas on the layer below, to get only overhang in the top layer where it is overhanging.
for (int layer_nr = int(print_object.layers().size()) - 1; layer_nr >= 0; --layer_nr) {
throw_on_cancel_callback();
Polygons infill_area_here;
Expand All @@ -66,8 +66,10 @@ void Generator::generateInitialInternalOverhangs(const PrintObject &print_object
if (surface.surface_type == stInternal || surface.surface_type == stInternalVoid)
append(infill_area_here, to_polygons(surface.expolygon));

//Remove the part of the infill area that is already supported by the walls.
// Remove the part of the infill area that is already supported by the walls.
Polygons overhang = diff(offset(infill_area_here, -float(m_wall_supporting_radius)), infill_area_above);
// Filter out unprintable polygons and near degenerated polygons (three almost collinear points and so).
overhang = opening(std::move(overhang), SCALED_EPSILON, SCALED_EPSILON);

m_overhang_per_layer[layer_nr] = overhang;
infill_area_above = std::move(infill_area_here);
Expand Down

0 comments on commit 369f257

Please sign in to comment.