Modelling a cylinder with cylindric holes in it


I’m trying to create a cylinder with cylindric holes in it.
Something like the geometry in the attachment.

I started creating it using simple boolean operations, but it is getting slower for each cylinder and doing it for each cylindric hole is quite cumbersome.
If I join all small cylinders into one object and try to substract it, Blender keeps working forever (or hangs?).

Is there an easier way to do something like this?


Booleans usually give horrible meshes but if you want to use it, you only need to make one hole with your boolean. Then copy that prt of the mesh and move it obove your original hole, repeat until you have all the holes you want. You could also do all this with a combination of a boolean modifier and an array modifier.

Yes, I had already considered the copy method. But what if one wants to create irregularly placed holes? (ex: an object pierced by bullets in multiple directions, “swiss cheese”, complementary structure of an array of balls (this one I might actually need to do))

The array modifier sounds very interesting. I’ll try it out. Thanks.

If your cylinder is made up of x edges you then have x number of directions you could have the hole by simply rotating the copied section.

Here’s a thought:

  • Define your cylinder once.
  • Place a vertex in the center and then extrude as many times as necessary to place a vertex anywhere in the cylinder where you need a hole.
  • DupliVert the cylinder to the object containing the vertices.
  • Apply a Boolean modifier to the cylinder.
  • Make everything Real.

Dunno if it would actually work, but … :smiley:

Could you make a plane with the holes where you want them and then use a Curve modifier to wrap them? Then Solidify if it needs thickness? Haven’t actually tried this, but I need to do something like this in the future.

Whenever I need to do this, I generally use the shrinkwrap modifier and then manually fix things up. e.g.

  1. Add cylinder that will receive the holes.
  2. Add a separate circle object.
  3. Position the circle object in front of the cylinder where you want the hole.
  4. Add a shrinkwrap modifier
  5. Apply shrinkwrap modifier to make it real
  6. Join the circle object and cylinder object into one mesh
  7. Manually connect the vertices and faces etc.

Benefits: unlike booleans you don’t end up with a messy mesh.
Problems: Getting the vertices of the circle object to align with the edges of the cylinder object after applying the shrinkwrap modifier requires some trial and error as well as some fiddling with vertices afterwards. But you only have to do it once and then you can just duplicate it and rotate it as needed.

I can post some screenshots if the above instructions weren’t clear.

Interesting method all. Here is quick and dirty holes. Just loop cut cylinder so that each faces is in the form of square. Erase a few square. And, apply Subsurf Modifier. Rectangular holes will turn circular. Larger hole can be made by erasing 4 squares. But some of the vertex need to be moved to make it circular.