Object's position make Boolean-modifier fail to create/punch a hole thought a face (where it should)

Hello Folks,

I am having a problem with the Boolean-modifier (difference operation). When an edge on the object I am using to cut, coincides with a face and an edge of the target object, the Boolean-mod fails to cut through all the way, not punching a hole on a face where a hole should have resulted from the operation. See the following images for illustration.

In the image below, you can see two objects. A boxy cuboid object (like a cube that has been scaled-down a bit on the z-axis), and a cylindrical object that goes through the cuboid. Notice how one of the cylinder’s edges (purple arrow) intercepts (is co-planar with) the top face of the cuboid. Also, that same edge intercepts the cuboid’s top-front-edge (blue arrow).

After applying the Boolean, a cylindrical hole is cut through the cuboid, as seen in the image below, in a wireframe view still in object-mode.

Switching to Edit-Mode (Face-Select option), you can see in the image below that while the cylindrical cut was made through the cuboid’s body, a cut wasn’t made through the cuboid’s front face. I was expecting a hole punched through the cuboid’s front (and back) face(s). However as you can see, the whole front face can be selected still in one piece (undisturbed).

For a test, I wanted to use the same Boolean modifier (difference operation) on the cuboid’s right side. However, this time I positioned the cylinder a bit lower, such that none of the cylinder’s edges intercepted any part of the cuboid, except for the cuboid’s front and back faces. See the image below.

After applying the Boolean, you can immediately see (in the image below) a hole cut/punched thought the cuboid’s front face.

Going into Edit-Mode (wireframe view) shows (see the image below) both cylindrical cuts. The one on the left done by the first Boolean operation, and the one on the right (selected/highlighted) done by the second Boolean operation. The only difference was the positioning of the cylinder. In the first case, one of the cylinder’s edges intercepted the top face of the cuboid, and that same edge intercepted the cuboid’s top-front-edge. In the second case, none of the cylinder’s edges intercepted any part of the cuboid, except for the cuboid’s front and back faces.
Notice how only on the second case (right side cylindrical cut, selected/highlighted), edges (yellow arrows) were automatically created, connecting vertices on the cuboid’s corners with edges on the cylindrical cut, effectively re-allocating the cuboid’s front and back faces’ area, thus allowing for a hole on these faces.

The cuboid’s front face is no longer in one piece (undisturbed). Instead, its area has been divided/re-allocated to allow for holes in the cuboid’s front/back faces. As a result the cuboid’s front/back faces can no longer be selected whole in one click. As seen in the image below, the bottom portion of the cuboid’s front face has been selected to illustrate the point.

PROBLEM:
I need to create a cylindrical cut through the cuboid, exactly where the cut was located during the first Boolean attempt (left-side), with one of the cylinder’s edges intercepting (being co-planar with) the top face of the cuboid, and that same edge intercepting the cuboid’s top-front-edge.

QUESTIONS:

  1. Why is it that the first Boolean attempt does not create/punch a hole thought the cuboid’s front and back faces, when one of the cylinder’s edges is intercepting (co-planar with) the top face of the cuboid, and that same edge intercepts the cuboid’s top-front-edge?
  2. How can I create such a cylindrical cut through the cuboid?

Thank you for your help.

That was a quite extensive question, and well-illustrated, kudos for that.

While I can’t specifically answer your question, I can say that: as a general principle Booleans do not work well when edges are coincident and/or tangent. It’s just a problematical thing. You might consider an alternative approach to modeling your object.

Thank you!
What you are showing in the image you submitted is exactly what I would like to accomplish.
May I ask how did you do it?

Just offset the left cylinder very slightly downwards: do not make it tangent to the top edge.

You could always move the top arbitrarily close to the hole after Applying the Boolean Modifier.

Thanks again. Much appreciated.