I think we can recycle the cone from the previous answers.
```
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{3dtools,calc}
\makeatletter
\tikzset{reuse path/.code={\pgfsyssoftpath@setcurrentpath{#1}}}
\makeatother
\tikzset{reverseclip/.style={overlay,insert path={[reset cm]
(-16383.99999pt,-16383.99999pt) rectangle
(16383.99999pt,16383.99999pt)}}}
\tikzset{pics/3d/cone/.style={code={
\tikzset{3d/cone/.cd,#1}
\def\pv##1{\pgfkeysvalueof{/tikz/3d/cone/##1}}%
\pgfmathsetmacro{\sdtip}{screendepth(0,0,\pv{h})}
\pgfmathsetmacro{\aspectangle}{atan2(\sdtip,sqrt(\pv{h}*\pv{h}-\sdtip*\sdtip))}
\path (0,0,\pv{h}) coordinate (-tip);
\begin{scope}[x={(0,0,tan(\aspectangle))},y={($(0,0,0)!1cm!90:(0,0,\pv{h})$)}]
\pgfmathtruncatemacro{\itest}{abs(tan(\aspectangle)*\pv{r}/\pv{h})<1}
\ifnum\itest=1
\pgfmathsetmacro{\alphacrit}{acos(tan(\aspectangle)*\pv{r}/\pv{h})}
\ifdim\sdtip pt>0pt
\path[/tikz/3d/cone/hidden] (\alphacrit:\pv{r}) arc[start angle=\alphacrit,end
angle=-\alphacrit,radius=\pv{r}];
\path[/tikz/3d/cone/visible,save path=\ConeHalo] (\alphacrit:\pv{r})
arc[start angle=\alphacrit,end angle=360-\alphacrit,radius=\pv{r}]
-- (-tip) -- cycle;
\else
\path[/tikz/3d/cone/visible] circle[radius=\pv{r}];
\path[/tikz/3d/cone/visible] (\alphacrit:\pv{r})
-- (-tip) -- (360-\alphacrit:\pv{r});
\path[save path=\ConeHalo] (\alphacrit:\pv{r})
arc[start angle=\alphacrit,end angle=360-\alphacrit,radius=\pv{r}]
-- (-tip) -- cycle;
\fi
\else
\path[/tikz/3d/cone/visible,save path=\ConeHalo] circle[radius=\pv{r}];
\fi
\end{scope}
}},
3d/cone/.cd,r/.initial=1,h/.initial=1,
hidden/.style={draw,very thin,densely dashed},
visible/.style=draw}
\begin{document}
\foreach \Angle in {75,70,...,0} %{45} %{5,15,...,355}
{\begin{tikzpicture}[declare function={
R=5;% radius of the base of the cone
v=-2.5;% height
}]
\path[use as bounding box] (-3,-3) rectangle (12,10);
\begin{scope}[3d/install view={theta=70,phi=70,psi=00},
visible/.style={draw,solid},
hidden/.style={draw,very thin,cheating dash}
]
\path (1,0,0) coordinate (ex)
(0,{cos(\Angle)},{sin(\Angle)}) coordinate (ey')
(0,{-sin(\Angle)},{cos(\Angle)}) coordinate (ez');
\path (-R,0,0) coordinate (a)
(-R,2*R,0) coordinate (b)
(R,2*R,0) coordinate (c)
(R,0,0) coordinate (d);
\begin{scope}[x={(ex)},y={(ey')},z={(ez')}]
\path (0,R,0) pic{3d/cone={r=R,h=v}};
\begin{scope}
\clip[reuse path=\ConeHalo];
\draw[hidden] (a) -- (b) -- (c) -- (d) -- cycle;
\end{scope}
\begin{scope}
\clip[reuse path=\ConeHalo] [reverseclip];
\draw[visible] (a) -- (b) -- (c) -- (d) -- cycle;
\end{scope}
\draw[visible] (c) -- (d);
\end{scope}
\end{scope}
\end{tikzpicture}}
\end{document}
```
![ani.gif](/image?hash=e8f070e89df09c9922b2d06877fd7e213b66359af255f45f34f177d91d71a228)