Boolean subtract changes layer color

Hi
I have a problem with boolean subtract. when I subtract one object form another sometimes works as intended (object is cut and layer underneath is unchanged “layer properties and colour”

But sometimes it will change layer color and its properties.
The first example is correct behavior the second one is not.

Please have a look in to this short clip.

Thanks

I’m the only one with this strange issue?

I have made another video that is probably explaining issue better.

Thansk

1 Like

Show the details of that purple layer. My first guess is that it’s one of the internal multi layers causing that issue.

Basically, boolean operations do work differently based on the shapes they are applied to. So, is there any shape of the purple layer overlapping with the text shape?

In this case, (if the purple layer is a solid-filled shape), the way you usually do it is to assign the same layer to the text. Then this shape is excluded from the fill. No need for a boolean operation. Try this first.

That did work. Thanks

I still wish ther would be a option to punch thrue all the layers at onece with.
This is bit slow if i have 15 layers to go individualy one by one.

And yes this purple is a solid leyer.
So something is not right look at the first video

And your method only works if the text is hiden under entire shape.
In the first example is not.

Hopfuly Dev will respond and explain this bahavior

Thanks

Hi This is another short clip from the issue that I’m facing

It’s strange it looks like is happening most often on the text

Thanks for looking in to this

Yes, it looks like a bug. At least, I can’t see why it should behave like this. Maybe @LightBurn or @JohnJohn can take a look at the last video you posted and clear things up. Perhaps it’s even intentional?

1 Like

When using the boolean operations, the resulting shape from any operation is assigned to the layer that has the most number of shapes on it. In other words, if you were to combine two shapes on the red layer with one shape on the black layer, the result would be red. That’s why when you’re working with text, the result is most often going to end up on the text’s layer - most text is made up of multiple shapes. If there are an equal number of shapes on each layer, the resulting layer is based on its order in an internal list LightBurn keeps. That may appear a bit random.

The issue with undo not returning the layer order correctly is something our developers are aware of, and looking into. There are some “under the hood” reasons why fixing it is a little complicated.

2 Likes

This explains a lot but it’s so counterintuitive it almost feels strange, I could understand this under weld operation, but on the substract when one item is a “tool” and it’s removed after finished operation it should not pass its properties to the layer that is kept. In the end of a day if one object have many shapes and we use another one with multiple shapes it’s almost a guessing game if it will extract properties from a “tool”.

Is this something that will be addressed in the future updates ?

For the undo is just a small thing would be nice if it would be fixed but not a deal breaker.

Thanks :+1:

Ok I’m lost

I have done some test with two objects and the results don’t make any sense in my opinion

please have a look on this one

Order of selection has no influence over the layer that the resulting shape ends up on. In other words, color isn’t decided based on whether you’ve subtracted A from B or B from A, it’s based on the shape’s priority in an internal list. Often that is the shape with the lower-numbered layer (which is why both shapes ended up 00/black).

No changes to the way this works are currently planned, but, if you submit a feature request on our request site, and there is enough user interest, our developers will definitely take a look at it.

This is probably not as simple as you think. If I subtract the green rectangle from the 3 circles, which layers should the resulting shapes be on?

image

I get what you are saying, but the OP is showing filled shapes, and wondering why the color changes.

In a similar scenario to yours, If I fill two circular shapes with different colors (red and blue) and then use a green filled rectangle to subtract, it changes the red filled circular shape to blue.

LB doesn’t work like other graphic programs that have shape builder tools, but I do agree with @JimNM , whose previous message was deleted. It isn’t that difficult to move the shapes to the layer you need.
2024-03-28_16-51-21

The biggest problem is that we’re using a library for the boolean tools that only takes “shapes” and doesn’t record or return any additional properties, like which layer things were on.

In your example, yes, the shapes make consistent results, but on mine they don’t, and I have to handle all cases, not just the easy ones.

The only way to make this actually work the way the OP wants would be to add a lot of code to go through the shapes in the source and decide if they’re already built in such a way that a subtraction wouldn’t result in ambiguity, and the code to do that isn’t simple unfortunately.

If you want to be sure your shapes will end up on a specifc layer, just put them on that layer to start with.

2 Likes