I don't understand what you mean by thickness of the base.
This perhaps?
r[s_, a_, b_] := 1 + a Exp[-b s^2]
ParametricPlot3D[{r[s, .3, 10] Cos[t], r[s, .3, 10] Sin[t], s},
{t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[6 t]}, PlotPoints -> 50,
PlotRange -> All, Mesh -> False]
Here is your cycloid, albeit it looks somewhat peculiar
cycl[a_] := Module[{},
t = x /. FindRoot[a == x - Sin[x], {x, .1}];
1 - Cos[t]
]
ParametricPlot3D[{r[s, .3, 10] Cos[t], r[s, .3, 10] Sin[t],
If[s < 1, s, 2 + cycl[5 t]]}, {t, 0, 2 Pi}, {s, 0, 2},
PlotPoints -> 50, PlotRange -> All, Mesh -> False]
Another one. The cycloid is removend from the iterator and put in the vector- function
ParametricPlot3D[{Cos[t], Sin[t], If[s < 1, s, 2 + cycl[5 t]]}, {t, 0,
2 Pi}, {s, 0, 2}, PlotPoints -> 50, PlotRange -> All,
Mesh -> False]
And some (simpler )thickness
rr[x_] := If[x < .5, 1.3, 1]
ParametricPlot3D[{rr[s] Cos[t], rr[s] Sin[t],
If[s < 1, s, 2 + cycl[5 t]]}, {t, 0, 2 Pi}, {s, 0, 2},
PlotPoints -> 50, PlotRange -> All, Mesh -> False]
And last not least the "self-made one. Add a function of h in xx[ a, h ] to Sin and Cos to get some thickness
xx[a_, h_] := {Cos[a], Sin[a], Min[h, 1 + cycl[5 a]]}
pol[a_, h_, da_, dh_] :=
Polygon[{xx[a, h], xx[a + da, h], xx[a + da, h + dh], xx[a, h + dh]}]
nda = 60; ndh = 20; ffh = .48;
da = 2 Pi/nda; dh = 5/ndh;
zylo = Table[{Hue[ffh n dh],
Table[pol[m da, n dh, da, dh], {m, 0, nda - 1}]}, {n, 0, ndh - 1}];
Graphics3D[zylo
]