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 874 forks source link

Fix issue where part of raft was missing #1989

Closed casperlamboo closed 7 months ago

casperlamboo commented 7 months ago

Description

Due to the special shape of the polygon it is possible to “stitch” the polylines into a closed polygon loop. See svg’s below, first image is the input to the stitching algorithm and the second is the output of the stitching algorithm. The blue color denotes open polylines, and the red color denotes closed polygons.

6after_simplify 6after_stitching

As you can see in the output put polygon a closed loop was indeed found. However, in the code we always assumed that the output of “ZigZagged” infill never contained any closed polygon loops https://github.com/Ultimaker/CuraEngine/blob/main/src/FffGcodeWriter.cpp#L576, and thus these were never added.

CURA-11355

Type of change

How Has This Been Tested?

yassss

Test Configuration:

Checklist:

github-actions[bot] commented 7 months ago

Unit Test Results

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

Results for commit 1d7038b8. ± Comparison against base commit 5f80ab94.