Ultimaker Community of 3D Printing Experts

## Recommended Posts

He,

into this beautiful slicer, there is a parameter "adaptive layers treshold" with a default value set at 200.0 .

At which angle corresponds this value ?

is it tan(angle) =  0.2 which means an angle of +- 11.5°  ?  Just to clarify,  in such a case,  a switch angle of 45° should be set at 1000.0   because  tan(45°) = 1.0. Correct ?

many tks.

Phil

• 1
##### Share on other sites

Tests with different values for the  adaptive layers threshold parameter.

We print our locomotive with 0.081 layers. it's good, although some too small details are not printed optimally. With layers of 0.05, the details are improved, but the overall quality seems less good. The use of adaptive layers is therefore an excellent solution. Congratulations to ctbeke.

I found   this post  and  this other post

Well, I did not found a mathematically understandable answer to my above question, but I understood how to set up this superb function.

In my case :

Layer height : 0.081

initial layer height : 0.16

Adaptative layer maximum variation : 0.03 which allow layers from 0.051 till  0.111

Adaptative layers variation step size : 0.012   ( = 0.051, 0.063, 0.075, 0.087, ………..     0.087 , 0.099 , 0.111)

I then performed tests with different values of the "adaptive layers threshold" to compare the results with a print made either only with 0.081 layers (20H46) or with 0.05 (33H03).

The result shows a variation of the layers height (and therefore the duration) not constant. I have summarized it in the table below.

After a visual study, we decided to use for this model a value of 500, which generate this slicing :

Phil

• 1
##### Share on other sites
• 8 months later...

I don't see adaptive layer threshold setting anymore?  Is it hiding?

##### Share on other sites
6 hours ago, mtnbkrrick said:

I don't see adaptive layer threshold setting anymore?  Is it hiding?

It has since been renamed to "topography size". More details are available in this commit: https://github.com/Ultimaker/CuraEngine/commit/76e9e27b300eee37e6bf0f41af96450c6eed4779.

##### Share on other sites
On 3/9/2020 at 5:38 PM, ctbeke said:

It has since been renamed to "topography size". More details are available in this commit: https://github.com/Ultimaker/CuraEngine/commit/76e9e27b300eee37e6bf0f41af96450c6eed4779.

More details? Not really, unless you're a Mathematician or programmer!! This was hardly documented until this post (Thanks @OUPS65 !!! 🙂  )

Now you've CHANGED it and the popup AND the Settings Guide are both typical "clear as mud" descriptions. I worked for a top 10 Computer company back in the day and they had a policy of "NEVER let the engineers write the manual".

This setting and the newest change are a perfect example.

GREAT piece of tech, GREAT paying attention to the clients' needs and filling them, LOUSY documentation.

##### Share on other sites
On 3/14/2020 at 7:24 PM, PuterPro said:

More details? Not really, unless you're a Mathematician or programmer!! This was hardly documented until this post (Thanks @OUPS65 !!! 🙂  )

Now you've CHANGED it and the popup AND the Settings Guide are both typical "clear as mud" descriptions. I worked for a top 10 Computer company back in the day and they had a policy of "NEVER let the engineers write the manual".

This setting and the newest change are a perfect example.

GREAT piece of tech, GREAT paying attention to the clients' needs and filling them, LOUSY documentation.

Don't shoot the messenger...

Anyways, there's a reason it is still in the experimental category. For one thing that usually means it's not clear how to use the settings.

• 1
##### Share on other sites
• 2 weeks later...
On 3/16/2020 at 6:38 AM, ctbeke said:

Don't shoot the messenger...

Anyways, there's a reason it is still in the experimental category. For one thing that usually means it's not clear how to use the settings.

Hmmm. Yeah, not really yelling at YOU, but just venting. A program as sophisticated as this needs documentation that's clear. "It's experimental" is an pretty lame excuse, actually an experimental item should have MORE documentation, not LESS, eh?

How are people supposed to use something that you want feedback on if there's no proper instructions and there's been a major change to it's use?? Are we supposed to just print endless failures until we find something that works? For that one model?!!??

Seriously, this is a candidate for a "This is Broken" post on Reddit, LOL.

Regards to YOU @ctbeke and thanks for all the hard work you put into this forum, believe me I get it!! Stay healthy!!

##### Share on other sites
• 6 months later...

So how DO we use Adaptive Layers Topography Size?

Definition in Cura says "Target horizontal distance between two adjacent layers. Reducing this setting causes thinner layers to be used to bring the edges of the layers closer together."

How are there adjacent layers horizontally? I thought there was only one layer at each Z height? I'm doing multi-color printing with UM3 but wasn't familiar with this way of talking about it.

Thanks!

##### Share on other sites
14 hours ago, oparrott said:

So how DO we use Adaptive Layers Topography Size?

Definition in Cura says "Target horizontal distance between two adjacent layers. Reducing this setting causes thinner layers to be used to bring the edges of the layers closer together."

How are there adjacent layers horizontally? I thought there was only one layer at each Z height? I'm doing multi-color printing with UM3 but wasn't familiar with this way of talking about it.

Thanks!

Every layer is adjacent to the one below it (except for the first layer) and the one above it.  Maybe a better term would have been “sequential”.

##### Share on other sites
• 3 months later...

Adaptive layers looks to be exactly what I need.  But, I can't figure out how to use "Adaptive Layers Topography Size".  Perhaps a picture would help?

Or, at least something simple like "smaller is always better for quality, but increases print time".  Then, I can experiment with different values and determine sensitivity of print time to the setting value.

##### Share on other sites
• 3 weeks later...
Posted (edited) · adaptive layers treshold

Hello,

I also was missing the former threashold setting since I recntly updated to 4.8.0

Nevertheless maybe a similar setting explains the new tropology size setting ... or at least the image helps

-> look for slicing tolerance

According to the hint in Cura, Adaptive Layers Topology Size is checking how much horizontal distance is between the outline of two successive layers (overlap or overhang). If the overhang/overlap exceedes the set value, Cura switches the layer height by the size specified under Adaptive Layer Variation Sep Size.

This is also good to keep in mind when it comes to overhang printing. If you e.g. have a 0.4 mm nozzle, you certainly will get problems when the angle of the overhang is so big that the next layer would have to print with a horizontal distance of 0.4 mm or bigger - so in mid-air. Reducing the layer height would add an additional layer with half the horizontal distance inbetween and hence providing more support to the following layer. Adaprive layers do that automatically layer by layer.

The Adaptive Layers Topology Size setting is quite smart chosen, from my point of view, because you get a direct relation to your nozzle size, respectively your set line width and get an impression about the horizontal overlap from layer to layer.

Edited by Pizzastreichler
##### Share on other sites
39 minutes ago, Pizzastreichler said:

If you e.g. have a 0.4 mm nozzle, you certainly will get problems when the angle of the overhang is so big that the next layer would have to print with a horizontal distance of 0.4 mm or bigger - so in mid-air.

Yes.  Sort of.  Not completely.  But sort of.  Usually the inner wall is printed before the outer wall so there is something to hang onto on the inner edge.  But basically, yes.

##### Share on other sites
On 2/2/2021 at 5:02 PM, davethomaspilot said:

Adaptive layers looks to be exactly what I need.  But, I can't figure out how to use "Adaptive Layers Topography Size".  Perhaps a picture would help?

Or, at least something simple like "smaller is always better for quality, but increases print time".  Then, I can experiment with different values and determine sensitivity of print time to the setting value.

Unfortunately such a simple statement would often not be true, because it very much depends on the topology of the model you're slicing. But if there would be a single way to capture the concept, I'd say it determines the 'hardness' or 'sensitivity' of the algorithm, similar to how Photoshop brushes can have hard or soft edges.

##### Share on other sites
Posted (edited) · adaptive layers treshold

Hi experts,  is Use Adaptive Layers seriously used by people printing big things?

I'm planning to use modifier meshes for adjusting layer height of the walls while keep the infill and the support unaffected. Maybe I should try this functionality first. It seems that support can be reduced by it.

Edited by curasurf
##### Share on other sites
1 hour ago, curasurf said:

Hi experts,  is Use Adaptive Layers seriously used by people printing big things?

I'm planning to use modifier meshes for adjusting layer height of the walls while keep the infill and the support unaffected. Maybe I should try this functionality first. It seems that support can be reduced by it.

Note sure who is using this IRL (as it's still experimental as well), but the biggest advantage of adaptive layers over modifier meshes is that adaptive layers changes the layer height gradually, resulting is less sudden changes in the flow rate (this proved to be the biggest contributor to ugly prints whenever the layer height changes when I did the research and testing for the adaptive layers algorithms).

• 1
##### Share on other sites
52 minutes ago, ctbeke said:

the biggest advantage of adaptive layers over modifier meshes is that adaptive layers changes the layer height gradually, resulting is less sudden changes in the flow rate

You said that modifier meshes lead to changes in the flow rate. Do you think that it's possible to avoid flow rate changes by adjusting height/width/speed at the same time to maintain a constant flow?

##### Share on other sites
16 hours ago, curasurf said:

You said that modifier meshes lead to changes in the flow rate. Do you think that it's possible to avoid flow rate changes by adjusting height/width/speed at the same time to maintain a constant flow?

Hi! I'm not expert on the slicing engine and the physics of laying down molten plastics, but to me it seems in order to get a clean print when changing the layer height, you still want a consistent line width (otherwise you get 'banding'). To achieve this, when reducing the layer height, you want to extrude less material, so a lower flow rate. But in the current architecture of both the slicer and the printer mechanics, it is nearly impossible to change the flow in a short time frame (from one move to the next ideally), so when building adaptive layers I've tweaked around with the parameters until the flow rate change was small enough to not have a negative impact on the print quality (visual defects, or even worse: part-strength issues). I think in general this topic needs more research to see what the limitations are and if they can be stretched or solved.

##### Share on other sites
33 minutes ago, ctbeke said:

to me it seems in order to get a clean print when changing the layer height, you still want a consistent line width (otherwise you get 'banding'). To achieve this, when reducing the layer height, you want to extrude less material, so a lower flow rate.

Don't you think it's good enough to increase the layer height while keeping ( height * width * speed = FLOW RATE) constant? Thank you!

##### Share on other sites
1 hour ago, curasurf said:

Don't you think it's good enough to increase the layer height while keeping ( height * width * speed = FLOW RATE) constant? Thank you!

Theoretically yes, but in practice this is hard because there's delays between the G-code instructions and the physical act of laying down material and it cooling off (mostly caused by the distance between the extruder stepper motor and the hot-end). So you could write something to 'look ahead' and take that delay into account, but that's very hard to do as well as you'd need to model these delays and other physical properties of the printing process.

Also Cura cannot really change the line width currently (although a new version of CuraEngine is being worked on that has that capability, you can try it out in the "Arachne Alpha build" of Cura that was released in December).

So I think over time it might be possible to do this, but it requires a lot more research and testing.

##### Share on other sites
Posted (edited) · adaptive layers treshold

@ctbeke  It seems that you didnot understand what I meant.  I mean, in changing from setting 1 to settign 2 (below), there should be no flow rate variation and so no extruder delay. Is this correct?

Setting 1

Layer Height = 0.3 mm

Line Width = 0.4 mm

Speed = 50 mm/s

(Flow rate = 0.3*0.4*50 = 6 mm³/s)

Setting 2

Layer Height = 0.2 mm

Line Width = 0.5 mm

Speed = 60 mm/s

(Flow rate = 0.2*0.5*60 = 6 mm³/s)

If you are talking about the nozzle speed delay, then yes there can be some delay, but the speed delay seems to be trivial when compared to the extrusion delay.

Edited by curasurf
##### Share on other sites
3 minutes ago, curasurf said:

It seems that you didnot understand what I meant.  I mean, in changing from setting 1 to settign 2 (below), there should be no flow rate variation and so no extruder delay. Is this correct?

Setting 1

Layer Height = 0.3 mm

Line Width = 0.4 mm

Speed = 50 mm/s

(Flow rate = 0.3*0.4*50 = 6 mm³/s)

Setting 2

Layer Height = 0.2 mm

Line Width = 0.5 mm

Speed = 60 mm/s

(Flow rate = 0.2*0.5*60 = 6 mm³/s)

The delay is not caused by settings, it is caused by the physical process of pushing on the filament with the extruder motor, then that force actually resulting in more or less material being extruded at the hot-end. So in a perfect world with no friction inside bowden tubes etc (and many other physics laws), the settings above would work. But in practice you always have that delay and you get visual artifacts in your printed part.

##### Share on other sites
Posted (edited) · adaptive layers treshold
9 minutes ago, ctbeke said:

So in a perfect world with no friction inside bowden tubes etc (and many other physics laws), the settings above would work. But in practice you always have that delay and you get visual artifacts in your printed part.

I'm sorry to argue more, because this is related to my fundamental understanding of the fusion printing process.

In my understanding, the extruder works ONLY on the FLOW RATE (=height*width*speed). If the flow rate is kept constant, the extruder would ALWAYS work in thhe same condition, completely NO delay, NO change. Is this not correct?

Edited by curasurf
##### Share on other sites
21 minutes ago, curasurf said:

I'm sorry to argue more, because this is related to my fundamental understanding of the fusion printing process.

In my understanding, the extruder works ONLY on the FLOW RATE (=height*width*speed). If the flow rate is kept constant, the extruder would ALWAYS work in thhe same condition, completely NO delay, NO change. Is this not correct?

I'm not sure, I'm only reporting on what I experienced during testing. However I can imagine that because height, width and speed are implemented by different parts of the mechanical system, these 3 never align as perfectly as you want them. For example layer height has a very direct result (just move the Z-axis up), but speed has that delay between moving the extruder motor vs the actual extrusion at the hot-end caused by the physical distance between those two components. So all combined it's just a complex system that is hard to capture in a mathematical model that can be used to 'predict' the needed flow. Again, theory vs real-world conditions don't match up here.

##### Share on other sites
Posted (edited) · adaptive layers treshold
14 minutes ago, ctbeke said:

I'm not sure, I'm only reporting on what I experienced during testing. However I can imagine that because height, width and speed are implemented by different parts of the mechanical system, these 3 never align as perfectly as you want them. For example layer height has a very direct result (just move the Z-axis up), but speed has that delay between moving the extruder motor vs the actual extrusion at the hot-end caused by the physical distance between those two components. So all combined it's just a complex system that is hard to capture in a mathematical model that can be used to 'predict' the needed flow. Again, theory vs real-world conditions don't match up here.

I'm sorry to say that I can't agree with you. In my rooted understanding, the command sent to the extruder is only the flow rate (height * width * speed), not the height alone, not the width alone, not the speed alone, but their product --- the flow rate. If I set it as Setting 1 and Setting 2 above, the extruder would operate under constant condition.

The speed might have delay, and the width and the height might not be as the gcodes told, but the signals are definite. The signal received by the extruder is not based on the real speed/height/width, but based the clear message of gcode. If the signal to extruder changes, the extruder would have some delay in response, but if the signal is constant, the extruder works constantly.

Anyway, thank you for your patience!

Edited by curasurf
##### Share on other sites
2 minutes ago, curasurf said:

I'm sorry to say that I can't agree with you. In my rooted understanding, the command sent to the extruder is only the flow rate (height * width * speed), not the height alone, not the width alone, not the speed alone, but their product --- the flow rate. If I set it as Setting 1 and Setting 2 above, the extruder would operate under constant condition.

Anyway, thank you for your patience!

The extruder motor (E values in G-code) only determines the speed component of that equation (again, this is the one with the physical delays caused by the distance between extruder motor and hot-end). The position of the extruder (X, Y, Z values in G-code) determine the (layer) height and are determined by the motors that control the X, Y and Z axes. The width is mostly caused by the nozzle diameter (with some limited control over that by how much material you push through). So although it's a single set of settings, or even a single G-code command even, the results are influenced by many different parts of the printer. Controlling all of these components to such a level that you can have minimal changes in how much material is being deposited is hard, and becomes even harder when you're going to change something like the layer height.

## Create an account

Register a new account

• Yes
• No
2. ### 2. If yes - what content did you find most interesting?

• Applications & application stories
• Customer success stories
• Webinar sessions
• Material wall & ecosystem partners
• New product introduction; software subscription plans
3. ### 3. What of the below would make you consider visiting (again)?

• New Live Ultimaker Webinar streams
• ‘Ask Me Anything’ with industry experts or Ultimaker staff via main stage and public chat
• New customer success stories
• New applications
• Presentations/news from ecosystem partners
• Opportunity to meet representatives for an interactive tour
• Helpful videos like Software tutorials
• Other; leave input in a comment below!

• ### Our picks

• Ultimaker is turning 10 years old and that means it is story telling time! We'll explore 2010-2014, traveling through the evolution of the business from the Protobox and Ultimaker Original, to the major leaps forward with the Ultimaker 2 and Ultimaker 3.
• 0 replies
• 14 replies
• Hi,

Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.
They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access.