Skip to content

Commit ca618d9

Browse files
committed
Revert "fix: don't fill perimeter gaps between inner wall and skin/infill (CURA-4027)"
This reverts commit 9432af2. This fixes CURA-4251
1 parent 8cd8d63 commit ca618d9

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/FffPolygonGenerator.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,10 @@ void FffPolygonGenerator::processPerimeterGaps(SliceDataStorage& storage)
432432
{
433433
continue;
434434
}
435+
bool fill_gaps_between_inner_wall_and_skin_or_infill =
436+
mesh.getSettingInMicrons("infill_line_distance") > 0
437+
&& !mesh.getSettingBoolean("infill_hollow")
438+
&& mesh.getSettingInMicrons("infill_overlap_mm") >= 0;
435439
for (unsigned int layer_nr = 0; layer_nr < mesh.layers.size(); layer_nr++)
436440
{
437441
SliceLayer& layer = mesh.layers[layer_nr];
@@ -458,7 +462,18 @@ void FffPolygonGenerator::processPerimeterGaps(SliceDataStorage& storage)
458462
}
459463

460464
// gap between inner wall and skin/infill
461-
// are note handled. There might be gaps due to alternate extra perimeter or due to initial layer line width multiplier
465+
if (fill_gaps_between_inner_wall_and_skin_or_infill && part.insets.size() > 0)
466+
{
467+
const Polygons outer = part.insets.back().offset(-1 * line_width / 2 - perimeter_gaps_extra_offset);
468+
469+
Polygons inner = part.infill_area;
470+
for (const SkinPart& skin_part : part.skin_parts)
471+
{
472+
inner.add(skin_part.outline);
473+
}
474+
inner = inner.unionPolygons();
475+
part.perimeter_gaps.add(outer.difference(inner));
476+
}
462477

463478
// add perimeter gaps for skin insets
464479
for (SkinPart& skin_part : part.skin_parts)

0 commit comments

Comments
 (0)