Boolean union problem

I have a problem with Boolean union operation:

  • 4 rectangle positioned pipes:

    Single Boolean union just like 3xBoolean union of 3 pairs make:
  • union of 3 full pipes with internal walls and 1 cylinder without internal wall,
  • or union of 2 full pipes with internal walls and 2 cylinder without internal wall.
    Boolean union.3dm (1.1 MB)

recolored your file

and moved the inner volumes / internals to another layer (dark blue):

I don t see the difference - what I am missing ?
Both outer polysurfaces:

  • are closed
  • have same Volume _volumne
  • have same Surface-Area _area

what Do you expect ?

kind regards -tom

I would like to create single body constructed of 4 pipes (corresponding to the input geometry), not 2 pipes and 2 cylidners (as a single part) + 2 inner volume cylinders.

I need 1 body solid geometry simmilar to welded structure (without welding geometry) for Finite Element Method simulation.
Should I use a different function?

The underlaying concept in Rhino regarding “Solids” is called Brep.
See links below for detailed infos.
Basically Zero-Thickness Surfaces (Skin) are dividing the world into a Volume for the Object (Solid) and the remaining Air.

As fare as I know, it is not possible to have an interior, isolated volume - there has to be connecting surface / for example a small hole.

the left cylinders can t be joined to one body / solid.
the right object with connection is a single closed Polysurface.

You can try NonManifoldMerge on your objects, which should do what you want. I don’t know how useful it will be for further work in Rhino though.

NMMerge.3dm (2.8 MB)

1 Like

First method is allmost perfect (small discontinuity of pipe wall):

File exported to .stp format is still visible as single body but NonManifoldMerge is exploded to trimed multisufrace model (no Brep).

This is very old CAD problem. Many real life objects have voids, but classical BReps cannot cope with such objects. To the best of my knowledge, solid modelers can make objects with voids.

Hi Karol,

A couple of refinements you could consider:
a) The hole can be microscopically small: draw a line where you want it and use _Pipe with a radius of 0.001 to make a solid which you can difference from the tube. A hole this small won’t show up in renders.
b) Instead of putting the holes in the vertical tubes, put them in the horizontal ones, in the middle of the joints, where they will be hidden:

(Or, if these are, say, welded pipes and any hole offends, then consider whether they need to be unioned at all - grouping them instead represents the physical reality of the construction.)


1 Like


If you use this microscopic-hole-approach - I would recommend a position for that small hole, that does not conflict with the overall drawing / geometry regarding point-snap. This might be a unexpected / hidden source of errors.

Also consider that this small hole will still influence the meshing of your object.
This might increase file size, render time if you have really many of those objects.
Or you might get artefacts if you use very rough render settings.

kind regards -tom