Hole on a curve

I needed a hole on a gently curving surface, much like you
might see on plastic toy or tool for a recessed screw.

Making a hole like this is perfect for a Boolean operation.
But I also wanted the edge of the holes to be beveled,
which in this situation, is impossible to do AB (after Boolean).

I figured this method out on another project. It uses Booleans in three stages.
One to make the recessed hole, one to cut the gentle curve on the object that
will be used to cut the last Boolean. The last one cuts a wider very shallow hole.

Some tedious editing is needed, but it works well and
in the end I can simply use the Bevel Tool on the edge.

Cheetah is so accommodating and allows me to break the rules here in so many ways.
How many can you see? :unsure:

holeonacurve.gif
 
Here's a screenshot to illustrate why this is watertight.
Cheetah makes triangles that you can only see in the Global Wireframe mode.

Hole on a curve wire.jpg
 
Legal warning necessary:

Dear children, please don't try this at home as it can result in severe pinching of your object.
 
If I hadn't, I wouldn't have written "can result" ;)

Actually I'm not even sure if there isn't any pinching in your model, which is something you can't see that well with a non-reflective material; that's a good way to hide small problems. There seem to be some irregularities (one being near the border in the back, which probably doesn't even have to do with the holes), the border of the hole in the foreground a bit above the rest of the mesh, which is a result of the bevel and doesn't look good in my eyes.

Don't get me wrong. I understand that and probably even why you're experimenting here and that you could have very well achieved the same with more "traditional", proven methods. For the sake of argument, let's say there isn't any pinching here, no distortion and whatever, and that it will render clean and smooth even with a very reflective surface (by the way, I use some very reflective material for checking such things). But the rules you want to break aren't "rules" in the ordinary sense, but simple experience from thousands of professionals doing subd-modeling in the last 20 or 25 years. You know what you're doing, you know that this wouldn't work in every situation, and if it doesn't you know several other ways to create a proper hole in any rounded surface. You know where a pole with more than 4 edges hurts your mesh and where not and you know several methods to change the position of such a pole to somewhere it doesn't.

The problem is, most people who will see this, don't. It's probably one of the most frequently asked questions in 3d forums how to create a hole in rounded surfaces properly in a subd model (and not all answers are above suspicion). You really can find a ton of tutorials about it on youtube (which is kind of a lot, especially as bits and bytes don't weigh anything). Even if it works in this case, it's bad topology, not something even an average 3d modeler should do (beginners shouldn't even think about it). Therefore the warning, which was written jokingly, imho is necessary.

Also, booleans are way overused by beginners, which is something I remember very well trying myself many, many years ago (when computers where slower by a lot, but the users a tiny little bit saner).

And while I'm at it: For such a model, imho the polycount is rather high (which is something I do much too often myself); Catmull-Clark is an industry standard that's available in all 3d apps I ever tested, so all of them are as forgiving as Cheetah.

That said, I find it kind of interesting with how much you get away here (even if there are some irregularities).
 
Technically this is not a sub-d operation, although sub-d may be used to get to
a certain point, all are made editable and therefore isn't this is just 3D modeling.
All the triangles Cheetah made are because of the Boolean
operation so my guess is that is part of the Boolean library.

I agree with you about Booleans, they do first appear to be a indispensable tool
to a beginner but quickly get pushed aside because beginners lack the knowledge
required to know when and how to use them properly.

Maybe I hold on to some of my original fascination with the Boolean thing.
And I haven't even mentioned 3D printing. Will this technique 3D print?

Reflection test doesn't show pinching, but there is something going on around that area.

 
* No idea if this applies to this specific example:
* I have noted that Booleans can produce rubbish (or just a blank object) until the checkbox for triangulation is activated.
* Sadly, I don´t understand the maths behind the Booleans, but a consequential Cat-Clark vs Stam-Loop (as by Frank B) subdiv effect would seem intuitively logical.

:unsure: If "intuitively logical" is a pleonasm or a tautology is a matter for another day.
 
:sick: Sad, even depressing:
:rolleyes: If logics is not intuitive, may I assume that idiocy is intuitive?

:giggle: Fortunately, I am not most "most people"...
 
Sorry, Zoo, I thought you'd subd-model as usual. Poly-modeling doesn't have any rules you can break, though. At least it explains why I didn't see the pinching that should have come from 10-edge-poles. Still the disclaimer would be necessary.

The problem you have around the edges seems to me coming from the rounded edge. The nice rounded border from that bevel usually is desired, in this case it's just too high. You have to lower the "hole cylinders" just a thad, with the exception of the outer loop. Then it should be ok, or at least less obvious.

Less easy to solve is the part where the reflection obviously breaks. There you have to adjust some of the vertices manually. It looks as if 2 or so were a too much "in".

For such curved surfaces I actually prefer subd-modeling (it's somehow more forgiving in such cases) and you don't get an unreasonable amount of polys (my last example would be something I tried to import as curves and use as simple polymodel after some thickening, but as the stuff has to fit, quite a lot of points were necessary, so instead I subd-modeled the thing. Polycount is a little more than 1 % (render polys, though, are roughly the same). Beveled edges aside, I usually use it for simple, straight models. As soon as there is something rounded, I subd-model.

To use stam-loop instead is actually a really good advice I wouldn't have thought of, even if sometimes I switch between modes to see what's better (but I usually can't say beforehand).
 
:sick: Sad, even depressing:
:rolleyes: If logics is not intuitive, may I assume that idiocy is intuitive?

:giggle: Fortunately, I am not most "most people"...

Well, intuition works just without thinking, so neither logic or idiocy would apply (with a tendency to use "intuition" as an excuse for really bad decisions, and, of course, to use intuition instead of logic where the latter would be in place).
 
In this kind of topology Stam-Loop is highly recommended - just in case.
It's good to hear from you Frank, I hope you're doing well.
Thanks for the suggestion, I always forget about the Stam loop setting.
The problem is I already made the sub dev editable so I'm working without a net. ;)

The thing I'm making is a chain guard for an electric bicycle, which throws it's chain on any bump.
It's a simple holder for a metal rod that will ride just above chainring.

Polycount is under 11k


Chain Guard.jpg
 
Sorry, Zoo, I thought you'd subd-model as usual. Poly-modeling doesn't have any rules you can break, though. At least it explains why I didn't see the pinching that should have come from 10-edge-poles. Still the disclaimer would be necessary.

The problem you have around the edges seems to me coming from the rounded edge. The nice rounded border from that bevel usually is desired, in this case it's just too high. You have to lower the "hole cylinders" just a thad, with the exception of the outer loop. Then it should be ok, or at least less obvious.

Less easy to solve is the part where the reflection obviously breaks. There you have to adjust some of the vertices manually. It looks as if 2 or so were a too much "in".

For such curved surfaces I actually prefer subd-modeling (it's somehow more forgiving in such cases) and you don't get an unreasonable amount of polys (my last example would be something I tried to import as curves and use as simple polymodel after some thickening, but as the stuff has to fit, quite a lot of points were necessary, so instead I subd-modeled the thing. Polycount is a little more than 1 % (render polys, though, are roughly the same). Beveled edges aside, I usually use it for simple, straight models. As soon as there is something rounded, I subd-model.

To use stam-loop instead is actually a really good advice I wouldn't have thought of, even if sometimes I switch between modes to see what's better (but I usually can't say beforehand).
Thanks for the critique, although some of what you said I don't understand, I will continue to explore and experiment.

Sometimes with sub dev modeling you have conflicting curvatures as with my model here.
The sub dev curve is determined by the placement of the next vertex from an edge.
If you then place a hole that extends into this area, it will disrupt the original curve.

Maybe a second round of sub dev is necessary to make the hole. I will try some more stuff.
 
Yes, of course, because that's thought for subdivision. If you could use the modifier it would look perfect. But then you'd probably see pinching in the other holes.

With subdiv you would also get away with a lot less polys.

(I myself often use just 8 edges and then a subdiv of 3 or 4, just to keep my poly-count for working low).
 
Yes, of course, because that's thought for subdivision. If you could use the modifier it would look perfect. But then you'd probably see pinching in the other holes.

With subdiv you would also get away with a lot less polys.

(I myself often use just 8 edges and then a subdiv of 3 or 4, just to keep my poly-count for working low).

For these tests I'm still not subdividing. I'm trying to determine
how many edges are enough for a particular viewing distance.

I also use 8 edges all the time but rarely go to level 4.
8x2x2x2=64 and that's how many edges the first hole has.
The second hole has 26 and the third has 42. This image shows 42 still looks good
up close, 26 looks good a little farther away and 64 is more than needed.

Now I'll build two versions different ways and compare.

three_holes.gif
 
Back
Top