OrcaSlicer icon indicating copy to clipboard operation
OrcaSlicer copied to clipboard

Fix for bridge expansion failing on certain models

Open igiannakas opened this issue 1 year ago • 3 comments

Small parameter tweak to increase the tolerance for bridge expansion which addresses an edge case issue on certain STLs where bridges do not expand and do not attach to the perimeters.

Before: Bridge not attached to perimeter when printing. Model failed to print. image

After: image

Model: Bridge expansion failing.3mf.zip

My hypothesis is that the bridge expansion was too small to allow for the bridge to intersect boundary regions, causing it to fail to be detected for expansion in subsequent statements in the void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Polygons *lower_layer_covered) function.

By expanding the lower limit by a little, this gets more reliable intersection of bridges which are then picked up by the expansion algorithm.

igiannakas avatar Jan 22 '24 13:01 igiannakas

Bridge expansion failing_2.zip I have a feeling that the change happened to work for this case.
This value serves as a lower bound threshold; technically, it shouldn't even be used here, as the full_expansion should be far greater than this value per expectation. I feel we may have missed handling some edge cases in our current codes, resulting in the bridge not being optimized in certain scenarios.
For example, I changed two parameters in your sample project, and it "suddenly" worked.

SoftFever avatar Jan 26 '24 16:01 SoftFever

Bridge expansion failing_2.zip I have a feeling that the change happened to work for this case. This value serves as a lower bound threshold; technically, it shouldn't even be used here, as the full_expansion should be far greater than this value per expectation. I feel we may have missed handling some edge cases in our current codes, resulting in the bridge not being optimized in certain scenarios. For example, I changed two parameters in your sample project, and it "suddenly" worked.

Yeap ensure vertical shell thickness on fixes it. Not sure why. I agree with you that there is something more going on, I searched but couldn't find where else there is influence.... :(

igiannakas avatar Jan 26 '24 16:01 igiannakas

Converting it ti draft to continue experimenting with further prints and see where else this occurs and what the cause could be

igiannakas avatar Jan 28 '24 12:01 igiannakas