Union Advice

I’m currently working on an ouroburos, and I’m so close to finishing. My only problem is that I can’t seem to union the mouth and tail together.

The head was an stl turned mesh I simplified and converted to NURBS, whereas the tail originated in Rhino. I don’t think you can see it, but the bottom of the body is cut off so it has a flat belly.

Boolean Union (and all Booleans) refuses to work. I’ve tried extruding the flat belly to different lengths, to no avail. When booleaning fails me, usually I just roll up my sleeves and do some trimming and joining. But the trimming isn’t working either. I can get an object intersection curve, but that’s not trimming the tail or head either. I even tried converting everything to mesh and running a mesh-boolean union, but that’s not working either. I’d like to avoid having to remake the head from scratch, can anyone think of any other work-arounds?

I should mention that this is tiny, the body is about 2.5mm wide. Would scaling it up help? I must admit, I haven’t fully grasped an understanding of tolerances…right now I’m at .001… would it help if I increased or decreased that value?

Thanks in Advance,


Hi Jason, Have you tried looking for open or manifold edges? You can use the “showEdges” command to see if anything lights up. Fixing those might help to get the boolean operation to work

Hi Jason - run Intersect on the objects and inspect the resulting curves - could you split/trim the objects with the curves? Most likely there are gaps.


Thanks for your input guys. @Anne: I should have mentioned that they are solid objects…although I can’t get a volume for the head (too complex), I had checked for any naked or non-manifold edges.

@Pascal: That’s what I meant by my “object intersect curve.” It will trim the roof of the snake’s mouth and the teeth part inside the tail, but if I try to trim the tail by the mouth, it removes the entire tail, and nothing happens if I try to trim the skin by the left tooth (it does work for the right tooth though).

in those cases with that amount of surfaces, I normally explode or extract the surfaces I want to split and then split each one separately, is tedious and slow but it works.
Having the intersection curve I 'd recommend using the _Pull command and also the _ExtendCrvonSrf when the split fails.