I'm trying to make a column, just like this picture: enter image description here

How can I make the red shape follow the yellow profile?

enter image description here

I try converting them to curves, and then assign the red curve as a bevel object for the yellow, but the resulting shape follows the yellow curve normals, like this:

enter image description here

My Blend file in case you need:

Edit: I've just trying to make these columns all this morning, and found out that this simple looking problem turns out to be very hard. Let me explain.

At first, I tried the manual method, which is to extrude and scale the red shape so that it has the profile that matches the yellow shape. However, scaling the red shape leads to uneven results, illustrated here:

enter image description here

This leads me to use the Offset addon here (https://blender-addons.org/offset-edges-addon/). But this method has another problem, which is:

enter image description here

You can see although it creates an edge that has even distance with the original edge, the circular feature becomes distorted.

So how can I make this column with perfect circles like in the first image? It looks simple, but the more I dive into, the more I find it hard.

  • $\begingroup$ What do you mean when you say "make the red shape follow the yellow profile"? How is this different from following the yellow shape's normals, as in your last picture? $\endgroup$ Commented Dec 18, 2019 at 5:57
  • $\begingroup$ @NeverConvex: I'm trying to make a column. The red shape is how the column looks like from the above, and the yellow shape is its profile, looking from the front. $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 6:47
  • 1
    $\begingroup$ blender.stackexchange.com/questions/70394/… $\endgroup$ Commented Dec 18, 2019 at 11:59

2 Answers 2


In this example I use two objects "Pillar" and "Bevel" ...

  • select "Pillar" curve and search for Set Origin to Geometry
  • search Convert to Curve (both objects should be a curve)
  • Search Spline type > Bezier and set handle types (V) > Automatic
  • under Properties Editor > Object Data > Bevel assign a curve "Bevel"
  • with curve "Bevel" selected go to edit mode (TAB) and rotate vertices in X -90° (so curve goes in Y axis) and move all control points to bring bottom vertex to origin position


  • always good to Apply Transformations (Ctrl+A) like Scale in here
  • switch curves to 2D (Properties Editor > Curve Data)
  • I had to scale up the Pillar shape (in edit mode) up to 3 to get result where Bevel curve doesn't generates weird in thinner curvature

enter image description here

Edit: just from what I see on your reference image, you should probably start with five circles object, because when you bevel on final floor shape you get wrong intersections of small circles with big one. Step by step is the same. Except for Bevel Curve move control points a bit far from origin. Here is the result.

enter image description here enter image description here enter image description here enter image description here

  • $\begingroup$ Hi vklidu, that's what I did with the second picture. The thing is, I want the red shape to follow the curve straight up, not along its normalls. $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 7:41
  • $\begingroup$ How can you make it not follow normals like that? I can't replicate what you did there. As I said, I did what you did to achieve the result in the second image, but your result is what I'm looking for. Am I missing something? $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 8:34
  • $\begingroup$ I managed to make it work, but the resulting shape is not like in the sample image. The circular shapes get heavily distorted in the column body. It now seems boolean is the only method. $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 8:50
  • 1
    $\begingroup$ you should probably start from five circles (see edited answer) $\endgroup$
    – vklidu
    Commented Dec 19, 2019 at 0:25
  • 1
    $\begingroup$ @ĐặngHảiPhụng .. Not sure if it's the problem, but note that the sweep curves are 2D. $\endgroup$
    – Robin Betts
    Commented Dec 19, 2019 at 7:33

Lets say I've got some starting object, like you do, which is basically flat:


First, I add an array modifier in the Z direction:


Then, I make a curve object for the shape to follow:

some curve

Now, I just add a curve modifier to the object, select the curve, and it will follow the shape:


You will notice that this is in no way perfect, and, depending on the shape, may require some cleanup, but I think that it is the best that blender can do.

Additional note: you can increase the resolution of the final curve by making the starting object thinner, and then increasing the array count accordingly.

  • $\begingroup$ Your solution gives the same result as the second picture. $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 6:48
  • $\begingroup$ can you show the modifier stack on your second picture? it looks like you might just need to increase the array count $\endgroup$
    – person132
    Commented Dec 18, 2019 at 7:12
  • $\begingroup$ I don't use the array modifier for the second picture. Instead, I convert them into curves, and assign the red curve as the bevel object of the yellow curve. My problem is, the shape follows the curve normals, just like in your example. You can see it being rotated a bit, while I want it to go straight up. $\endgroup$
    – LOTR_7193
    Commented Dec 18, 2019 at 7:25
  • $\begingroup$ ok, i dont think i understand what you want. it is supposed to go straight up, but it is also supposed to follow the curve? $\endgroup$
    – person132
    Commented Dec 18, 2019 at 7:26
  • $\begingroup$ If you have a picture of the result you are trying to emulate, that would be great $\endgroup$
    – person132
    Commented Dec 18, 2019 at 7:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .