In actual fact, I can do this without patterning at all, by having a continuous curve of 'n' coils, represented by: -
n=coils
r=radius
d=diameter
x=2*r*cos(n*360*t)*sqrt(cos(n*360*t)^2)
y=2*r*cos(n*360*t)*sin(n*360*t)
z=t*d*2*n
I can even have the half coil, e.g parameter: coils = 4.5, to make the cable terminate at the opposite end to the start.
Sweet!