How to Boolean Union a shape with a lattice of shapes

I have created a lattice of hexagons and grouped them to make a kind of texture. The individual shapes are touching but not overlapping.
I want to create a larger hexagon with this texture, but Boolean Union does not do what I had hoped:
Result of Boolean Union:

I think I can do it with lots of snipping of vectors but I had hoped not to have to do this.

Is this what you’re trying to end up with?
How will you cut this? What does the end product look like?


No, the other way round - a hexagon shaped panel with a hexagon patter on it;

I think the problem is related to the hexagon lattice being multiple vectors. I am thinking that I need to find a way to join them all together. I am thinking you must have joined them in order to produce what you did. If so, that may be the key - what did you do?

I just manually trimmed them. My smaller hexes are just open lines, not closed vectors.
You can’t join them all together, since they don’t form a single closed shape.
If you want to use boolean operations, you would have to do a bunch of them, and select them in pairs.
Again, it really depends on how you plan to cut this. Contour cut along each vector? pocket cut each hex? V-carve?
I think your best bet is to select everything, then use the Trim function to trim the lines that cross the larger hex. Then delete the lines that are completely outside the larger hex.



My hex lattice is lots of little hexagons (closed vectors) in an array with 0 distance between.

So sounds like a “manual” trim then. I can do that, but had hoped to not have to.

At the moment I am just playing around - I have no design finalised. What I am thinking of is a hex catch all tray with hex bottom pattern.

Thanks for your thoughts, Tod.

What I would do is make sure my small hexagons are sized so they fit exactly within my large hexagon. You might get away with it and not have to trim anything.

1 Like

This is a little quicker. Make 6 more large hexes, and place them around the center hex.
Or just a shape like on the left that is outside your center hex.

Select the group of small hexes, THEN one of the larger hexes (or the big shape on the left),
And use Boolean subtract.


Be careful to keep the group of small hexes selected after each subtract, and just add (Shift-Click) the new larger vector to subtract. They will become ungrouped after the first subtract

1 Like

If you set the size so an odd number of small hexes fit along one side of the larger hex, then yes you would have no trimming or booleans.


You will need to duplicate the geometry which defines the region once for each object which crosses it:

which is 22 objects:

Select the border geometry and copy it, then move the cursor out of the drawing area and past it in place 21 times (22 if you still want to have the original geometry):

Select one instance of the border geometry and one instance of the background geometry:

and choose Boolean Intersection:

Repeat for each other instance of crossing geometry and manually select and delete all hexagons outside of the border geometry area until one arrives at:


hexagon of hexagons.c2d (163.5 KB)

1 Like

Man, you guys work to hard. :grin:

There is always a way!

There is a such a huge amount of knowledge distributed amongst this Community.

The considerable changes introduced as part of Version 6 have really enhanced the product. I can’t wait to hear what is planned for Version 7!

No such thing, but telling folks:

  • export to an SVG
  • open in a 3rd party vector drawing program such as Inkscape or Macromedia FreeHand
  • do the intersection there
  • save as an SVG

Isn’t really viable.

It would be really handy if Carbide Create could recognize shapes like those individual hexagons as closed as long as all the vectors ended at each corner within a small tolerance. I don’t believe SVG will let you have three joined vectors at an intersection, if it does it would be even easier. I’ve had the same problem with my simulated chip carving, usually end up making layers of closed shapes that line up, but that’s a pain.

Maybe the Boolean Union could have a tolerance parameter. The default value is zero but it could be set to a low value such as 0.01 for a given operation which would have the effect of detecting “touching” edges as “overlapping”.

I was trying to draw a v-bit and had this issue - there was an earlier post with the workaround which was to add a small object spanning the two touching objects.

Actually that wouldn’t help in my instance here as I don’t want one big vector - I want the hex grid pattern.