Jump to content
Ultimaker Community of 3D Printing Experts
acnatrol

Variable layer height on a print

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

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 .

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

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 2 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 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!