diff --git a/src/libslic3r/Fill/FillFlippingLine.cpp b/src/libslic3r/Fill/FillFlippingLine.cpp index fe6f56759d..4d16215c1e 100644 --- a/src/libslic3r/Fill/FillFlippingLine.cpp +++ b/src/libslic3r/Fill/FillFlippingLine.cpp @@ -196,7 +196,7 @@ void FillFlippingLine ::_fill_surface_single( coord_t line_spacing = coord_t(scale_(this->spacing) / params.density); // reduce density - if (params.density < 0.999) line_spacing *= 1.5; + if (params.density < 0.999) line_spacing *= 1.08; bb.merge(align_to_grid(bb.min, Point(line_spacing * 4, line_spacing * 4))); diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index c78e7de4b5..884b8b6e79 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -2333,9 +2333,17 @@ void PrintObject::bridge_over_infill() }; // LAMBDA do determine optimal bridging angle - auto determine_bridging_angle = [](const Polygons &bridged_area, const Lines &anchors, InfillPattern dominant_pattern) { + auto determine_bridging_angle = [](const Polygons &bridged_area, const Lines &anchors, InfillPattern dominant_pattern, double infill_direction) { AABBTreeLines::LinesDistancer lines_tree(anchors); + // Check it the infill that require a fixed infill angle. + switch (dominant_pattern) { + case ip3DHoneycomb: + case ipFlippingLine: + return (infill_direction + 45.0) * 2.0 * M_PI / 360.; + default: break; + } + std::map counted_directions; for (const Polygon &p : bridged_area) { double acc_distance = 0;