Skip to content

Commit 8634c0c

Browse files
committed
Print small gaps created between inner wall and infill when requested
CURA-7804
1 parent fa52f2e commit 8634c0c

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/FffPolygonGenerator.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,7 @@ void FffPolygonGenerator::processPerimeterGaps(SliceDataStorage& storage)
571571
coord_t wall_line_width_0 = mesh.settings.get<coord_t>("wall_line_width_0");
572572
coord_t wall_line_width_x = mesh.settings.get<coord_t>("wall_line_width_x");
573573
coord_t skin_line_width = mesh.settings.get<coord_t>("skin_line_width");
574+
coord_t infill_line_width = mesh.settings.get<coord_t>("infill_line_width");
574575
if (layer_nr == 0)
575576
{
576577
const ExtruderTrain& train_wall_0 = mesh.settings.get<ExtruderTrain&>("wall_0_extruder_nr");
@@ -616,9 +617,13 @@ void FffPolygonGenerator::processPerimeterGaps(SliceDataStorage& storage)
616617
// we print them as a perimeter gap
617618
inner = inner.offset(-skin_line_width / 2).offset(skin_line_width / 2);
618619
}
619-
inner.add(part.infill_area);
620+
inner.add(part.infill_area.offset(-infill_line_width / 2).offset(infill_line_width / 2));
620621
inner = inner.unionPolygons();
621622
part.perimeter_gaps.add(outer.difference(inner));
623+
624+
if (filter_out_tiny_gaps) {
625+
part.perimeter_gaps.removeSmallAreas(2 * INT2MM(infill_line_width) * INT2MM(infill_line_width));
626+
}
622627
}
623628

624629
// add perimeter gaps for skin insets

0 commit comments

Comments
 (0)