Ensure complete coverage of internal solid infill regions #953

Closed
opened 2026-04-05 16:37:46 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @kisslorand on 1/27/2026

The problem

Certain internal solid infill regions can remain partially or fully unfilled when the selected solid infill pattern cannot represent narrow wall-adjacent geometries.
This is most visible on the final internal solid layer immediately below top surfaces, where such regions are expected to provide continuous support.

This PR ensures that all internal solid regions receive material coverage.

The solution

  • Detect when an internal solid surface produces:
    • no extrusion at all, or
    • partial coverage after infill generation
  • Fill the affected regions using internal concentric infill with Arachne enabled as a localized fallback
  • Apply the fallback only to uncovered areas, leaving successfully generated infill untouched
  • Skip gap-fill when the fallback is used, to avoid double filling

Why internal concentric

Internal concentric infill naturally follows perimeters and can robustly handle narrow, irregular regions without overlapping walls or relying on long straight segments.
This makes it a suitable fallback for wall-adjacent solid areas where other patterns may fail.

Notes

The changes

  • are limited to internal solid surfaces only
  • do not modify wall geometry, spacing rules, or user-selected infill patterns where they succeed
  • improve material continuity and top-layer support without altering existing behavior elsewhere

Screenshots

  • Before:
    image


  • After:
    image

*Originally created by @kisslorand on 1/27/2026* ### The problem Certain internal solid infill regions can remain partially or fully unfilled when the selected solid infill pattern cannot represent narrow wall-adjacent geometries. This is most visible on the final internal solid layer immediately below top surfaces, where such regions are expected to provide continuous support. This PR ensures that all internal solid regions receive material coverage. ### The solution - Detect when an internal solid surface produces: - no extrusion at all, or - partial coverage after infill generation - Fill the affected regions using internal concentric infill with Arachne enabled as a localized fallback - Apply the fallback only to uncovered areas, leaving successfully generated infill untouched - Skip gap-fill when the fallback is used, to avoid double filling ### Why internal concentric Internal concentric infill naturally follows perimeters and can robustly handle narrow, irregular regions without overlapping walls or relying on long straight segments. This makes it a suitable fallback for wall-adjacent solid areas where other patterns may fail. ### Notes The changes - are limited to internal solid surfaces only - do not modify wall geometry, spacing rules, or user-selected infill patterns where they succeed - improve material continuity and top-layer support without altering existing behavior elsewhere ### Screenshots - **Before:** <img width="1255" height="490" alt="image" src="https://github.com/user-attachments/assets/c6db3091-3005-4550-92e7-2cb918397305" /> <br><br> - **After:** <img width="1195" height="450" alt="image" src="https://github.com/user-attachments/assets/4f7468e2-36b5-4230-9c6a-22b1dc7d3461" />
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#953