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.66k stars 876 forks source link

[CURA-10410] prevent connected infill crossing close to boundary #1939

Closed rburema closed 10 months ago

rburema commented 10 months ago

When connecting infill, and the infill crosses itself near the boundary, small 'loops' can occur, which have large internal angles. Prevent this by altering the two crossing line-segments just before the crossing takes place:

  \   /    \   /
   \ /      \ /
    X       | |
   / \      | |
   ---       -
 =======  =======
  before   after
github-actions[bot] commented 10 months ago

Unit Test Results

26 tests   26 :heavy_check_mark:  15s :stopwatch:   1 suites    0 :zzz:   1 files      0 :x:

Results for commit 326437db.

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