Need boolean expert for a dense geometry model

I’m posting this thread as a bottled thrown into the sea : HELP, PLEASE :wink:

I’m currently working in a complex geometric hard-surface model of approx 1 million faces. The the sake of my mental health I had to model the object procedurally in two separate parts: the top and the bottom.
I now have to join them into one object and the only way i can think of is the use of booleans. But guess what it won’t work…I’ve spent DAYS on this, trying to find a solution on forums, wikis, tuts etc…nothing seems to solve the problem.
I have checked everything I think : no non-manifold, normals are OK, scale is big enough…
I’ve tried the boolean modifier, the BoolTool addon, even experimented the Intersect addon…
I also tried exporting the geometry as .obj and give a try with C4D…
Nope, it doesn’t work

I’m quite desperate now, so if anybody has any hint to give me, i’d be very glad.

I could share the blend file, but it is about 200Mb (of pure geometry) and don’t know how to give you access to it since pasteall has a 30Mb limit. Send private message and I can give you a wetransfer link.

Thx in advance for any feedback I could get

but what is the problem ?
can you at least show some pics

but if it is that big it might take a long + long time in blender to do a Boolean !

happy bl

Now what, say, you manage to boolean (ikes) it into one 2 mil vert compound. Are you gonna unwrap it? vertex paint? animate?
Retopologise both and work from there seems like only logical thing to do. Yes, there will be problems with normalmapping from high poly, but that’s the price.

Can you separate small part from the border verts to be joined and save as a separate blend for us to to see? Maybe bridge or grid fill can help to join both?

Edit: does boolean throw some errors or it’s just taking it’s time (which can be quite a long actually)?

The problem is “cannot execute boolean operation”,which is quite annoying.
Calculation time is not the problem, I can be very patient:eyebrowlift:

Here are screen shots of the geometry :

This first image shows the two parts I want to assemble. For the sake of demonstration, I have separated them in the screenshot.

This second image is a close up of the structure in top view:

This third shows the same detail with a perspective (ortho) :

Here is the wetransfer link to it : blend file 200Mb

Thx ricky and eppo, you guys are furiously fast;)

The final model is not supposed to be animated and will stay undeformed.There’s no way i can retopologize it, the model is allready optimised to have as few vertices as possible, but the structure is very complex.
No weight painting/unwarping needed either. I just need to join them.

here is what i managed to achieve on a small portion :

I want this on the whle mesh so that I can subsurf it like this later :

show a small sample step by step
you want to do what
join the top part with the bottom ?
do top part plus subsurf then join
and how do you join could use Boolean or grid fill or bridge !

do you have one giant mesh like that or several parts ?

how did you do the top part ?
using array hexagons !

if you got mega verts that may take a very long time for Boolean

happy bl

I want to join top and bottom parts (first image in Post #4)
Subsurf is not the problem for the moment, It will be applied once the meshes are united.

“and how do you join could use Boolean or grid fill or bridge !”
I’ve tried to join them in one object (Ctrl+J) but this is not a solid mesh (loose parts). Bridging did not work, blender does not know which loops to unite and I can’t do this by hand on a “giant mesh” like this

If you can examine the .blend file, here is an explanation:
On layer one : “top” and “bottom” are the two meshes I want to bool in union (ideally)
On layer two : “Top booleaned” is the only result I could get with the bool tool, everything else ended in a “cannot execute…”, but it is not what I want. Boolean operation produced a substract instead of a union.
layer 3 : “aim” is small portion on which I managed to obtain the result I want, but it is only on a small part…

you say it is already in separate parts how many dual parts do you have ?
then you need to deal with 2 parts at a time !

can you show pic on how you want to join the 2 parts

got link for small sample file ?

happy bl

Not sure to undestand your question.

Top mesh and bottom mesh are two objects I want to unite.
In the end it should look like this :

One giant disk with complex intersections.

I can’t give you a smaller sample file. The file contains nothing more that the geometry (no image, texture or whatsoever). I would have to break the geometry or cut it into pieces whiich would change the inputs of the problem.

but you start from what objects

you said you had many parts so how many part do you have ?

you seems to start with hexagons but end up with holes!
did u apply the subsurf modifier to get clean mesh
remove doubles and inside faces if any

happy bl

did a quick test with some circles inside a square - array

and it is easy to do a bridge between top and bottom part
not certain if you can do same thing

happy bl

I cannot show you the whole process that took me to these meshes, I would take ages (it took me ages ;-))!
I have now just two parts (top and bottom). To simplify the process, for the bottom part it is radial growth of hexagons (with eptas and penta) in 2D and then an extrusion of the surface thus created to get a 3D disk. The hexagons thus become “holes” or “wells” more likely.
The top part is also made of extruded hexagons but their individual origins are located on the edges of the hexagons of the bottom part (you got me? I’m not sure to understand myself :wink: ).
The two parts are individual meshes which have not been subdivided (no subsurf applied or even used in the process). The two object are clean : no doubles, no inside faces, no inconsistent normals…I really don’t understand what could be a problem for the boolean operation, except from the complexity of the geometry itself…

Yes that would be too easy :slight_smile: !!!
Have you managed to see the blend file?

Thx so much for your interest. I’ll be off for a few hours from now. I’ll be back ASAP to see if there is any progress from the community.

to bridge the 2 ob I did not use Boolean only the bridge tool!

why do u insist in using Boolean to do that ?
or are we missing some info here ?


I think that the problem here is that it is very hard to figure out what your goal is.

Could you should an example of “before” and “after” with just one hexagon (or 10 or something like that)?

My hat off for this tremendous work to get both things aligned… If only there was some radial symmetry path short enough to create and then array, but it seems unrealistic. Any fine formulas behind this creation?
In case boolean works - are you sure subsurf wont bring in too much distortion?
Have you checked both disks on non-manifoldness? Maybe that’s the reason boolean fails.
So far i haven’t dloaded file - it will take a while and quite honestly i feel my 2 cores and limited RAM does look a bit short for this to experiment with.
Really out of ideas atm.

Edit: on a limited scale and in a straight line organized it looks like doable…

I did. There were no non-manifold mesh errors, no double geometry, normals were pointing the right direction and object transforms were as they should.

But yea, my old computer doesn’t have enough memory to handle the boolean. Can open and work with it just fine but once the boolean is added, memory usage jumps too much. Last boolean problem I encountered was because the meshes didn’t intersect enough for boolean union to work. There could be some of that here but I can’t test it.

Thx eppo, ricky and JA12, I really appreciate your help.

The whole point of the work resides on the ability to join these meshes.
Boolean operation is not the aim, but the only way I can think of to do this

I’ve been working on this so long time that I understand that a little more explanation on the structure is need.

As you can see the model is made of two “disc” volumes made of hexagons propagated in a radial way. This is mathematically impossible (it would give us a honeycomb structure which is not correct) and needs distorted units (eptas and pentas). Thus an array modifier is not possible here.
I made here a “crop” in the structure, zooming on the simplest structure units:
The top disc is in orange, the bottom one in blue. These are two individual meshes (suffered a lot to reach this point :p). As you can see, the hexas are not on top of each other (no way to make a bridge here) but are intersecting each other.

On a small structure like this, the boolean works fine and gives me exactly what I need. Here is a snap of the two meshes “booleaned” in union : look how the intersections have been operated.

BTW, I’m fine with Ngons and even with tris if needed. No animation is expected further.

What I need is a clean final mesh with no non manifold. At this geometrical level, it works just fine:

The problem is that I can’t make it work on the whole object.

Here is a link to the blend file used above. Once again, the boolean operation is not necessarily the solution, it’s just the only one I can think of at the moment. If anyone has an idea, that would be…well, I might cry.:o

Did not read all news (yet).
There were 5 non manifold-something. Then, equally sized objects are probably not the best idea to boolean, so i increased bottom part’s diameter a bit.
Resulting file 43Mb, memory taken 3Gb with subsurf lvl 1.

Edit: Should i drop file somewhere or you try some more? Guess i applied scale to both in the end; dunno if it was or was not applied - reflexes ;).