So. Even more tests. I think I start to understand what is happening and it’s neither easy to explain nor to solve.
First of all here’s my latest test, not perfect but incredibly better than the initial tests. This one is done with Cura 3.4.1.
I can confirm that the culprit is 100% the slicer, not so much rounding errors or at least not entirely. All my efforts so far were targeted at improving the slicer resolution, but it turned out that increasing the resolution you also increase the defects and anomalies. Remember that STL is an approximation by itself. So you lower the quality when you export to STL, lower it again when you slice and lower it once more when you create the toolpath.
So, what’s the solution? Make the slicer resolution as low as possible (I know, it’s weird). You should set it at the minimum resolution required by your 3d model. For geometric 3d models it should always be set pretty low. Remember, I’m talking about slicer resolution (the way the model is sliced) not layer height.
To do so unfortunately you can’t use @peopoly’s version of cura. They set the slicer snapDistance too low. It is good to keep all the tiny details but it also emphasizes all slicer issues.
The solution is not easy as each 3d model requires a different configuration and you need some trial and error before you can remove all (or most of) the surface problems. But basically you have to tinker with various options in Cura and carefully analyze the output.
The best would be probably to have a user editable option for the snapDistance. I don’t want to bore you to death, hopefully I’ll talk to Mark about this… but now I’d really like to know how Form2 software works.