# Rotating each iteration of an Array Modifier

Is there a way to rotate each iteration of an Array Modifier?

For example, I've created the helices of a DNA molecule, and I'm trying to add the base pairs. I've got a cylinder with an array modifier.

Then, I thought I'd apply a simple deform to twist them 360 degrees, corresponding to one twist of the double helix. The problem I'm seeing is that the deform modifiers squishes the cylinders, rather than rotating them independently.

• I just noticed that since I took the first screenshot, I've shrunk the double helix to just one spin. Commented Aug 15, 2013 at 3:12
• If you want more detailed helixes, BioBlender addon 1.0 was released last month. It let's you load .pdf files from the protein database Commented Aug 15, 2013 at 10:19
• If using a curve to generate the spiral, see: How can I duplicate a mesh along a curve? Commented Aug 15, 2013 at 10:59
• I used a circle and a Screw Modifier, so I don't think that one would work for me. I might want to animate the helices straightening out into a ladder, so I might need rethink my approach.. Commented Aug 15, 2013 at 20:22
• How accurate are you trying to be? Are you just doing something that kind of looks like a twisted ladder, or do you need to generate a specific base pair sequence? If the latter, try 3D-Dart.
– Elyz
Commented Apr 16, 2018 at 16:28

You can achieve that with the Array modifier alone.

1. Create an empty at the origin of your base pair and make sure it has the same xyz rotation.
2. Disable all offsets in the Array modifier.
3. Enable Object Offset and select the empty from the list.
4. Rotate the empty and move it up a little, so that it matches your helix.

The object offset uses the differences regarding location, rotation and scale to generate the array.

Another, older and in some aspects, more powerful way would be to animate the base pair rotating and moving up the helix and then turn on dupliframes in the Duplication panel of the object properties.

To get even spaces between the steps, you'd have to set the f-curve to linear interpolation.

• Aha - I'd been trying something like this, but hadn't figured out to disable the constant offset. Commented Aug 15, 2013 at 20:19
• Why would you consider the old way to be more powerful? Commented Aug 16, 2013 at 1:05
• Because you can do custom movements, rotations, scaling, different spaces between Dupliframes. Array modifiers duplicate in a very regular fashion which is good for most cases. Btw, I said 'more powerful in some aspects', not 'more powerful per se' Commented Aug 16, 2013 at 1:22
• Cool! I wasn't challenging the notion, just curious :) Commented Aug 16, 2013 at 15:10
• Don't worry, I understood it right (: Commented Aug 16, 2013 at 15:52