# How to merge intersection of an object with itself?

While trying to create this simple pattern,I encounter a problem and don't know how to solve it.

I want to use it to create a phone case and need to do Boolean operation on it. but because i created it with an array operator and because the cylinders are not correctly merged together, a Boolean either does unexpected result or refuse to execute. Here is a picture of what I am pretty sure is the problem, but eventhough I spent hours on different forums, i couldn't find anyone that had exactly this problem... How can I merge all the cylinders together ? i already removed doubles, recalculate normals, and a few other things.

• This doesn't really address your question, but since no one has responded, this may solve your problem. The Boolean modifier can actually be used to properly join (union) two meshes together. If you start with two rings, union them, duplicate, Boolean again, now you have four rings, properly joined. Then 8, 16, then you go in the Y direction: 32, 64, 128. It scales up very quickly. I was able to do exactly what you're after in about 5 minutes using this method. – bertmoog Jul 11 '17 at 16:31
• sorry, so you wish to do a phone case made of a sort of "network" made of thin "torus-like"object merged together with a boolean union, sort of? it's not that obvious to me... and do you wish to 3d print that or it is just a design you are developing? – m.ardito Jul 11 '17 at 23:30

Per the comments, a watertight mesh can be generated using Boolean operations as long as each of the tori in the model are watertight.

Steps:

1) Start with the mesh with all of the tori. This example was formed by adding a single torus, then using array modifier and applying the modifiers. If you look closely, all of the tori are in a single mesh, but not connected.

2) Add a cube that encloses the tori mesh.

3) Apply a Boolean modifier to the tori mesh. Change the solver to 'carve'. Click apply.

The resulting mesh is watertight and has clean meshes.

Blend file prior to applying the Boolean operation -

To make the tori a pattern on a solid backing, a union Boolean operation can be used to join these tori to the solid backing.

• I am trying this method on something similar (a bundle of mesh hair strands) and it does not seem to work. Is there some further requirement other than the mesh being manifold? It seems that it merges some of the self intersecting parts, but not others. – Ascalon Jul 12 '17 at 6:03
• Even if each hair strand is manifold, I think you can get problems from non-manifold geometry that happen when the meshes are considered together. See this discussion - blender.stackexchange.com/questions/40094/… Post your problem as a question with a blend file so the problem can be seen, then add a comment on this answer linking the question to this answer. – Ed Tate Jul 12 '17 at 13:47
• looks like the problem was an armature twisting a piece enough to make it non-manifold. Thanks! – Ascalon Jul 15 '17 at 5:31
• I still have some issues where some combinations of pieces cause the boolean to fail, or to delete a piece. Making even very slight movements of even a few vertices can fix it, but this is annoying as I want to use this on a simmed object to clean up intersections, but now and then some will disappear. (It seems more reliable than boolean modifier used to be though.) Any ideas how to solve this? I don't mind throwing more vertices or processing power at it, I just need it reliable. – Ascalon Jul 15 '17 at 7:48
• Sometimes shrink wrapping will give ok results. There are other combinations of simulation settings and modifiers that might solve it. It depends on the specifics of the geometry. – Ed Tate Jul 15 '17 at 12:32