Array modifier with object offset, rotate and scale at the same time I'm trying to use an array modifier on an object such that each copy is rotated 2° about the z-axis from the previous one, and then translated along the x and the z axis.

This is what I started with (the Empty at the origin is used to rotate and translate the object):



This is what happens after I rotate and translate the Empty (pivot point is set to median point) (doesn't matter whether I translate or rotate first, It still turns out like that):



The problem in the diagram above is that the translation on the x-axis does not happen; only the z-axis and the rotation is done right.  If the x-axis translation is done correctly, the track should align exactly, like in the diagram below.

This is the effect I want to achieve:



Here is my Blender file, if it helps.

Thanks!
If it fits your needs, an easier way to achieve that shape is probably using the screw modifier.

You would use a single 2 dimensional "U" shape, and use the screw modifier to basically "rotate" the object around the origin. You adjust the screw amount to make it also move up on the Z (or other chosen) axis.