2
$\begingroup$

I'm trying to use the Bend modifier along with an array modifier and appropriate pivot objects to take a plane and turn it into a segmented ring.

So I use an “array pivot” object to rotate the array copies, and an “bend pivot” to reposition the center of the bend modifier.

But I don't understand where exactly to position the bend pivot object. By experiment I found approximate solutions for various bend angles, and used python to fit a curve to the data, and determined the relationship is roughly -114.563/x, where x is the angle of rotation.

But that -114.563 makes no sense to me, I assumed there was some factor of pi or something that could explain how to position the bend modifier, but it still looks like a mystery to me.

So I was wondering, does anyone know what the relationship is? Or is there something I am missing that would make sense of this, or simplify it?

Edit: It just occurred to me that my factor is really close to 360/pi, so I think that is the answer, though the question remains, why does the bend modifier's center have to be offset different amounts depending on the degree of bend? And why the factor of 360/pi?

Bend/Array/Pivot setup

$\endgroup$
4
$\begingroup$

The equation that describes the Y coordinate of the bending pivot could be:

enter image description here

Where:

  • R is the wanted radius (in Blender unit)
  • BBsize.x is the bounding box size (in Blender units) on the X axis of the undeformed object
  • Theta is the angle of deformation (in radians)

If I would like to know, for example, where to put the bending pivot for the default plane (BBsize.z = 2 units) bended by one radiant (57,2958°) around a circumference with a 3 units Radius, I'll get:

3-2/1= 1 units

If I want to increase the Radius to 5, I must move the pivot point in Y =

5-2/1 = 3 units

enter image description here

Changing the deformation angle to 45° (0,785398 rad) would mean changing the coordinate to:

5-2/0.785398 = 2.45352038075 units

Final result for the latest set of values:

enter image description here

Note that, as in the provided result we are using the world origin as the ring center, we can get rid from the dipendency of R, so the location of the Bending pivot is:

5-(5-2/0.785398) = 2/0.785398 = 2.54647961925 units

Here's a file with a bunch of drivers that change the deformation angle and the bending pivot accordling to the number of elements composing the ring that you can examine:

enter image description here

| improve this answer | |
$\endgroup$
0
$\begingroup$

You can get away with just using the array modifier and an empty as the offset object.

Then just rotate/move/scale the empty(uncheck relative offset)

enter image description here

https://www.blender.org/manual/modeling/modifiers/generate/array.html

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ Thanks, but I'm already doing that — the point of using the bend modifier is so that the edges of the planes of the array will align perfectly, making a continuous ring. $\endgroup$ – Cody Reisdorf May 8 '16 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.