ParametricPlot3D[{v {u, Sin[u], 0} + (1 - v) {u, -Sin[u], 0},
ConditionalExpression[v {u, Sin[u], 0} + (1 - v) {u, 0, Sin[u]}, 0 <= u <= Pi],
ConditionalExpression[v {u, -Sin[u], 0} + (1 - v) {u, 0, Sin[u]}, 0 <= u <= Pi],
{u, 0, Sin[u]}},
{u, -1, 4}, {v, 0, 1},
PlotStyle -> Opacity[.5, White], Lighting -> "Neutral",
Boxed -> False, Axes -> True, BoxRatios -> {2, 1, 1},
MeshFunctions -> {Function[{x, y, z, u, v}, u], Function[{x, y, z, u, v}, v]},
Mesh -> {Range[0, Pi, Pi/4], {0, 1}},
MeshStyle -> {Directive[Dashed, Red], Directive[Thick, Blue]},
PlotRange -> Full, ImageSize -> 500, AxesOrigin -> {0, 0, 0},
Ticks -> {{Pi/2, Pi}, {-1/2, -1}, {1/2, 1}},
PlotRangePadding -> .2, AxesStyle -> Thick, ImageSize -> 500]
Update: a first attempt to use RegionPlot3D
:
RegionPlot3D[-Abs@Sin[x] <= Abs@y <= Abs@Sin[x] && z + Abs@y <= Abs@Sin[x] && 0 <= z,
{x, 0, Pi}, {y, -1, 1}, {z, -1, 1},
PlotRange -> {{-1, Pi + 1/2}, {-1, 1}, {-1, 1}},
BoxRatios -> {2, 1, 1},
PlotStyle -> Directive[White, Opacity[0.6]], Lighting -> "Neutral",
PlotPoints -> 35,
MeshFunctions -> {#1 &, #2 &, #3 &},
Mesh -> {{.5, 1., 1.5, 2., 2.1, 2.2, 2.3}, {0.}, {0.}},
MeshStyle -> {Directive[Thin, Gray], Directive[Thick, Blue], Directive[Thick, Blue]},
Axes -> True, AxesStyle -> Thick,
AxesOrigin -> {0, 0, 0}, Ticks -> {{Pi/2, Pi}, {-1/2, -1}, {1/2, 1}},
ImageSize -> 500, Boxed -> False]