compas_slicer icon indicating copy to clipboard operation
compas_slicer copied to clipboard

When sorting into vertical layers, a safety_printpoint is always added even if it's not always necessary

Open joburger opened this issue 4 years ago • 2 comments

A safety printpoint should be added if there are multiple Vertical Layers on the same height, however if there is only one VerticalLayer (so one branch) it is not necessary to add a safety point, see image:

image

joburger avatar Feb 01 '21 19:02 joburger

Aha I see this, it's coming from example 3 right? This is happening because we have the max_paths_per_vertical_layer value quite low, so it splits the vertical_layers in smaller vertical layers. When a vertical layer finishes, then it adds an interruption without checking where the next vertical layer starts. So I wonder how we would want to fix this. I.e. when vertical layers are split, doesn't it make sense that there's an interruption in between? I.e. in this case wouldn't it make more sense to have one continuous vertical layer? But then it would have to 'violate' the max_paths_per_vertical_layer value. Or do we want to check between vertical layers and only add an interruption if they are in a distance higher than a threshold? The second solution seems a bit prone to mistakes because we would have to hardcode a threshold value. I am not sure what is the right solution

ioannaMitropoulou avatar Feb 05 '21 11:02 ioannaMitropoulou

Yea exactly, I think maybe one possible approach could be that we use the min_max_z_height to check if there is more than one VerticalLayer, and if there is only one VerticalLayer, there does not have to be an interruption added? Because I think the desired behaviour is that there is an interuption when there are multiple VerticalLayers at the same height, but no interuption when there is only one. What do you think?

joburger avatar Feb 05 '21 12:02 joburger