Please read back in the topic a bit – the cause is the slicer, and you can see the errors in the generated gcode.
that is not possible because they are two completely different resins. the point is that it’s not the slicer but the moai creating those artifacts (please read below, because we actually have two problems).
I started the thread I’m pretty sure I read every single post I’ll sum it up for you. There are two kind of problems:
- slicer issues, you notice this especially on planar surfaces and geometric models. the issues are visible in the gcode but won’t never go completely away unless we use a dedicated slicer
- semi-cured resin, you notice this especially where the supports touch the model but there’s no trace of them in the gcode
sometimes the two issues sum up but they are not the same thing.
I was able to drastically reduce the slicer issues by using a custom version of Cura and new profiles. To solve #2 unfortunately is more complicated but feasible (as I just showed you).
for this part (not related to slicer portion), it is part of UV resin printing and it is how you manage it. Low viscosity resin often have poor mechanical properties and a lot of monomer (more toxic) so it is not a holy grail. There needs to be more tests. Some notes if you think you are affected:
too dense of supports will trap resin and limit movement, thus making a portion of resins go through multiple incidental UV curing.
the viscosity of resin, the higher and the slower it moves. it is important to keep resin over 25C and sometimes 30C as stated by OEM for best results. this interplays with the density of supports.
The color of resins and thickness of colorant. if you have white/reflecting resins, more light is going to escape and cause more incidental curing
Right now the best solution is not to use too dense of support and thinner beams to move resins out of the way. We plan to optimize the Asura support further to improve resin flows in dense support area. It does not happen on all prints or even most prints. But if you have a lot of supports clustered together, then it may happen in that area.
I been experimenting with this myself and thought i might add a datapoint to the slicer issue. personally i suspect a precision issue with the small layer heights. Not sure what peopoly have modified, poking through the code looks like cura was/is programmed integer math with the units in microns. . Which is suspect when working with 25 micron layer heights, when trying to interpolate those 45 degree surfaces. would make sense, if tinkering resolution settings changes results but not 100% cure
To test this, we can scale it up during slicing and scale it back down later. So i took the 25 micron profile, changed the layer height and line width by a multiple of 4, set walls to 9 instead of calculate, and scaled the model by 400% and sliced it. Created a quick python script that scaled the xyz in the gcode back down by 4. Compensate wall overlaps where also turned off for both runs, as i dont think it would have an effect on sla other than adding a ton of extra points and thining the lines in the preview.
After scaling i can import the gcode again into cura and look at it. The glitches that where visual before are gone. Besides the aliasing patterns due to rendering, all i can see is uniformity on the layer lines. Is this a glitch in importing gcode into cura? dunno
I am in the process of testing, did some and forgot to force the walls to 9. initial testing looks improved, the noticeable defects are gone but still some striping is faint (needs a bright light), maybe due to 2 walls it defaulted too. Though i suspect i have issues with issue 2, cold room (20c) and old grey resin (test part is see through?).
Dont know if any of that helps, or if theres some fluke making it seem better. Wont be able to test much more in the near future. however i’ve had a lot of fun tinkering.
that is very interesting, wondering if that together with Cura 3.4 (that does an already better job at rounding) could help.
Are you sure a linear scale-down would be still 100% accurate? I don’t know why but I feel we are missing something
PS: I don’t know python by I feel like you should escape the
accuracy wise, The printed part looks identical geometry wise scaled gcode vs regular. Its interesting the test part shows what looks like banding of the z axis, is 25 microns an ideal setting for the stepping? looks very much like the stepper banding patters in the xy i can see on the ultimaker FDM print but in this case its in the z. Almost same spacing even. Also could possibly be python rounding maybe with the 4 division.
Im using the moai 2.6 version, i saw there is a 3x version, not sure where the latest link is?
Sorry i make long posts, but the scaling is just a trick to see if its a precision issue. If its not, the results should be identical. However i admit, theres a lot more going in cura slicing that im not an expert on that could change results. With the smaller layer heights making the problem worse, the specific angles that make it worse and the below visualizations are just screaming a precision issue. Something like not enough decimals in pi, rounding errors compound every math operation etc. It would be better to scale 10x or 100x and scale back.
This image at 5 micron layer height explodes a lot more visual defects. what is interesting is these lines that show the defect appear to start off at the pocket incorrectly and then merge on the edges of the part. I am guessing the point used along the pocket is not super consistent due to precision and is the issue.
And it appears to be a 2 point line on the flat walls, not intermediary points. This can be seen if the infill and top/bottom layers are turned off. pick out the points in the gcode that have an E value and shove the xyz in a point cloud viewer. There doesnt appear to be interpolation points along the wall, it starts at the pocket and ends at edges. Which explains why we see the above (a straight line that goes from pocket to edge).
Without a smoking gun which i suspect is precision of the cura code, there is no conclusion here. But it really looks like the 2 points that traces the line, the one along the pocket geometry is not consistent.
as you say I feel like we shouldn’t add more rounding, the best would be to multiply by 10 (that also requires to x10 also the machine size).
I’m making some tests in that direction, if that is all we have to do it wouldn’t be that bad.
I just made a test print slicing at 10x and scaling it down with no added rounding. The idea was good but the result is more or less the same. I spare you the picture, it’s the same striped surface.
Thats unfortunate, the preview looked really good on my end. do make sure compensate outer walls is off, as it is misleading.
Hope to do some more testing in a few weeks when some of the cad parts are finished.
I’m using the new profiles for (the modded) Cura 3.4.1, compensate outer wall is off by default.
I just wanted to sum up everything we learned so far to give a closure.
For best result you need:
- lower as much a possible the resin viscosity to avoid resin being trapped and half-cured. This is done by heating up the resin. Unfortunately the suggested minimum temperature of 20°C is not vaguely close to what you actually need. The model below has been printed at 30°C and it is still not perfect. The alternative is to find lower viscosity resins from other manufacturers
- you need really high definition STL free of surface glitches. 90% of the models on thingiverse, myminifactory, etc are not really optimized for laser SLA printing (note that DLP/LCD could work since we don’t have a toolpath generation there)
- Cura is not the best slicer for laser SLA, but it’s the best we have for now, it can be optimized a lot but it won’t never be perfect. If you really feel adventurous you can compile the v3.4 branch of my repository here https://github.com/cubiq/CuraEngine/tree/3.4 it’s still beta but I’m using it since a few weeks now and it’s definitely better than Cura 2.6
Now some pictures (sorry it’s slightly overcured).
This is the kind of banding generated around the supports by half-cured resin. I got rid of most of it, but still I don’t seem able to completely remove it.
These are glitches generated by the slicer and a so-so STL file. It’s not moai’s fault! Remeshing sometimes helps.
And finally this is the real Moai potential at 0.04mm. No supports, no surface glitches, no slicer errors, perfect model orientation.
Since I couldn’t believe my eyes either here’s a close up
Free tip: don’t use gray resin. it’s the worst of the lot
Great information, thanks!
Great job @matt3o
Have you got an identical head shot of the better print? The torso shows excellent definitions!
that wouldn’t be possible without remeshing. I’m working on it, but it’s not easy with such messy 3d models
To prove it’s the 3d model morphology (together with the slicer) I remeshed the bust very quickly but the result is indeed better. There are still few stripes on the neck but on the cheeks they are completely gone.
good info. released 3.4.1 mod today.
Grey/darker color is more obvious because you can see it better but that is why they have higher resolutions too.
An important part of solution for semi-cured resin is not using overly dense support. Lower viscosity resin usually means more monomer -> more toxic -> more brittle. Most of the higher end resins are thicker as well. Do avoid resins that is over 1300 cpi as those are not easy to print.
I’ve been printing with the new profiles and the new Cura 3.4.1.
This was printed at 100 microns (didnt go lower because this is a print for a client and he didnt want to go lower as the price is not the same)…
What i want to know is, these stripes you see in the photos… is it the same the has been discussed here??
PM Speed - 15
Z Speed - 2
Z Follows - 10
Cura 3.4.1 - 100 microns August profile
Resin temperature - 30-31C
Vat is clean, without haze or fog and held securely in place
Resin was well stirred
Orientation and Supports:
Now the photos:
Thanks in advance.
My best guess is lack of sufficient supports. I use a much more dense support structure with crosslinked supports but that means more post cleaning…
at 100um there should be almost no irregular layers, personally I rarely see them at 0.06 and up. is it only in that spot?