Responder1
Isto é para lhe dar um começo. Não é uma tentativa de redesenhar totalmente o quadro. No entanto, ele fornece a maior parte, o resto é repetição IMHO.
Em mais detalhes,
- para instalar a visualização 3D, a
perspective
biblioteca é utilizada. (IMHO, a afirmaçãoisometric view
só faz sentido se especificarmos adicionalmente a orientação do cilindro no espaço 3D.) - comprimentos são armazenados em "funções" via
declare function
. - esse é o TikZ, então precisamos desenhar as diversas faces na ordem apropriada. Se você não gosta disso, mude para
asymptote
.
Código e resultado:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{perspective}
\begin{document}
\begin{tikzpicture}[>=stealth,semithick,line cap=round,
declare function={R=20;d=9;dd=1.5;rr=5;L=10;l=1;},%<- d/2efine some lengths
scale=0.15]
\begin{scope}[3d view={30}{10}]%<- install 3d view and set view angles
\path[fill=gray!80] plot[variable=\t,domain=60:110,smooth]
({R*cos(\t)},{d/2},{R*sin(\t)})
-- plot[variable=\t,domain=110:60,smooth]
({R*cos(\t)},{-d/2},{R*sin(\t)}) -- cycle;
\path[fill=gray!40] plot[variable=\t,domain=120:240,smooth]
({R*cos(\t)},{-d/2},{R*sin(\t)})
-- plot[variable=\t,domain=240:120,smooth]
({rr*cos(\t)},{-d/2},{rr*sin(\t)}) --cycle;
\path[fill=black] plot[variable=\t,domain=120:240,smooth]
({rr*cos(\t)},{-d/2},{rr*sin(\t)})
-- ({rr*cos(240)},{d/2},{rr*sin(240)})
-- ({(rr+dd)*cos(240)},{d/2},{(rr+dd)*sin(240)})
-- plot[variable=\t,domain=240:120,smooth]
({(rr+dd)*cos(\t)},{-d/2},{(rr+dd)*sin(\t)}) -- cycle;
\path[fill=brown!40] plot[variable=\t,domain=120:60,smooth]
({rr*cos(\t)},{d/2+l},{rr*sin(\t)}) --
plot[variable=\t,domain=60:120,smooth]
({rr*cos(\t)},{-d/2-L},{rr*sin(\t)}) --
cycle;
\path[fill=gray!40] plot[variable=\t,domain=60:120,smooth]
({R*cos(\t)},{-d/2},{R*sin(\t)})
-- plot[variable=\t,domain=120:60,smooth]
({rr*cos(\t)},{-d/2},{rr*sin(\t)}) --cycle;
\path[fill=black] plot[variable=\t,domain=120:60,smooth]
({rr*cos(\t)},{-d/2},{rr*sin(\t)})
-- ({rr*cos(60)},{d/2},{rr*sin(60)})
-- ({(rr+dd)*cos(60)},{d/2},{(rr+dd)*sin(60)})
-- plot[variable=\t,domain=60:120,smooth]
({(rr+dd)*cos(\t)},{-d/2},{(rr+dd)*sin(\t)}) -- cycle;
\path[fill=gray!60]
({(rr+dd)*cos(60)},{-d/2},{(rr+dd)*sin(60)})
-- ({(rr+dd)*cos(60)},{d/2},{(rr+dd)*sin(60)})
-- ({R*cos(60)},{d/2},{R*sin(60)})
-- ({R*cos(60)},{-d/2},{R*sin(60)}) -- cycle;
\path[fill=brown!60] plot[variable=\t,domain=240:60,smooth]
({rr*cos(\t)},{-d/2-L},{rr*sin(\t)}) --cycle;
\path[fill=brown]
({rr*cos(240)},{-d/2-L},{rr*sin(240)})
-- ({rr*cos(60)},{-d/2-L},{rr*sin(60)})
-- ({rr*cos(60)},{d/2+l},{rr*sin(60)})
-- ({rr*cos(240)},{d/2+l},{rr*sin(240)})
--cycle;
\path[fill=gray!60]
({(rr+dd)*cos(240)},{-d/2},{(rr+dd)*sin(240)})
-- ({(rr+dd)*cos(240)},{d/2},{(rr+dd)*sin(240)})
-- ({R*cos(240)},{d/2},{R*sin(240)})
-- ({R*cos(240)},{-d/2},{R*sin(240)}) -- cycle;
\end{scope}
%
\begin{scope}[xshift=35cm]
\draw (-d/2,-R) rectangle (d/2,-rr-dd) (-d/2,R) rectangle (d/2,rr+dd)
(-d/2-L,-rr) rectangle (d/2+l,rr);
\draw[fill] (-d/2,-rr) rectangle (d/2,-rr-dd)
(-d/2,rr) rectangle (d/2,rr+dd);
\draw[dashed] (d/2,R) -- ++ (5,0) coordinate (rt)
(d/2,-R) -- ++ (5,0) coordinate (rb);
\draw[<->] (rt) -- (rb) node[midway,rotate=90,anchor=north]
{\pgfmathparse{2*R}\pgfmathprintnumber\pgfmathresult\,mm};
\draw[<->] (-d/2,R+1) -- (d/2,R+1) node[midway,rotate=90,anchor=west]
{\pgfmathparse{d}\pgfmathprintnumber\pgfmathresult\,mm};
\end{scope}
\end{tikzpicture}
\end{document}