prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.79k stars 1.94k forks source link

Excessive streaks/lines in vase mode #12530

Open Velaxtor opened 8 months ago

Velaxtor commented 8 months ago

Description of the bug

Excessive lines now appear near protruding features in vase mode. Layer height shown here is .20mm image The issue can be somewhat alleviated by choosing a (much) higher detail setting at 0.05mm: image However, when doing vase mode in 2.7.2 this problem does not appear, or significantly better 0.20mm: image I find it very unlikely that this problem isn't apparent with many other (vase mode) models as well. I tried making various changes to the 3d model here, and nothing solved it or made it better in any noticeable way.

Project file & How to reproduce

spaceinvaders3.zip I've included the project file for the 2.7.3 version since that's where the issue is. The way to reproduce this bug, or problem, is simply by having a model with protruding features in vase mode. It shouldn't matter much how sharp the angle is on those features. At least i seemed to get the same results no matter what way i did it.

Checklist of files included above

Version of PrusaSlicer

2.7.3

Operating system

Windows 11

Printer model

Prusa Mk3s+

u89djt commented 8 months ago

It looks like the slicer follows a standard non-vase regime to establish extrusion segments, then modifies those existing segments to follow a very gently rising spiral. When the vertically neighbouring segments differ starkly, it's got to take some kind of average path between the available endpoints. If this is what's happening, I guess breaking every horizontal segment at any breaks immediately above and below it before performing the spiral transformation would lead to a result that would be different and possibly better. This would involve writing an additional planar slicing result during that breaking process. I think it would be a maximum of three times the size of the original planar slice? This would still inevitably smooth features vertically somewhat. Maybe it could be an option to tick in the settings. I would expect to have missed a confounding gotcha.

image-1 image-2 image-1 image image-1 image-2 image-1 image-2 image-1

For the crowd gathered, it's nothing to do with the model being supplied as an open shell with an overlap all the way up one corner. I removed the overlap and closed the body and it made no difference. Planar: image-2 Spiral: image-1

(not affiliated with Prusa)

u89djt commented 8 months ago

Smaller illustrative model image vase mode extrusion interpolation.zip

u89djt commented 8 months ago

Based on perceiving a need to break down the extrusion segments further, I tried adding fuzzy skin with a tiny thickness and short point distance and it does what we're hoping for pretty well. There are spots where it's got mean streaks whatever values I try, and that appears in the planar slice before conversion to a spiral. If that's what's happening. Settings: image-1 Planar slice: image-2 Converted to a spiral: image-1 3mf file: fuzzy spaceinvaders3.zip

Velaxtor commented 8 months ago

@u89djt thank you so much for going so methodically and thoroughly through the issue, i really appreciate it. Also nice work on identifying the underlying issue. I figured it was something like that, causing it, since the new build has a different way of dealing with smoothing in vase mode.

I'll see if i can get to try printing the model in the coming days with the fuzzy fix/workaround. It looks just like the result from v2.7.2 so should be good! I do hope there will be a tick box for the smoothing in the future still.

u89djt commented 8 months ago

You're very welcome! I flew at it for the fun/teamwork of it and the opportunity to bypass a more frantic search if I hit an issue myself under pressure. Let's wait for a dev's opinion.