Blog

Punching Holes in Things

By Paul Buerk posted on September 4th, 2008

Booleans Suck!

Actually, they don’t suck that bad, at least in the right hands. The problem I have when I use them is that they do weird things, and it doesn’t really seem to matter what program I’m using them in. Sometimes they work great, but other times they leave all kinds of nasty things to fix. Usually it’s duplicated and/or orphaned verts, as well as duplicated lines that need to be merged. That kind of stuff.

I had a recent project where I had to cut some slits in a disc that I was modeling, and it got real ugly using Booleans. I even tried stenciling (projecting the curves) on the surface, which helped, but I still had all kinds of things to clean up afterwards. It occurred to me after the project was done that I could have gone about it in a more simplified way if I had planned things out a little bit beforehand. The easy way would have been to cut holes in the surface by beveling a central vertex in the polygon, which is about as “old school” as you can get in poly modeling. And if I duplicated and slid some edges on that polygon, it would make it really easy to cut some slits.

Example: Cutting a Ring out of a Circle

This is our victim

This is our victim

First, we’ll need a circle, and to start with we’ll create a flat cylinder with no depth. It’ll get depth later when we thicken it up, but for now it’s easier to work with it as a flat surface. A few clicks and we have our victim:

The circle is arbitrary. You can apply the same method to other shapes, or individual polygons within a shape. The circle was chosen just because I had to do this to a circle in a recent project, and I’m too lazy to do another shape.

After using the "Spikey" tool

After using the Spikey tool

Next, we have to put a vertex in the middle of the polygon, and we’ll need lines to radiate out from that vertex so that the hole maintains it’s shape. Dan Ablan covers this topic nicely in the modo 301/302 book (which, incidently you can buy from Iris Professional Services, hint hint..). The process usually involves doing a faceted subdivision of the polygon, splitting those faces diagonally with the “Triple” command, then spinning the new edges so that they all pinwheel out from the middle of the

That’s cool and all, but it’s easier to just highlight the polygon and hit the “Spikey” command which does basically the same type of thing. The pic on the left shows what happens when you use the spikey.

Center Vertex Selected

Center Vertex Selected

Now that we’ve got the lines and the central vert, deselect everything, hit “1″ to go into the vertex selection mode, and click on the vertex in the

What we’re going to do is to bevel the vertex in the middle, which will create a new vertex for each radial line on the face of the polygon and slide them away from the center. This will also create new lines that will circle all the way around that new set of

You bevel vertices the same way that you bevel anything else, by either going through the menus for the vertex commands or by simply hitting the “b” key on your keyboard. My guess is that if you’ve done any modeling in modo, you know the “b” key pretty well by now.

Get your Vert Beveled!

Get your Vert Beveled!

See? Same as it ever was. You can slide things around by hauling the mouse around the screen just like everything else in modo. Or you can type in precise values on the controls for the tool.

Once you’ve got things where you want them, your victim has got a new set of lines and/or a new polygon in the middle of your circle. It’s just more verts and polys.

Again, this process is similar to the basic technique used for cutting holes in polys or putting circles in the middle of squares. That kind of thing.

Convert your verts to edges

Convert your verts to edges

I want to create another set of lines outside of the ones we just created, then cut out the slot in between the new circle in the middle and leave a ring around it. This is similar to what I was doing in my project – not exactly, but close enough to show the process.

I’m sure there are a bunch of ways that I could create new lines. Some people might prefer to do it with the Edge Slice tools, and for some applications that might make sense where you need absolute control and non-uniform line placement. In this case, though, it’s simpler to just use the “Edge Slide” tool.

The pictures below show the “Edge Slide” tool in the menu and the controls for that tool:

Edge Slide Command

Edge Slide Command

Edge Slide Controls

Edge Slide Controls

These are easy enough to set here in the control boxes, but you can also do the mouse-haul thing around the screen too. In some ways, the hauling way is easier to deal

On the controls, you can choose “Radial” or “Linear”. In this case, we want Radial, and we also want to select “Duplicate” so that it creates a new set of

Again, way too easy.

Once that’s done, you’ll end up with the two lines in the middle of the circle. Now all you have to do is select the polygons that make up the part we want to cut out, then delete

The duplicated rings

The duplicated rings

Select the part you want to remove

Select the part you want to remove

This leaves us with our mesh that we want to thicken up, so we just hit it with the “Thicken” command and set the thickness in the controls, or haul it around by hand.

The center ring was deleted

The center ring was deleted

Thickened Mesh

Thickened Mesh

No Extra Verts

No Extra Verts

If you switch to wireframe, you can see the beauty of it all. There are no extra vertices that have to be removed, no wierd lines going places you didn’t expect, and no joining/merging of vertices or lines to be done. Very clean stuff, and it makes it easy to bevel and refine for Subdivision surfaces.

The finished mesh

The finished mesh

Add some beveling on the edges to firm them up, and a touch of Smooth Shift on the center circle, and you’ve got something useable. Again, all without Booleans and with simple procedures. Hope this works for you!

Paul

Posted in Tips and Tricks

Comments are closed.