For people interested in treating (epi/hypo)trochoids as line envelopes, there are nice papers on this subject by Simoson and Quenell, among others. Simoson's treatment, in particular, suggests modifying the original code by John to a 3D version, given below:
base = 360; max = 359;
plist = {Sin[(2.*Pi*#/base)], Cos[2.*Pi*#/base]} & /@ Range[0, base - 1];
colors = Table[ColorData["BalancedHue", x], {x, 0, 1, 1./base}];
zlist[p_, m_] := Table[{Append[p[[i + 1]], 0],
Append[p[[Mod[IntegerPart[m*i], base] + 1]], 1]},
{i, base - 1}]
Manipulate[Graphics3D[{{Directive[EdgeForm[Directive[Black, Opacity[1/2]]],
FaceForm[]], Cylinder[{{0, 0, 0}, {0, 0, 1}}]},
{Directive[AbsoluteThickness[1/2], colors[[IntegerPart[m]]]],
Line[zlist[plist, m]]}}, Boxed -> False],
{m, 1.1, base - 0.1, 0.1}, SaveDefinitions -> True]
