Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
6.07k stars 2.06k forks source link

Fuzzy Z #13768

Open mattwn opened 1 year ago

mattwn commented 1 year ago

Is your feature request related to a problem?

"Fuzzy Skin" helps to both hide layer lines and provide surface texture. It is currently limited to the XY plane. The problem is that you can't get the benefit of hiding layer lines without increasing surface roughness.

Describe the solution you'd like

A "Fuzzy Z" option which only dithers Z rather than XY could help to visually hide layer lines without an excessive increase in surface roughness.

User selectable parameters would be:

Describe alternatives you've considered

To reduce layer line visibility, we typically increase fuzzy skin and decrease layer lines, but both have negative effects on surface roughness and print time respectively.

Affected users and/or printers

Anyone seeking an improvement is surface quality through the hiding of layer lines.

Anyone intentionally seeking a cellular look to their organic models

Additional information & file uploads

Conical slicing, and other "true 3d" slicing is an active area of research. This seems like a potential low effort way to bring true 3d path planning to Cura.

The lowest level of effort to implement this might be to limit it to spiralize mode only as a start. The layers would have to be sliced serially rather than in parallel so that the prior z height was known.

image

GregValiant commented 1 year ago

That would be a seriously fancy bit of programming. Keeping the flow consistent would probably be impossible. Fuzzy only applies to the outside wall so inner walls (right behind the fuzzy wall) are straight. 3mm humps on the top skin surface would be unsupported and the nozzle would crash into them on the next pass? I think you would just have a bunch of loose sausages barely adhered to the skin. Good luck. It's an interesting proposal.

mattwn commented 1 year ago

I agree your concerns are completely valid for solid models.

I think a much simpler starting point would be to limit it to spiralize slices only. Then there are no inner walls to worry about. Spiralize also already has the limitation of no top skin.

With spiralize, I think keeping a running variable of the max and min z heights of the previous and current layer would be all the extra data you need. Then the random z heights could be approached in a similar manner to the random XY displacement of the existing fuzzy skin mode.

As for flow, pressure advance might help somewhat, but you are right it probably couldn't be exactly consistent and might still produce some XY fuzz in the form of local under and over extrusion.

mattwn commented 1 year ago

This might just be me playing favorites, but I also thought it would be cool if Cura could claim to be the first mainstream slicer that offered some form of true non-planar slicing.

GregValiant commented 1 year ago

The patents for non-planar slicing make trying to get into it a financial challenge. Either no one has really figured out how to do it, or the hardware is very expensive, or there really isn't a market for it yet I think AutoDesk holds a main patent on the process. I don't think they've released any software for the process. It's kind of like the Creality belt printer. Interesting idea but how many swords do you need to print.