Holes for mesh surfaces

Is a simple cylinder and then boolean modifier on the subdivision surface

Creates a cylinder that intersects with the surface.
Select the surface and then add a boolean modifier and assign the cylinder as object to be subtracted

Obviously without a conversion of everything in mesh, applying the modifiers you can do nothing or almost …

I used them only as examples of how a hypothetical mesh and surface container could work … that would allow operations such as extrusion and other that is allowed to the actual meshes …

a creased edge circle extruded would be perfect


I will play more with this…

I am grateful that you finally understood the devilry I have in mind :grin:


OK so I got this far:

Problem: 2,084 faces, only 2 holes.


1,367 faces and so many more holes… And this would require 49 Boolean Modifiers…

and this is why it is currently not feasible …
but this shows that the technology is already there,
Devs only need to create the right container and make meshes with subdivision surfaces work together.

1 Like

Right on mate!

So, back to my Bmesh “holed_face” then - only 1 face to get the same result, i.e. the complete front of my multi-holed disk…

I did this with it (moved the bool objects), faces count went up a bit… :rofl:

1 Like

How did you made that?
Is it legal?

1 Like

dont worry it’s just a fake, to give the idea …


Ok, will not call N.U.R.B.S. police this time…

1 Like

Blender doesn’t support holes in faces for one reason: resources. Ten years ago when the mesh system was rewritten there were exactly two of us working on it. At one point I actually did start coding support for holes in faces, but it seemed too ambitious so I dropped it.

I kind of regret that; I’ve since implemented holes in faces in other 3D modelling projects of mine and it wasn’t as bad as I thought. It’s a real problem for CAD modelling. In fact, for years I would tell people that Blender does not support CAD workflows, because it doesn’t support holes in faces. When I made the decision not to support them I knew it would make CAD workflows more difficult.

Sadly no one ever listened to me. I really hole someone fixes this, heh.


I am listening! Would it be feasible to have specific instance of a face, with Ngons allowed, but with a proviso that if you use a Sub-Surf Mod you will FUBAR the mesh? I am guessing that it is not a serious problem to make a face with holes, but is a problem if you want to be able to sculpt it, or use other fancy, more Blender “normal” trickery, but the point here his that we do not want this capability, just the capability to add a hole to a planar Tri, Quad, or Ngon face. I might add the caveat “for a start” to that sentence, but just some progress would be very good.

I have made a serious amount of progress with my PDT add-on to make life easier for CAD work, but I cannot do this as it has to be in the Blender core, not an add-on.

Cheers, Clock.


Thank you JosephEagar for all of your work getting BMesh into Blender. For those who don’t know, Joe is the reason we have ngons in Blender now rather than the 2.4 and early 2.5 era of only triangles and quads. This is not to discount the tremendous work that Campbell did in getting BMesh it over the finish line and into Blender, but it took Joe’s design and implementation to be there in order for that work to start. (I also had a small part in getting BMesh into Blender, by implementing some small undone things, before Campbell came on the project and did the lion’s share of the finishing work.)

I too regret that holes were not in that initial BMesh implementation in a finished form, but it is not clear that the energy to get BMesh into Blender would have been there if it required doing holes too.

I have said elsewhere, even in this thread I think, that my biggest fear in adding holes now is that the the hidden assumptions in many Blender algorithms that there are no holes might be very hard to uncover and may take years to find and fix. But Joe’s statement that “it wasn’t as bad as I thought” gives me hope that maybe it wouldn’t be as bad as I think to add them now. I think a prerequisite, though, might be having much better coverage with unit tests of the basic BMesh core and modeling operations built on top of it. Maybe this can be a project for me in the future.


Thanks guys for your great job.
Now that the subdivision surfaces are working great again, it would be fun and interesting to “adapt” them to create hybrid objects between mesh and FAKE-BREP (with the use of subsivision surfaces with creased edges) would make blender one of the funniest platforms ever even for precision modeling. …
and yes … to get this to the maximum, we need to be able to easily create these famous holes :hole:

1 Like

while the holes will be easily created one day in blender, I wanted to report this good boy who is doing a great job in teaching the @clockmender 's PDT addon, in this specific tutorial he shows how to manage for the moment to create precision holes on meshes , (take a look at the channel, there are a lot of interesting tutorials on precision modeling)

1 Like

It’s a real problem for CAD modelling.

Except it is not.

Blender is a software for media production (c) Ton.
Media production modeling can be divided into 3 main branches:

  • Organic (characters or decor)
  • Hardsurface (cars, vehicles)
  • Linear CAD (buildings)

Sometimes they are mixing, for example modeling engine is CAD+Hardsurface and modeling environment is CAD+Organic

In short, you have to be able to make comfortably any character, any car and any building to get basic media modeling satisfied.
CAD workflows in mesh modeling paradigm arent related to the ability making holes, it is related to precision actions, refrenced snapping actions, restriction manipulations, the ability to control arcs and their centers, working with geometry intersections and so one.

The main problem with holes is that in mesh-based paradigm you cannot export them in any widespread mesh format, since holes in faces are not supported in mesh-based paradigm in general.
Sketchup and maya already faced that.

For those who don’t know, Joe is the reason we have ngons in Blender

I was actually curious about that, Blender’s ngons realization is actually one of the best in my opinion.
Thank you so much for them!

By the way, can you tell who brought limited dissolve techniques? A very powerful approach that utilize ngons and that was brought right after them.

I believe Campbell did the limited dissolve function.

1 Like

Yeah, Campbell did a lot of stuff. AFAIK he was the most committing person in 2015’s.
Also, as far as I remember, he was participating built-in 3dprinting tools, so for a long time we thought that he is a CAD/manufacturing guy in Blenderfund domain)
I like the fact that Blender didnt stopped at ngons implementation and made some additional exploration in form of a dissolving techniques that fits within the mesh modeling paradigm.
It was very inspiring.