Removing individual overlapping vectors?

Is there a way to remove overlapping vectors in the design yet? I’m playing with entering pixel art here and getting it to sync with the grid. I do Trace, but it will detect one shade transition not the other. I do a second with the Threshold slider moved over and it finds the other transition, made sure the nodes snap to the 1mm grid and superimposed them (on the right), but many vectors overlap and if it fires the vectors twice in some places it will not look right.

I see that the Optimize setting SHOULD remove them, if they’re exactly overlapping, but it seems dicey to skip this in the CAD stage and punt over to the print step alone.

The Delete Duplicates only applies to whole shapes. Even if you Ungroup everything, Node Edit doesn’t have a Duplicate Node select or delete. So, it’s looking like a very manual process here.

I see there is some history behind this request. Any updates?

It’s hard to tell from just looking at the picture but are you able to union the overlapped components to flatten them to a single set of lines?

The two Trace outputs are different objects. The object isn’t a “Group” of vectors so I can’t Ungroup, only Node Edit (which can work, just very manual). I can Group them, but that doesn’t change things.

Selecting the superimposed, snapped-to-1mm-grid on the right, Convert to Path and all Boolean ops are greyed out.

So, stepping back to see if I understand LB’s methods-

It’s two superimposed Objects, not a Group of Objects.
Trace creates an Object made of Nodes. It might be called “Closed” because no vector ends hanging in a vertice that doesn’t continue on with another vector, but it’s not what I call a “Simple Closed Path”, because it is full of intersections.
At this point, only Node editor can be used to change things. No other tool is going to work on individual vectors within either of these Objects.
If we Group these two superimposed Objects, they still are two Objects made of Nodes. They don’t fuse at the Node level into one Object.

Whether or not you try to use Group, you CAN select both use Node Edit and try to delete duplicates one by one. They’re very hard to see and it’s unclear which Object is going to have its lines deleted.
It would be much more predictable to superimpose them like this and just select ONE Object for Node Editing so you know which one is getting its lines deleted as duplicates.

Is there any way to break an Object, which is made of nodes, into nodes becoming individual Objects that can be manipulated outside of Node Edit?

Boolean operations will work on specifically 2 objects at a time.

Each “object” of the pair can itself be made up of a group of smaller objects. However, the important part is that whatever you are trying to apply the operation to must be in one of the 2 pairs of super objects.

Try this:

  1. Take trace output 1, group all components
  2. Take trace output 2, group all components
    3, select both components and align them on top of each other perfectly
  3. Tools->Boolean Union

Again, it was hard to tell from just the screenshot if the conditions were correct for this to work predictably but there’s a chance.

Upload .lbrn file here for a closer inspection.

Here ya go

toppng.com-mario-red-mushroom-toad-mario-pixel-art-1200x1200.lbrn2 (64.3 KB)

Hmm, I tried to superimpose the two Trace Objects again, and I CAN get Boolean Union to work! I think it’s removing the duplicates!

It looks like Boolean Union already is kind of wonky if the shape is Closed but not Simple. Well, I’m not even sure what to expect as a logical outcome. But this does seem to do what I want.

I started looking at your file and realized I don’t really know what you expect this to look like.

One thing I can see causing some issue potentially is that these Boolean operations only work with closed path shapes. The expected outcome is that all positive portions of each respective shape should remain in the final output for a union. The different booleans work in a similar way in accordance to the operation.

I ultimately need three design elements-

  1. the original raster for shading
  2. a simple closed shape for the outline to cut out. In some designs there may also be an interior hole.
  3. a set of vectors along the boundary where the pixel shade changes. Comes from Trace Bitmap, but has to be multiple Trace operations because no one Threshold setting will detect all transitions. Will be run at high speed/low power to just mark the surface. Ultimately it will not be a closed path and has many intersections, so it’s just vectors. But this should not have overlaps that burn twice, and excludes the outline of the exterior, which is going to be cut.

The Optimizer is actually supposed to be able to skip overlapping vectors so they don’t burn twice, but that only comes up when it actually runs the job. I don’t think it’s the best practice to punt to the CAM stage to try to auto-resolve that, the design should just be made without overlaps to begin with.

I did not expect Boolean Union to fix this, but it does in fact seem to do so. Then we still need to copy the Union into two Objects, break into Node Edit on one and delete the part outline vectors so it’s all interior score lines outlining the color changes, and then Node Edit the other so there’s no interior vectors just part outline that we cut out. Both seem to be manual steps and that’s not something that can be automated,

If I’m remembering correctly trace operations will always result in closed path shapes even if it doesn’t look that way.

I think you’re right in this regard. There’s no “remove the overlapping lines of these shapes”. This would be semantically difficult and would require decisions to be made about the design in terms of how the shapes should be broken up. Would be fine if all your cared about was where lines were situated and didn’t care about retaining shapes.

I don’t have as much problem with having this removed at burn time when it comes to removing overlapping lines of adjacent shapes. To me this is ideal since you could retain the integrity of the shapes for design while not overburning at execution time.

Imagine a scenario where you had lot of repeated shapes like for business cards. You wouldn’t really want to hard-code a 3-sided shape in design time to do this. Better to keep it as a proper 4-sided shape for flexibility but also not double-burn overlapping lines.

Well, the code to detect and remove overlaps is already written- I just think it belongs in the CAD stage more than CAM.

I tried again with a Mario turtle and had “Boolean Union” remove interior features, but I just tried “Boolean Intersection” and it actually did what I needed, remove overlaps.

The “will just have to be a manual step” part is taking the whole vector array of all borders where pixel color changes and manually separate the internal score lines to emphasize the pixel shade change (but not the pixel edges within a shade) and the vectors that compose the outline that we’ll cut.

Ultimately this, working from top to bottom:
mario_turtle.lbrn2 (85.9 KB)

It’s a different problem set at execution time since you can ignore design considerations at that point. You only need to worry about the final render and can discard a bunch of information.

This must be something unique to the situation. The intersection should in fact leave you with parts of the 2 objects that are common. So the reverse of removing overlaps. There is another operation that LightBurn doesn’t have called an Exclusion that would remove overlapped portions leaving parts that are not overlapped.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.