Your code produces a truncated hexagonal cube, and I added some curvature.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{20}{00}
\begin{tikzpicture}[tdplot_main_coords,declare
function={r1=2;r2=1.25;h=3;curvature=1;}]
\path[fill=gray!50] plot[variable=\x,samples at={0,60,...,300}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick,dashed] plot[variable=\x,samples at={0,60,120,180}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick] plot[variable=\x,samples at={180,240,300,0}]
({r1*cos(\x)},0,{r1*sin(\x)});
\foreach \X in {60,120,...,360}
{\draw[thick] \ifnum\X<180 [dashed] \fi
plot[variable=\x,domain=r2:r1]
({(\x+curvature*(\x-r1)*(\x-r2))*cos(\X)},{-h*(\x-r1)/(r1-r2)},{(\x+curvature*(\x-r1)*(\x-r2))*sin(\X)});}
\path[fill=gray!25,fill opacity=0.8] plot[variable=\x,samples at={0,60,...,300}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,dashed,gray!40] plot[variable=\x,samples at={0,60,120,180}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,gray!40] plot[variable=\x,samples at={180,240,300,0}]
({r2*cos(\x)},h,{r2*sin(\x)});
\end{tikzpicture}
\end{document}

The mandatory animation.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{20}{00}
\foreach \CC in {5,15,...,355}
{\pgfmathsetmacro{\curvature}{sin(\CC)}
\begin{tikzpicture}[tdplot_main_coords,declare
function={r1=2;r2=1.25;h=3;curvature=\curvature;}]
\path[tdplot_screen_coords,use as bounding box] (-1.1*r1,{-1.2*sin(\tdplotmaintheta)*r1})
rectangle (1.1*r1,{h+1.2*sin(\tdplotmaintheta)*r2});
\path[fill=gray!50] plot[variable=\x,samples at={0,60,...,300}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick,dashed] plot[variable=\x,samples at={0,60,120,180}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick] plot[variable=\x,samples at={180,240,300,0}]
({r1*cos(\x)},0,{r1*sin(\x)});
\foreach \X in {60,120,...,360}
{\draw[thick] \ifnum\X<180 [dashed] \fi
plot[variable=\x,domain=r2:r1]
({(\x+curvature*(\x-r1)*(\x-r2))*cos(\X)},{-h*(\x-r1)/(r1-r2)},{(\x+curvature*(\x-r1)*(\x-r2))*sin(\X)});}
\path[fill=gray!25,fill opacity=0.8] plot[variable=\x,samples at={0,60,...,300}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,dashed,gray!40] plot[variable=\x,samples at={0,60,120,180}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,gray!40] plot[variable=\x,samples at={180,240,300,0}]
({r2*cos(\x)},h,{r2*sin(\x)});
\end{tikzpicture}}
\end{document}

ADDENDUM Everything bent in the same direction, which is given by bd
in the following code.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{20}{00}
\begin{tikzpicture}[tdplot_main_coords,declare
function={r1=2;r2=1.25;h=3;curvature=1;bd=0;}]
\path[fill=gray!50] plot[variable=\x,samples at={0,60,...,300}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick,dashed] plot[variable=\x,samples at={0,60,120,180}]
({r1*cos(\x)},0,{r1*sin(\x)});
\draw[thick] plot[variable=\x,samples at={180,240,300,0}]
({r1*cos(\x)},0,{r1*sin(\x)});
\foreach \X in {60,120,...,360}
{\draw[thick] \ifnum\X<180 [dashed] \fi
plot[variable=\x,domain=r2:r1]
({\x*cos(\X)-curvature*(\x-r1)*(\x-r2)*cos(bd)},{-h*(\x-r1)/(r1-r2)},
{\x*sin(\X)-curvature*(\x-r1)*(\x-r2)*sin(bd)});}
\path[fill=gray!25,fill opacity=0.8] plot[variable=\x,samples at={0,60,...,300}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,dashed,gray!40] plot[variable=\x,samples at={0,60,120,180}]
({r2*cos(\x)},h,{r2*sin(\x)});
\draw[thick,gray!40] plot[variable=\x,samples at={180,240,300,0}]
({r2*cos(\x)},h,{r2*sin(\x)});
\end{tikzpicture}
\end{document}

\documentclass
command, include any necessary packages and be as small as possible to demonstrate your problem. At the moment we have to guess what packages etc you are using before we can compile your code.\documentclass
and ends with\end{document}
.