Hard surface topology - curved meshes


Simple question: what is the best hard surface topology practice for filling convex and concave curves like in the example shown below - while at the same time avoiding concave quads and triangles?

Note that the concave curve is not completed yet. No clue on how to fill that beautifully! :confused:
I’m not even sure if the convex curve is right.

The model as a whole currently looks like this. It’s a wall-attached desktop:


what about just using a curve instead of a mesh.

Or just use that mesh subdivided? Use loops to control how rounded you want it no?

Using a curve looks like a very nice idea and I think I’ll use it, thanks.
However I would also like to know how should I handle the topology of a mesh with convex and concave surfaces. Curves are nice, but they can be used for this task only as long as surfaces are essentially flat planes.

I took this into consideration, but:

  • To make the object look good with sharp angles I have to add too much geometry
  • While I have control of the general appearance, I don’t have exact control of the curves radiuses, which I need to be kind of precise
  • Curves with the subsurf modifier have a sort of hyperbolical profile. I need them to be exactly rounded.

By the way this is what I ended up with yesterday before going to sleep (no curves used here yet):

I can’t help but feel that if I were to use a mesh instead of a curve, the topology for the convex curve (to the right) could be improved. I know that for hard surfaces topology isn’t that important, but I want to keep things clean and nice.


(I know what you mean about wanting angles and distances to be very precise and symmetrical. It’s much more satisfying to know an object has a watchmaker’s precision than just, ya know, going by eyesight and seeing that it looks good enough.)

I have two suggestions for you.

First, when using Subsurf - or any angles - you can exempt certain angles by selecting the edges and either

(a) Use the Mean Crease technique to sharpen the edges after applying a Subsurf

And (b) You can
-Get a dummy Object of the angle that you desire.
-Put a Shrinkwrap Modifier on the original Object that you want deformed (in this case, the counter top)
-Assign vertices to a Vertex Group that you want deformed
-Play around with the Shrinkwrap Modifier’s settings until it looks good:

There is probably a better technique out there, but these are two which come to mind for me.

Thanks for your reply. I knew about the Crease technique. It works fine but:

  • It increases vertex count to an excessive amount
  • Does not produce exactly round curves
  • It’s very hard (if not impossible) to obtain a good bevel especially if the Smooth shading and Edge Split are used

I will try out solution B too.

Still, while suggestions are very welcome, the main point of my initial question was strictly about topology in the case of manual mesh tweaking or convex and concave hard surfaces.

If you’re going to use a mesh, I would recommend using a more even, net-like topolgy such as with my guitar here.

For organic surfaces sure, but would something like a flat desk with very simple curves qualify as such?

If you like the way your desk looks then be happy with it. Where you really need to worry about topology like Modron’s would be if you were using a subD modifier. Which may be totally unnecessary here, its up to you.

I would probably avoid using curves here since a desktop generally has texture which is hard to get right with a curve.

there is a script which allow to get rounded corner

where you can control number of segments curvature ect,

have you seen it ?


No, I haven’t seen it. How is it called?

By the way, I have to remind once again that what I’m asking in this thread is not what is the best tool to use to obtain rounded corners, but rather what are the most recommended topologies for concave and convex curves over hard (not organic!) surfaces :slight_smile:


I’ll try to explain how I do it. I can’t include any drawings cos I’m at work.

Say you had a curve with 5 points, a-e, around a centre o. The simplest layout would be 4 triangles, all pointing to o, namely, a-b-o, b-c-o, c-d-o, d-e-o.

If you want to avoid using triangles near the edge of the curve, you can cut all the lines to o in half, which makes the outer part of the triangles into quads. This will improve the shape if you are going to subsurf it, but you still have triangles, away from the edge.

The alternative would be to delete lines b-o, c-o, and d-o. Now cut a-o and e-o in half. The halfway points we will call a’ and e’. Now you can build quads a-b-c-a’, c-d-e-e’, and a’-c-e’-o.

The process can be repeated to squash more and more triangles into fewer and fewer quads. Essentially each time you repeat the process you will reduce the number of shapes pointing to the centre of the curve by a factor of four.

This is a good method when trying to reduce the mesh density of an organic too. For example, when trying to merge fingers into a hand, you may find that the palm has a huge poly count in order for each finger to have enough control points. Using this method at the joins allows you to reduce the poly count during the joining process.



I’d do this:

Yes, there are triangles there, but they’re topologically irrelevant because they’re on a flat surface.

Nice! That would also spontaneously work great with a manual Bevel.

i think tht with a flat surface it does not really matter Quad or Tri’s
the point is to minimize the qty of verts and that’s it topo should render nicely

did you try the edge fillet script
it’s a nice tool in 2.6!

happt 2.6