Jump to content
Ultimaker Community of 3D Printing Experts
  • Sign Up
Xeddog

Question and/or suggestion for Adaptive Layers

Recommended Posts

Posted · Question and/or suggestion for Adaptive Layers

I was just trying to get a better handle on adaptive layers so I loaded a model to play with.  I sliced it with adaptive layers off to see what I got.  Then started changing one Adaptive layer parameter at a time and re-slicing to see the result.  I noticed that when using adaptive layers, the layer height parameter specified in the Quality section is used as a midpoint and not a hard limit.  So on this piece, layer height  was set to 0.2mm in the Quality section at the top, and when I sliced using Adaptive Layers, the height on the curved surfaces decreased as expected.  What was not expected is that layer height for straight parts was increased a like amount.  In one test, with a setting for layer height of the 0.2 mentioned, curved portions of the model had layer height decreasing down to 0.4mm, but the straight vertical parts INCREASED to .36mm.  That was too much for a .4 nozzle.  

So did I miss a setting that limits the amount of layer height increase?  If that is the way this works, then I would like to suggest an additional parameter that specifies a hard limit for height increase to keep from creating a file that is doomed to fail when printing. 

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

There are 3 adjustment screws for Use Adaptive Layers:

CuraAdaptive.PNG.75a21011f367c0d8427b932e45143f25.PNG

 

There is also a very beneficially handy plugin called Settings Guide from @ghostkeeper with a detailed description for these and most other parameters.

  • Like 1

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

I know about the different settings, and I think I actually understand what they do.  The bottom line is that I think the Layer Height setting in the shell section should be a hard maximum layer height limit to keep from exceeding what your nozzle is capable of.   The screenshot is just an example, and frankly is probably beyond my printers capability, but it does illustrate what I am talking about.  I would be attempting to smooth out the top dome part of the model without affecting the 0.2mm layer height of the body.   With a maximum variation of 0.16mm, that gives me 0.04mm layers at the top of the dome which is good (at least it would be if my printer could actually do it).  But the lower cylindrical body also gets the 0.16 variation in the other direction, or 0.36mm which is very NOT good even if my printer could do it with a .4mm nozzle.

 

 

 

 

72020217_SampleLayers.thumb.png.11cd27cef7a10bbf0d916b8ffc4e2dd6.png 

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

Indeed if you have 0.2mm layer height with 0.16mm maximum variation, it will vary between 0.04mm and 0.36mm. If instead you'd like it to vary between 0.04mm and 0.2mm, you should set the layer height to 0.12mm, and the maximum variation to 0.08mm.

 

We've chosen to hold the current layer height as median on purpose, because all of the other settings will have been optimised for this median layer height when you enable it. It will then stay closer to this optimised/preferred layer height overall. It's easier to transition to Adaptive Layers that way.

Share this post


Link to post
Share on other sites
Posted (edited) · Question and/or suggestion for Adaptive Layers

You are setting the maximum variation to .16 and that is the problem. 🙂

What does this mean for your layer hight? You are advising Cura explicit to variate your normal layer hight of 0.2 mm between  0.36 mm (0.2 mm + 0.16 mm) and 0.04 mm (0.2 mm - 0.16 mm).

So said, if you don't want to have a smaller max layer hight, you need to reduce this value. In addition you maybe want also change the original layer hight to a value that match to your needs. E.g. when you want a max layer hight of 0.2 mm and a max. variation of +/- 0.5 mm the matching regular layer hight should be 0.15 mm.

 

Edit: 

Oh, @ghostkeeper  was a bit faster. 🙂

Edited by DivingDuck
  • Like 1

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

ghostkeeper and DivingDuck -

As I mentioned, the example I gave was an example only to illustrate what I think is a problem, and was most likely beyond the capabilities of me printers as I don't think it can successfully print at .04 layer height anyway.  But if I was wanting to print that piece, I would have to cut that part into two pieces and print them separately. The cylindrical body at one setting and the dome at another, and then re-assemble them post-processing.  But lets say my printers COULD print at .04 layer height.  With THAT much change to layer heights (.28mm), there are several other settings that would most likely have to be tweaked as well (as you alluded to).  Speed, temperature, retractions . . .  

 

Personally, I find that using the Layer Height setting as a median value GREATLY reduces the usefulness of adaptive layers.  It still has a place, but not nearly as much as if Layer Height was the limit.  How much redesign would it involve to change adaptive layer settings to have one setting for a minimum layer height, and one for a maximum?  Or maybe just add one more setting that will force adaptive layers to honor Layer Height as a hard limit?

 

 

 

 

 

 


 

Share this post


Link to post
Share on other sites
Posted (edited) · Question and/or suggestion for Adaptive Layers
4 hours ago, Xeddog said:

was most likely beyond the capabilities of me printers as I don't think it can successfully print at .04 layer height anyway. 

Why? Make the math. Lets assume you have a normal setup with an Trapezoidal Lead Screw e.g. TR8 with 1.5 or 2.0 pitch and a standard Nema 17 motor with usually 200 steps per revolution. This means for pitch 1.5 mm / 200 steps = 0.0075 mm / full step. That is what the resolution for Z is for a TR8 with pitch 1.5.

For pitch 2.0 it is 0.01mm / step

Edited by DivingDuck

Share this post


Link to post
Share on other sites
Posted (edited) · Question and/or suggestion for Adaptive Layers

To be clear, what you're asking doesn't increase or reduce the capabilities of Cura. If you want the layer height to vary in the range of 0.04 to 0.2mm you would currently use a layer height of 0.12mm and a variance of 0.08mm. With your suggested change, you would use a layer height of 0.2mm and a variance of 0.16mm.

 

We've also had suggestions saying that Layer Height should be the minimum layer height: https://github.com/Ultimaker/Cura/issues/7770 With this, you'd set your Layer Height setting to 0.04mm and the variance to 0.16mm to get the same effect.

 

Or that we should have both a Maximum and a Minimum layer height and the normal Layer Height setting shouldn't be used any more: https://github.com/Ultimaker/Cura/issues/2895 With this, you'd set your minimum layer height to 0.04mm and your maximum layer height to 0.2mm to get the same effect.

 

All of these suggestions have the same effect: You can specify a range of possible layer heights. The only difference is in how it's presented to the user. In that regard I think having both a max and a min would be the easiest to understand, at least for an advanced/expert user. Perhaps the current situation is maybe easier to understand for a novice but the novice user probably won't use Adaptive Layers anyway unless there is a profile built-in for it.

 

However we're also constrained by the fact that profiles are optimised for a certain layer height and a lot of settings can't be adjusted to scale with the layer height. Existing profiles are made for a certain layer height (say 0.2mm) so if you want a variance of 0.04mm to 0.2mm you're going to be printing at e.g. way to high temperatures to be extruding 0.04mm layers, and you'll burn your filament. So the best we can do is to use the profile meant for 0.12mm (or whatever is closest) and use that for the range of 0.04mm to 0.2mm. It'll be too hot for the 0.04mm and too cold for the 0.2mm, but it'll be better overall. So letting the layer height be the median of the range is important in order for the profiles to be correct, and you'll get a much better print out of it.

Edited by ghostkeeper
Turn links into actual links.
  • Like 1

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers
On 7/28/2020 at 11:58 PM, DivingDuck said:

Why? Make the math. Lets assume you have a normal setup with an Trapezoidal Lead Screw e.g. TR8 with 1.5 or 2.0 pitch and a standard Nema 17 motor with usually 200 steps per revolution. This means for pitch 1.5 mm / 200 steps = 0.0075 mm / full step. That is what the resolution for Z is for a TR8 with pitch 1.5.

For pitch 2.0 it is 0.01mm / step

At these very low layer heights, aliasing plays a big role. For instance with the 0.0075mm step resolution, it can't step in increments of 0.04mm. It can only step in increments of 0.0375mm or 0.045mm. So for some layers your flow rate will be 11.1% too small and for other layers your flow rate will be 6.7% too much. The Z axis doesn't normally do microstepping (which would reduce the holding force necessary to keep the bed in place).

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

Agree for aliasing and flow, this can be a challenge.

Micro stepping isn't  a problem because it isn't involved (for the same reason you mention). It is pure full step for a DIN TR8 with pitch 1.5 for standard 1.8° stepper's.

The main problem is that Cura limits the input value to 3 digits and I need to use increments of 0.0075 mm to match the conditions. I never understood why this decision was taken, as pitch 1.5 is an standard value in DIN wold.

 

Please correct me, if I forgot something that have to be consider: I my case for Cura I can use 2 steps as minimum Z hight, 0.015 mm. Then the flow calculation can follow w/o having a calculation problem (hopefully).

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers

Hey guys, regarding the mathematics of 3d printers let me just say my printers are consumer grade machines made out of Chinesium parts with Chinesium tolerances, etc.  Just because the math sez it will work doesn't mean it will.  😞 

 

Back on topic,  I also realize that with a Layer Height of 0.2 and a maximum variation of 0.16 that there are many other variables that need to be tweaked to get good results going down to a 0.04 (a difference of 0.16) layer height too.  Print speeds, temps, flow, retractions . . .   And on the opposite side of that, those same parameters would have to be tweaked a lot more when going back from the 0.04 up to 0.36 (now a difference of 0.32), not to mention that a layer height of .36 exceeds the recommended maximum layer height of the standard .4mm nozzle.  So as I said, my example was an extreme case just meant to illustrate my point, and not necessarily practical to actually achieve.  At least not on my machines.   Maybe you can make adjustments for all of those settings too.  Talk about "Snakes on a Plane" and "Arachnophobia" combined huh?  🤣
 

So for me, I hope this isn't a case of "be careful what you wish for", but I wish the Layer Height to be a do not exceed limit.  I think.  Maybe.   🙂  In any event, I will keep using adaptive layers either way.

ghostkeeper - You say " what you're asking doesn't increase or reduce the capabilities of Cura", and that is certainly true.  I already get MUCH more out of Cura than I pay for.  But I think for ME at least, it would increase it's USEFULNESS. 

 

Share this post


Link to post
Share on other sites
Posted · Question and/or suggestion for Adaptive Layers
6 hours ago, Xeddog said:

Hey guys, regarding the mathematics of 3d printers let me just say my printers are consumer grade machines made out of Chinesium parts with Chinesium tolerances, etc.  Just because the math sez it will work doesn't mean it will. 

 

I feel totally misunderstood 😂

You are right and you are not. No one with a little bit knowledge ask for this kind of resolution for printing one layer with 0.0075mm hight with a 3D printer (and that is for sure not a matter of Chinese quality or not. They also can do very precise things...)

 

The impact is an complete other story. Think about a technical design with more than one plane stacked involved and where you have to match these planes to fit into other parts. And also think about that this dimensions don't follow a given fix layer height, especially if in addition tolerances have to be part of this too. Then a "stupid" single step become a huge impact to get the dimensions correct within a more complex technical part. And that is usually not one or more printed single layer of 0.0075mm but maybe a combination of layers that do not follow a "normal" layer hight of 0.1mm, 0.15mm or 0.2mm but maybe like x + one or multiple steps more.  Example: 0.165 (= 0.15 + 0.015) for a next layer, what is in full steps 20 steps + 2 steps = 22 steps for a TR8 with pitch 1.5mm. I guess you get my point.

 

That is for what I use adaptive layers usually.

 

Back to your Chinese style printer, this mean that you have usually a TR8 pitch 2.0mm lead screw. This means a general resolution of 0.01 mm for each full step and increments of it. And also here, you don't want to print 10 single layers with 0.01 but maybe you need something like 0.23mm, what is 23 steps or 0.13mm (13 steps) - and that is what your and all other printer do absolutely precise, no matter if your printer is expensive rocket science or a cheap one.

 

🙂

 

What means this for your example? You need to think in steps first and then find a relatively good setup for a printed part with spherical objects include as there is no one click solution. The only way I know is to play with all 3 parameter to come as close as possible to a good print. In addition there is a hidden 4. parameter ... you:  for fine tuning / polishing the print if needed. 🙂

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...