To make multiple rotated copies of a 3D surface

Instead of a Graphics primitive I wish to plug in a surface generated by ParametricPlot3D and copy rotate to show several objects. How is it done?

CYL[u_, w_] =
ParametricPlot3D[ { Cos[u], Sin[u], w}, {u, 0, 2 Pi}, {w, 0, 1}]

Graphics3D[GeometricTransformation[CYL[u, w]],
Table[{RotationMatrix[a, {0, 0, 1}], {Cos[a], Sin[a], a /3}}, {a, 0,
4 Pi, .2}]], Boxed -> False]

=================

=================

1 Answer
1

=================

Something like this?

surface = First@ParametricPlot3D[{Cos[u], Sin[u], w}, {u, 0, 2 Pi}, {w, 0, 1}];

Graphics3D[
GeometricTransformation[surface,
Table[{RotationMatrix[a, {0, 0, 1}], {Cos[a], Sin[a], a/3}}, {a, 0, 4 Pi, .2}]],
Boxed -> False]