Animating a helix/spiral changing direction

helix.blend (641 KB)

I’m trying to animate a helix unwinding from a clockwise direction and rewinding in an anticlockwise direction. I’d like it if this unwinding+rewinding could travel along the helix, rather than the whole helix straightening / fading before rewinding in the new direction.

In Layer 1 of the attached blend file I’ve tried playing with shape keys. However, it is quite ugly the way it streches the mesh. I need to move the original helix so it remains close to the new one at all times. In Layer 2 I’ve managed this and got the original helix to rotate around the shape of the new one, with a point of contact at all times. What I would like is if this point of contact remains and forms the new helix, a bit like a zip. When I combine both effects from layer 1 and 2, into what i have in layer 3, it gets even uglier. I think the shape keys are conflicting/out of sync with the rotation key frames.

Any tips on how to do this? Maybe I should be animating the mesh, with a parent child relationship dropping of points along the helix as it rotates? Or using hooks? Any help would be apprectiated!