Help me cut holes in this cylinder with good topology!?

Trying to cut some holes in this with good topology, but it’s not happening, I used booleans. Smooth shading has some artifacts, I can’t select edge loops, subdivision looks like crap. Obviously the image below looks ok because I used a lot of sides on my cylinders, but it’s not perfect, and I’m going for perfect here.


“A lot of sides” is the way to go. Additional edges on the cylinder will help support its’ shape, which the holes will try to break.

Yeah, that seems to help a good bit.

I just tried the knife project tool, that works well. You have to delete or add edges to the extra vertices it makes, but after that you can actually select loops and subdivide it and the normal’s are smooth with no artifacts. Considering you have to subdivide it with this to make the cutout smooth, there’s really not much difference just using a higher poly cylinder to begin with aside from the normals looking a tad better if you look really close.

Anyways, I just wish the knife project tool had an option for “only intercept edges” so that it wouldn’t try to add a bunch of extra vertices that you may not want.

Make a cylinder with a lot of sides, loop-cut along the length to make a grid of square faces, enable the looptools addon in the preferences window, use its ‘circle’ tool to create perfect circles, and delete the faces within the circles.

It should give you vastly superior results compared to manual cutting.

Make a cylinder with a lot of sides, loop-cut along the length to make a grid of square faces, enable the looptools addon in the preferences window, use its ‘circle’ tool to create perfect circles, and delete the faces within the circles.

It should give you vastly superior results compared to manual cutting.

I second this option. It’s used to great effect in Kent Trammell’s course on creating a sci fi helmet on Blender Cookie and it seems to be a great workflow for keeping topology clean.

You can also make a flat surface with circle inside and bend it 360 degrees. + some arrays makes wonders.