Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Variable layer height settings #2895

Closed
smartavionics opened this issue Dec 2, 2017 · 15 comments
Closed

Variable layer height settings #2895

smartavionics opened this issue Dec 2, 2017 · 15 comments
Labels
Status: Won't Fix/Do Not an issue, or an issue that we cannot fix or can live with. Type: Improvement Improvement to existing functionality.

Comments

@smartavionics
Copy link
Contributor

Having played with this new feature a little, I think it would be better if instead of specifying a max variation from the base layer height, one could specify the min and max layer thicknesses (obviously with the contstraint that max layer thickness > min layer thickness). I know that the end result would be the same as what we have now but, to me, it's easier to think of a min and max layer thickness rather than the middle thickness +/- something.

@ChrisTerBeke ChrisTerBeke added component: CuraEngine Type: Improvement Improvement to existing functionality. labels Dec 2, 2017
@smartavionics
Copy link
Contributor Author

Another thought: in the future, the gui could have a slider with two bugs to set the min and max layer heights?

@smartavionics
Copy link
Contributor Author

BTW Chris, why do you have this in calculateLayers() ?

    // compensate first layer thickness depending on slicing mode
    if (slicing_tolerance == SlicingTolerance::MIDDLE)
    {
        z_level += this->initial_layer_height / 2;
        this->initial_layer_height += this->initial_layer_height / 2;
    }

@ChrisTerBeke
Copy link

ChrisTerBeke commented Dec 10, 2017

To keep the slicing mode offset behavior consistent with non-adaptive layer height mode. Not sure yet if I wanna keep it in though...

Otherwise, good suggestions. I have a meeting tomorrow about the future of this feature with some people from materials & processing to get insight into the printing behavior of this. After that we'll come up with the 'final' implementation for the next release.

@Fronscavenger
Copy link

Sorry for the ignorance of my comment. Why not just apply a variation of layer height to the support?

@smartavionics
Copy link
Contributor Author

Hi - being able to print a support layer that is thinner than the layer used for the model would (IMHO) be very useful because at the moment, the gap between the top of the support and the model has to be an integer multiple of the (fixed) layer height and may not be the ideal size.

@ChrisTerBeke
Copy link

Thanks for the suggestions!

Even though that is a good idea, that would require way more architecture changes in the software. The current implementation is the simplest possible (define layer heights for an entire layer at the first stage of slicing). Anything else would be difficult to implement in the current engine structure. The biggest issue is that after creating the layers, everything is seen as a 2D problem by all other algorithms, as those are an order of magnitude simpler to comprehend than 3D problems.

We have a pretty long wish-list for things to add to variable/adaptive layers, but that simply requires a lot more effort to implement (which needs approval from people higher up the food chain at Ultimaker :P ). Let's first do this proof of concept in the new 3.2 release and see where it goes from there :).

@doomsed
Copy link

doomsed commented Jan 24, 2018

I agree that "min/max" is easier to conceptualize than "middle +/- variance". Especially since the "middle" may not have a grounding in physical reality, depending on other settings (if the variance is not evenly divisible by the step size then no layers will have a height of "middle").

since the layer height stepping is already relative to the maximum of the current calculated range, you could use [Layer Height] as the default maximum layer height for adaptive layers and replace [adaptive layer maximum variation] with [minimum adaptive layer height].

It might also be nice if there was a tag or notification on the [step size] and [maximum variation] or [minimum layer height] that the total range may not be used whenever {remainder(2 x [maximum variation] / [step size]) !=0} or {remainder( ([max height] - [min height]) / [step size]) !=0}

It would also be easier to conceptualize [adaptive layers threshold] if a percentage of [line width] was used: "The layer height will decrease if less than x% of the outer wall width overlaps with the outer wall of the previous layer"

@noisemaker00
Copy link

I agree, in my opinion is better to replace current UI settings with:

  • Max layer height
  • Min layer height

Is more user friendly and by now, using the delta (+/-) the maximum height may be greater than the printer nozzle is able to achieve.

In addiction to this, please see: #3324

@slikk66
Copy link

slikk66 commented Feb 28, 2018

Agree about +/- used this for first time today. I'd like .12 min, .2 max.. Took me a bit to realize I needed to set my layer height to .16 since that's not a number I was intending to use, just doesn't seem to pass the "makes sense" test.

@slikk66
Copy link

slikk66 commented Feb 28, 2018

Also, to make this even easier to patch in, why not have the current height setting become the minimum, and allow you to set an upper bound for max with the step setting. Internally split the difference and set that to the "layer height and apply the same logic as is current.

@Ghostkeeper
Copy link
Collaborator

Our project manager removed this feature from our planning. We won't be addressing it soon. Maybe later.

@Ghostkeeper Ghostkeeper added the Status: Deferred We don't have time to work on this for now but intend to in the future. label Feb 28, 2018
@doomsed
Copy link

doomsed commented Mar 2, 2018

Removed this topic from planning or removed Adaptive Layers from planning?

@ChrisTerBeke
Copy link

Removed improvements for adaptive layers. Although it's back on the planning now, just later this year.

@ianpaschal
Copy link
Contributor

ianpaschal commented Mar 2, 2018

@doomsed This improvement idea. Adaptive layers are still very much something we're working on. The Unplanned label denotes something which we currently won't do but may very well in the future (like adding improvements to an experimental feature), versus Won't Fix/Do which denotes things we know for sure just ain't gonna happen (like fixing bugs in version 2.4).

@Ghostkeeper
Copy link
Collaborator

With new insights explained here we've decided to reject this feature request.

@Ghostkeeper Ghostkeeper added Status: Won't Fix/Do Not an issue, or an issue that we cannot fix or can live with. and removed Status: Deferred We don't have time to work on this for now but intend to in the future. labels Aug 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Won't Fix/Do Not an issue, or an issue that we cannot fix or can live with. Type: Improvement Improvement to existing functionality.
Projects
None yet
Development

No branches or pull requests

8 participants