Jump to content

Question and/or suggestion for Adaptive Layers


Xeddog

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. 

  • 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 

  • 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.

  • 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
    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?

     

     

     

     

     

     


     

  • 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
  • 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
    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).

  • 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).

  • 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. 

     

  • 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. 🙂

     

     

     

     

     

     

  • 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

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...