Jump to content

Variable layer height on a print


Recommended Posts

Posted · Variable layer height on a print

Hello, I would like to know how create gcodes with variable layer height using cura.

Im trying to print a cylinder with first layers at 0.1, middle with 0.2 and top with 0.1 again.

is that possible???

THANK YOU :)

  • Link to post
    Share on other sites

    Posted (edited) · Variable layer height on a print

    Yes.  But the procedure is COMPLETELY different in cura 2.X versus 15.X.  In 15.x you need a plugin called something like "switch at Z".  Something like that.  You slice it both ways (.1, .2) and save to two files then use switch at Z to switch to the other file.

    In cura 2.X you split your cad model into 3 cylinders, load all 3 stl files into cura and merge them (right click after slelecting all) then on left side you can change settings - oh!  except not layer height[correction, cura 2.X now does layer height per sub-object also].  So, um, for this particular feature you need cura 15.X.

    Edited by Guest
    • Like 2
    Link to post
    Share on other sites

    • 1 month later...
    Posted · Variable layer height on a print

    Yes.  But the procedure is COMPLETELY different in cura 2.X versus 15.X.  In 15.x you need a plugin called something like "switch at Z".  Something like that.  You slice it both ways (.1, .2) and save to two files then use switch at Z to switch to the other file.

    In cura 2.X you split your cad model into 3 cylinders, load all 3 stl files into cura and merge them (right click after slelecting all) then on left side you can change settings - oh!  except not layer height.  So, um, for this particular feature you need cura 15.X.

    Right up until the last couple of sentences, I was almost ready to try Cura again. I was hoping :)

    You can sort-of do this in S3D, but there's an annoying trait. Each time a new Process (different layer height) begins, S3D treats it as a new print. So if the bottom solid layers are set to 4, you get 4 solid layers, even though you're really in the middle of a print and don't need those.

    You can fudge around that by setting the middle Process to have 0 top & bottom solid layers, but then your print is screwed if there are any upper surfaces in that range because it'll be open-topped, showing the infill.

    This is where I hope @GR5 or @Neotko will jump in and tell me a trick for S3D to do what I've been unable to do thus far. :)

  • Link to post
    Share on other sites

    Posted (edited) · Variable layer height on a print

    Indeed you can't stop that on s3d. When I need special toplayers on a subprocess I cut the object and add it to other process. Ofc depends on the object, not always is possible.

    Edited by Guest
    • Like 1
    Link to post
    Share on other sites

    • 3 weeks later...
    Posted · Variable layer height on a print
    In cura 2.X you split your cad model into 3 cylinders, load all 3 stl files into cura and merge them (right click after slelecting all) then on left side you can change settings - oh! except not layer height[correction, cura 2.X now does layer height per sub-object also].

    Okay, so I'm trying to figure out how to do this, step by step. If I have entirely separate STLs, how do I align them properly? There doesn't seem to be a snap-to-grid, if get the top portion floating above the bottom, even if slightly misaligned, and then click "lay flat" it moves to another spot on the build plate...

    If I export my STL as a single file, even after splitting my "part", Cura seems to take it in as a single part, not as a pair of parts. Same is true whether I put some air between the split or not.

    Finally, if I manage to get them arranged on the plate -- per-model select settings doesn't include layer height.

    Help?

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    In cura 2.X you split your cad model into 3 cylinders, load all 3 stl files into cura and merge them (right click after slelecting all) then on left side you can change settings - oh!  except not layer height[correction, cura 2.X now does layer height per sub-object also].

    Okay, so I'm trying to figure out how to do this, step by step.  If I have entirely separate STLs, how do I align them properly?  There doesn't seem to be a snap-to-grid, if get the top portion floating above the bottom, even if slightly misaligned, and then click "lay flat" it moves to another spot on the build plate...

    If I export my STL as a single file, even after splitting my "part", Cura seems to take it in as a single part, not as a pair of parts.  Same is true whether I put some air between the split or not.

    Finally, if I manage to get them arranged on the plate -- per-model select settings doesn't include layer height.

    Help?

    In your 3D Package, make sure that all parts have the same pivot point. Bring all parts individually into Cura. Select all parts (Shift + Click or CTRL +A or Edit menu/Select all). Then go back to the Edit Menu and choose "Merge Models". That is how you get them all into one piece. The pivot point aligns them properly. So far has worked like a charm for me.

    But, before you do that, select each part individually and go to the icon on the left bar and choose the one with 3 "Hour Glasses". That is what I call them.

    That would be your individual settings per model. You can choose the extruder as well as choose options that are available on a per model basis by clicking on "Select Settings".

    Been using this a lot to set individual things like horizontal expansion or whatnot for each piece as I experiment.

    Hope this helps :)

    • Like 1
    Link to post
    Share on other sites

    Posted · Variable layer height on a print

    Ooh is Slic3r worth revisiting? I have not used it for several years. I have a job coming up where this would be very useful but do not really want to shell out 150usd for S3D without a trial.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    In your 3D Package, make sure that all parts have the same pivot point. Bring all parts individually into Cura. Select all parts (Shift + Click or CTRL +A or Edit menu/Select all). Then go back to the Edit Menu and choose "Merge Models". That is how you get them all into one piece. The pivot point aligns them properly. So far has worked like a charm for me.

    But, before you do that, select each part individually and go to the icon on the left bar and choose the one with 3 "Hour Glasses". That is what I call them.

    That would be your individual settings per model. You can choose the extruder as well as choose options that are available on a per model basis by clicking on "Select Settings".

     

    Thanks! Okay: the good news is that I got Group to work as you describe. Don't get why, or what it thinks it's doing, and arranging several multi-part models on the build plate is fiddly, but it magically works.

    Bad news: Layer height is still not selectable per-model. Are you seeing something different? Or is there a patch?

  • Link to post
    Share on other sites

    Posted (edited) · Variable layer height on a print
    Thanks!  Okay: the good news is that I got Group to work as you describe.  Don't get why, or what it thinks it's doing, and arranging several multi-part models on the build plate is fiddly, but it magically works.

    Bad news: Layer height is still not selectable per-model.  Are you seeing something different?  Or is there a patch?

     

    One question: Did you use "Merge" or "Group"? They are two different things.

    As for what merge is doing is just aligning the pivot points and then grouping them together. But, group by itself just lets you create a 'collection' or 'group of models where they are located (Keeping offsets, rotations, etc) and allowing you to manipulate them as if one model.

    But, Cura, as far as I have found does not let you split models into individual pieces. Say a model is made of 5 cylinders. You bring that in as one model. Then, you decide to move just one of them. It does not break up the model that way. They have to be brought in separately. In a way, that is good. When I first started to study Cura, a couple of months before the printer arrived, I downloaded a lot of models to just study. Many of them were just one piece slapped onto another such as the Buddha variants, Yoda Buddha, Darth Buddha, etc. If they got treated differently, it could mean an issue. Most programs will let you break up a model, but if I have to do that, I will do it in the 3D Package and let Cura be a solid slicer.

    I do have S3D. Yep, paid for it. But, not fully versed in it.

    Now for 2.5, I have not had seen a layer height difference to be selected. Almost all other functions are, but not that one and a few others. For instance the material options per model are mostly not available.

    Edit: I just looked, it is line widths that you can change. But, I see nothing about layer height changes.

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    One question: Did you use "Merge" or "Group"? They are two different things.

    As for what merge is doing is just aligning the pivot points and then grouping them together. But, group by itself just lets you create a 'collection' or 'group of models where they are located (Keeping offsets, rotations, etc) and allowing you to manipulate them as if one model.

    [...]

    Now for 2.5, I have not had seen a layer height difference to be selected. Almost all other functions are, but not that one and a few others. For instance the material options per model are mostly not available.

    Edit: I just looked, it is line widths that you can change. But, I see nothing about layer height changes.

     

    Sorry, I did mean Merge, and both Merge and Group are documented here: https://ultimaker.com/en/resources/35686-merging-and-grouping-models

    Yes, I cut my model in CAD using an offset plane and load the pieces separately; Merge correctly aligns and associates them -- but Layer Height is not independently settable, even using per model settings.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    I didn't look but I was told that we can change layer height now in cura 2.5. You might have to enable that - the per-object settings by default only has a few visible but you can turn on several more that aren't visible by default.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    I didn't look but I was told that we can change layer height now in cura 2.5.  You might have to enable that - the per-object settings by default only has a few visible but you can turn on several more that aren't visible by default.

     

    Not sure where you would do that as I have turned on all settings in preferences as well as checked "Show all" in the per model settings.

    I think someone got their line widths and line height mixed up, or I have not found the secret doorway.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    Since you said you have s3d. Here's a long boring tutorial I made to demo how to work with them on s3d and improve print time vs quality.

     

  • Link to post
    Share on other sites

    Posted (edited) · Variable layer height on a print

    Let me clarify a few things on this matter for you guys. Cura (15.X or 2.X) has no actual variable layer height. There's a few things that can sorta do layer heights for different parts though:

    • The initial layer height can be separate from the rest.
    • The infill layer height can be increased. This is actually a trick; Cura will combine multiple layers of infill together, and so it only works on multiples of the normal layer height. And only if there are enough layers of infill on top of each other so that they can be combined. Something similar is in the works for support in the 2.7 release (planning of this issue is not set in stone though).
    • The raft air gap is also not dependent on the layer heights and can be set to anything you like.

    There's two major problems we are facing for variable layer height.

    For one, if you use variable layer heights then all of the built-in profiles in Cura become moot. Layer height is such an influential setting that if you change the layer height there's typically some 20-ish settings that should change alongside it. This can be seen when you switch profiles from Normal Quality to Draft Print or something, there's typically 20 or so settings that will change then. Ideally these settings would change automatically if the user changes the layer height (or is that ideal?) but we haven't figured out all the intricate connections and interplay between settings, so if the user changes the layer height right now, the quality will surely be less than optimal. That means that we can't enable Variable Layer Height by default. S3D solves this problem by... not having this requirement that we must guarantee good print quality for the Ultimaker printers.

    The second major problem is collision checking. Currently Cura will avoid going through walls as much as possible so as not to create scars on the surface of the print and reduce clogging. This is a 2D problem because we know that all parts that we can collide with are on the current layer. The rest is on lower layers. With variable layer heights, the layers become separate and so there might be some already-printed part that is 0.001mm lower than the current layer. You can collide with it if that layer is too close, so you have to consider some other layers to avoid collisions. This is a technical problem in our current architecture, which S3D did set up properly to account for this feature. It can be overcome with some refactoring, but before we think of a solution for the first problem we won't be trying to refactor the architecture to solve the second.

    Edited by Guest
    • Like 3
    Link to post
    Share on other sites

    Posted · Variable layer height on a print

    Most of those settings in the profile are (or should be) formulas. Cura is wonderful in that you can create formulas in the profile settings. So if a setting is dependent on layer height then it should be a formula.

    The second problem regarding collision with other layers - well Cura should force a given Z height range to be a fixed layer height. So you can change layer heights as you move upwards on the part but you can't say print a standing figure with the left leg one layer height and the right leg a different layer height.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    The solution is to use Slic3r, which does support variable layer height, and has a (clumsy) UI to set it.

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    Layer height has 8 dependent settings right now. Line width settings have something similar, but a typical quality profile has 120-ish settings as provided to me from our material team, which I then optimise to 20-ish settings by putting the most common settings in higher-order profiles. But basically we need to increase those 8 dependencies to 120. It's certainly possible and you could probably interpolate the quality profiles we have right now to some extent, but it's a lot of work testing those formulas.

    The collision checking problem is of course removed once you enforce that there are no 2 layers that overlap in the Z direction :)

  • Link to post
    Share on other sites

    Posted · Variable layer height on a print

    Let me clarify a few things on this matter for you guys. Cura (15.X or 2.X) has no actual variable layer height. There's a few things that can sorta do layer heights for different parts though:

    • The initial layer height can be separate from the rest.
    • The infill layer height can be increased. This is actually a trick; Cura will combine multiple layers of infill together, and so it only works on multiples of the normal layer height. And only if there are enough layers of infill on top of each other so that they can be combined. Something similar is in the works for support in the 2.7 release (planning of this issue is not set in stone though).
    • The raft air gap is also not dependent on the layer heights and can be set to anything you like.

    There's two major problems we are facing for variable layer height.

    For one, if you use variable layer heights then all of the built-in profiles in Cura become moot. Layer height is such an influential setting that if you change the layer height there's typically some 20-ish settings that should change alongside it. This can be seen when you switch profiles from Normal Quality to Draft Print or something, there's typically 20 or so settings that will change then. Ideally these settings would change automatically if the user changes the layer height (or is that ideal?) but we haven't figured out all the intricate connections and interplay between settings, so if the user changes the layer height right now, the quality will surely be less than optimal. That means that we can't enable Variable Layer Height by default. S3D solves this problem by... not having this requirement that we must guarantee good print quality for the Ultimaker printers.

    The second major problem is collision checking. Currently Cura will avoid going through walls as much as possible so as not to create scars on the surface of the print and reduce clogging. This is a 2D problem because we know that all parts that we can collide with are on the current layer. The rest is on lower layers. With variable layer heights, the layers become separate and so there might be some already-printed part that is 0.001mm lower than the current layer. You can collide with it if that layer is too close, so you have to consider some other layers to avoid collisions. This is a technical problem in our current architecture, which S3D did set up properly to account for this feature. It can be overcome with some refactoring, but before we think of a solution for the first problem we won't be trying to refactor the architecture to solve the second.

    With the formulas, would it be possible to reset the profile at a certain height?, choose a layer height change at 400 layers out of 600 layers, which would just reset the profile you would have to set again yourself, this option will only be available in "custom settings"? Or as a "experimental app add on"

    Maybe if a gradual z step into layer change may help with that?

    Its having the option to print a simple block at 200micron layer height, but change to 60micron on the last 20 layers for a emboss or such...

    Or 200micron up to an overhang, change layer height for a overhang to 60micron, layer change again after the over hang, back too 200micron height.

    Just curious, with the tweakatz add on app, if i had my speed @ 80mm/s, and change to 50mm/s in app, do i have to change flow rate to bring the flow rate from 80mm/s to match a flow of 50mm/s or does the app do that itself (as a profile standard @ 50mm/s)?

    2 legs touching buildplate at different heights!!

    What about 3 ? (lol!) :p .

  • 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

      • Introducing Universal Cura Projects in the UltiMaker Cura 5.7 beta
        Strap in for the first Cura release of 2024! This 5.7 beta release brings new material profiles as well as cloud printing for Method series printers, and introduces a powerful new way of sharing print settings using printer-agnostic project files! Also, if you want to download the cute dinosaur card holder featured below, it was specially designed for this release and can be found on Thingiverse! 
        • 0 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...