Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a 3D model has thin/narrow parts the walls might not fit exactly. When the model is just wider than an even number of walls there is a space left: underfill; when the model is narrower than an even number of walls there is overfill.
What Cura currently does is to fill the underfill areas using some dense lines pattern, which is then combined into a single extrusion line with adaptive width. (Note that this combining algorithm fails quite often, currently!)
What Cura currently does to deal with the overfill is to compensate the overlap and extrude less on the second pass.
However, the compensation approach is limited. If the overlap gets above 75% of the line width, the second pass is reduces to less than 25% flow, which makes the extrusion unreliable.
Instead we can simply avoid such overfill, by performing a mathematical closure operation on the walls. If walls are too close to each other they collapse and are removed. The resulting gap is then handled as overfill and is filled using the Gaps Between Walls settings.
This PR makes the above possible. I would recommend setting the default value to something like half the line width, were it not for the buggy perimeter gap combine algorithm, which currently produces quite horrible output. See images below.
If you set the collapse distance to the line width, ideally the (currently buggy) combining code should produce an extrusion line up to twice the normal width, which is quite wide. Therefore setting it to 50% would be better, since it would only require lines of 150% the normal size.
Because the current perimeter gap combining code is so buggy I left the default at 0, which means the default Cura behavior remains unchanged: The inter-perimeter gaps are filled using lines up to 100% the wall line width.
set to zero: (normal)
Set to half line width:
set to line width: