Jump to content
Ultimaker Community of 3D Printing Experts
Tony3d

Adaptive Layers

Recommended Posts

4 hours ago, Tony3d said:

I don’t understand how adaptive layers works. Can you set minimum and maximum layer height’s that can be used?

That is something I have not found yet myself. Not explicitly.

 

But one thing I can tell you is that the larger the number for "Adaptive Layers Threshold' the more it will spread out the layering. Here are two images of the same model using different numbers. You can see the difference. But the explicit min and max for layering is something I have not found yet.

 

Default Adaptive Layers Threshold.

DefaultThreshold.thumb.jpg.05adc2aa7e4cf55b9579d0ce43f405c8.jpg

 

High number in the Adaptive Layers Threshold.

HighThreshold.thumb.jpg.eff4d0ad66dffa9fea30a90c2358b262.jpg

Share this post


Link to post
Share on other sites

Something else that doesn’t make sense is the variation is set to .1 yet it’s going to .27! Also, you would think it would distribute the higher resolution over the wave not pool in front of it. 

Share this post


Link to post
Share on other sites
37 minutes ago, SandervG said:

I think one of our developers Ctbeke explained it here

This is one thing that makes this feature so fuzzy and hard to understand. The UI reflects the developers mindset...not the end-users mindset.

(yes, UI is tricky...I know...I work with such stuff daily)

  • Like 2

Share this post


Link to post
Share on other sites
7 hours ago, Tony3d said:

I don’t understand how adaptive layers works. Can you set minimum and maximum layer height’s that can be used?

 

That's how I would do it if I was working on this feature. I think the current scheme isn't user friendly.

  • Like 2

Share this post


Link to post
Share on other sites

I will have to take up for the programmer on this. He had only 4 weeks to get something working. It is working. So, I remember people saying that the feature was introduced with the idea of getting feedback on issues to refine such processes/UI.

 

I agree that the current UI is not user friendly, but I am impressed by what got accomplished in such a short time. Maybe I am just easily impressed.

  • Like 2

Share this post


Link to post
Share on other sites

'I'm not really sure about the threshold, perhaps @ctbeke could elaborate on that more. 

10 hours ago, Tony3d said:

Can you set minimum and maximum layer height’s that can be used?

Yes. I also had to check; so here it goes:

Adaptive layer maximum variation: How much adaptive layer height may deviate from your base line layer height. So if your base line is 0.2 micron, and your adaptive variation is 0.05, adaptive layers will vary from 0.15 - 0.25. 

Adaptive layers step size will determine how big the steps are from which Cura will switch from 0.15 to 0.2 for example. With a value of 0.01 it will go from 0.15 to 0.16 to 0.17 etc. 

Adaptive threshold  is a bit more complicated. As a rule of thumb, the value 200 references to a degree of approx 45º. The lower the number (lets see 100), the more adaptive layer height will lean towards thinner layers on vertical/slightly skewed walls.  

Quoting Ctbeke: '

The formula is layer_height / tan(steepest_slope_in_layer) <= threshold. So the threshold value is compared to the potential layer height divided by the tangens of the steepest slope in the potential layer. In this case an angle of 0 is a horizontal flat surface and 90 is a vertical surface (i.e. the steepest possible slope). The 90 degree offset is there to make sure the algorithm works in the right direction for the threshold comparison.

Code details: https://github.com/Ultimaker/CuraEngine/blob/master/src/settings/AdaptiveLayerHeights.cpp#L158.'

 

I think it is a great feature but it is in experimental for a reason. For example, I also understood it is more inclined to print overhangs with thinner layers, where in theory thicker layers should give better results. I don't think it can differentiate inwards from outwards slopes yet. 

 

Hopefully this helps! 

Share this post


Link to post
Share on other sites
6 hours ago, smartavionics said:

 

That's how I would do it if I was working on this feature. I think the current scheme isn't user friendly.

+1 for min/max layer height setting

Share this post


Link to post
Share on other sites

I'm sure all of those things will happen at some point in the future. They're quite difficult to implement in such a way that we can guarantee print quality (that's the whole reason the base profile is used as center of the layer range and the offset goes in both directions, see my linked post above for more details). Doing different behavior for overhangs vs top surfaces should be doable though.

 

Note: I'm not working on Cura at the moment but on another project, so I guess someone else in the Cura team will pick this up when it becomes a priority, or when I find some spare time to work on it.

Share this post


Link to post
Share on other sites

Speaking from my use perspective, I personally think that the Adaptive Layers functionality is one of the best things to be added to the Cura in a long time.  For the most part I have found it reduces my average build time of a part significantly.  As much as an hour on a 7 hour build with a base layer height of 0 .2.

 

I would really like to see the ability to set the "Adaptive Layers Maximum Variation" and  "Adaptive Layers Variation Step Size" as adjustable individually for top and bottom, much as there are those settings for top and bottom pattern and thickness.

 

S3D does this, but it's very difficult to implement.  Maybe in the next release while it's still considered Experimental?

Anyway Kudos to the Cura team for even taking a shot at this very desirable feature / functionality.

  • Like 1

Share this post


Link to post
Share on other sites

I don't know if this is an adaptive layer issue, or just an issue with slicing in general (see other thread: )

 

Here's another item where I'm getting weird behavior. This is a skipped layer. I don't see the gap in "solid" or "x-ray" view. Not my model, source: https://www.thingiverse.com/thing:454733

 

image.thumb.png.e75410b3e2f9e4182301690bab079b29.png

 

There's just plain a missing layer here. It goes away when I turn off adaptive layers, but any small change makes weird missing things appear.

 

Resulting print was as shown - one missing layer.

4_Clip.curaproject.3mf

Share this post


Link to post
Share on other sites

We haven't tested adaptive layers with support thoroughly, we just made sure Cura wouldn't crash when enabling it, but no tests on print quality. It might be in this case that the layer height on that layer is a bit larger and the support Z distance becomes obvious.

Share this post


Link to post
Share on other sites

I'd like to share the obvious advantages that Adaptive Layer has afforded me in my daily work flow.  We are a manufacturer of plastic bottles.  Not very sexy, but somebody has to do it . .  .  On this particular design, Adaptive Layer saved over 30 minutes on a 5 hour 15 minute build compared to without it.  At the same time improving the overall look and quality of the finished model.  The angular sections (dark blue at 0.10 layer) of the bottle have much finer stair steps per layer and the thread finish of the neck of the bottle has superior detail as well.

 

 

Layer_View.thumb.JPG.9dc5f5d06c20176fb06f5fb70ee994f8.JPGSolid_View.thumb.JPG.b50b1c13420a1c9196e6af4ffd5d54a8.JPG

 

The benefits are obvious.  So again, thanks to the Cura team for this feature.  I look forward to continuing improvement and the total integration into the basic application.

  • Like 3

Share this post


Link to post
Share on other sites

The little I have used it, I've liked it! So far few things have really taken advantage of what it buys you due to printing organic shapes lately.

 

11 hours ago, ctbeke said:

We haven't tested adaptive layers with support thoroughly, we just made sure Cura wouldn't crash when enabling it, but no tests on print quality. It might be in this case that the layer height on that layer is a bit larger and the support Z distance becomes obvious.

 

I'm not sure what you're getting at with supports. I had supports turned off for that print. While the single wall strip *functions* as a support, it prints/codes as just a thin wall.

 

The issue isn't so much the thin wall, but SOMETHING IS WRONG with the adaptive slicing if it skips layers. I would like to help solve this.

Share this post


Link to post
Share on other sites

Ah, it's a thin wall. I thought it was support material :p

In that case it seems like a bug indeed, maybe some rounding issues. I'll create an internal ticket, but maybe it's easier to report this on GitHub where we keep track of more issues and all Cura developers can update a ticket.

Share this post


Link to post
Share on other sites

@AbeFM I think it's just that your wall is near the limit of printable (in cura's assessment) such that changing the layer height slightly has the slice occur at a slightly higher or lower location.

 

I think the solution is to either make the wall 0.1mm thicker or maker your line width's (all of the wall line widths) a little smaller.  For example if you are currently using a 0.4mm nozzle and cura is doing a 0.35mm line width, then try 0.33 line width and I think it will include that bit of wall properly. And print it just fine.

Share this post


Link to post
Share on other sites

I like the premise of this option but like others, a bit unsure how to utilize it correctly.  With the default settings, it added 12 hours to my 2 hour print.  Ahhhh!  Abort! Abort!

 

Share this post


Link to post
Share on other sites

While every part has it's own unique properties, It's hard to believe that Adaptive Layers default settings would add 12 hours to a 2 hour print.  Of course there is no need to actually start the job before accessing the impact of the changes, Cura will reveal the time impact with each rebuild of the slicing engine, but your results are pretty startling.  Can you share the file?  My results with Adaptive Layer have been so positive, I'd like to see your file.

Share this post


Link to post
Share on other sites

It's probably not possible to find 'perfect' default settings as there are so many different models.

 

As for the increased print time, please compare a constant small layer height for the whole model against using adaptive layers with a larger base layer height (profile) but the smallest layer height the same or even smaller than the constant small one (e.g. 0.06mm for the whole model vs adaptive layers 0.15 with a 0.1 variation). Otherwise it would indeed increase the printing time, because you're limiting your upper limit to 0.06 + 0.1.

 

The idea behind it is not to get lower print times when just enabling it, but get lower printing times with similar visual quality for the detailed parts and courser quality for the straight parts. I agree the UX can be much improved, but my initial development was focused on getting it to work in the first place and not destroy print quality when changing flow rates.

  • Like 2

Share this post


Link to post
Share on other sites

Hello Chris,

 

As long as I have your attention, may I draw you attention to a post of mine from 2-20?

 

"I would really like to see the ability to set the "Adaptive Layers Maximum Variation" and  "Adaptive Layers Variation Step Size" as adjustable individually for top and bottom, much as there are those settings for top and bottom pattern and thickness."

 

I'm really liking your Adaptive Layer functionality.  Any chance the above could be considered? :)

 

Thanks so much for your efforts so far with this . . .

 

Share this post


Link to post
Share on other sites

It's somewhere on our backlog, but I'm currently working on something else than Cura, so it's really up to the PO of Cura when to plan it. It's also not very trivial, mostly due to preserving print quality when changing flow rates.

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

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!