Do[
      Show[
ParametricPlot3D[{
            (8 + Cos[70*t])*Cos[t + Sin[t + i]], Sin[70*t], 
            (8 + Cos[70*t])*Sin[t + Sin[t + i]]}, {t, -2 Pi, 0}, 
          PlotPoints -> 1000, Boxed -> False, Axes -> False, 
          DisplayFunction -> Identity, ViewPoint -> {2, -4, -2}], 
        
ParametricPlot3D[{
            8 + (4 + Cos[40*t])*Cos[t + Sin[t + i]], 
            (4 + Cos[40*t])*Sin[t + Sin[t + i]], Sin[40*t]}, {t, 0, 
            2  Pi}, PlotPoints -> 1000, Boxed -> False, 
          Axes -> False, DisplayFunction -> Identity, 
          ViewPoint -> {2, -4, -2}], 
        
ParametricPlot3D[{
            -8 + (4 + Cos[40*t])*Cos[t + Sin[t + i]], 
            (4 + Cos[40*t])*Sin[t + Sin[t + i]], Sin[40*t]}, {t, 0, 
            2  Pi}, PlotPoints -> 1000, Boxed -> False, 
          Axes -> False, DisplayFunction -> Identity, 
          ViewPoint -> {2, -4, -2}], 
        
ParametricPlot3D[{Sin[40*t], 
            (4 + Cos[40*t])*Cos[t + Sin[t + i]], 
            8 + (4 + Cos[40*t])*Sin[t + Sin[t + i]]}, {t, -Pi, Pi}, 
          PlotPoints -> 1000, Boxed -> False, Axes -> False, 
          DisplayFunction -> Identity, ViewPoint -> {2, -4, -2}], 
        
ParametricPlot3D[{Sin[40*t], 
            (4 + Cos[40*t])*Cos[t + Sin[t + i]], 
            -8 + (4 + Cos[40*t])*Sin[t + Sin[t + i]]}, {t, 0, 2  Pi}, 
          PlotPoints -> 1000, Boxed -> False, Axes -> False, 
          DisplayFunction -> Identity, ViewPoint -> {2, -4, -2}], 
        DisplayFunction -> $DisplayFunction
]
        
, {i, 0, 2*Pi, 0.2}]