Ultimaker / CuraEngine

Powerful, fast and robust engine for converting 3D models into g-code instructions for 3D printers. It is part of the larger open source project Cura.
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
1.68k stars 883 forks source link

Fix support generation for models with narrow walls #1848

Closed casperlamboo closed 1 year ago

casperlamboo commented 1 year ago

This was basically a side effect from CURA-10314. For this feature we were looking at the layer(s) above. The idea is that the overhang needs to exist for multiple layers before support is generated. When looking above the overhang angle is limited by the area of the above layer shrunken by tan(overhang_angle) * delta_z. As this shrinking behavior is achieved using a negative offset narrow walls would completely be removed.

In order to keep in line with the spirit of the contributions from CURA-10314 we instead look to the layer(s) below rather then above. When looking below a positive offset need to be taken in order to achieve a similar result. With a positive offset these narrow features can never be removed.

Without Fix With Fix
Screenshot 2023-02-28 at 14 09 32 Screenshot 2023-02-28 at 14 08 25

@rijkvanmanen FYI

CURA-10336

github-actions[bot] commented 1 year ago

Unit Test Results

25 tests   25 :heavy_check_mark:  13s :stopwatch:   1 suites    0 :zzz:   1 files      0 :x:

Results for commit fbd017f5.

:recycle: This comment has been updated with latest results.