4

Any idea how I draw this in LaTeX? Is is even possible? The MWE below (from example code by Hugues Vermeiren) only produces a short cylinder. I do not know how to do the cutout so I will probably forgo that and draw little holes on the whole front face. But if someone can do the cutout, thanks in advance.

Micro Channel Plate PMT

    \documentclass{standalone}
    \usepackage{tikz}
    \tikzset{Persp/.style={scale=2.8,x={(-0.8cm,-0.4cm)},y={(0.8cm,-0.4cm)}, 
    z={(0cm,.5cm)}}}
    \begin{document}

    \begin{tikzpicture}[Persp]
    \def\h{.75}% cylinder length
    \def\a{35}
    \begin{scope}[rotate=-90]
    \foreach \t in {140,320}
    \draw[black, very thick] ({cos(\t)},{sin(\t)},0)--({cos(\t)},{sin(\t)},
    {2.0*\h});
    \draw[black,very thick] (1,0,0) % front outer circle
    \foreach \t in {5,10,...,360}
    {--({cos(\t)},{sin(\t)},0)}--cycle;
    \draw[black,very thick] (.8,0,0) % front inner circle
    \foreach \t in {5,10,...,360}
    {--({.8*cos(\t)},{.8*sin(\t)},0)}--cycle;
    \draw[black,very thick] (1,0,{2*\h}) % bacl outer circle
    \foreach \t in {10,20,...,360}
        {--({cos(\t)},{sin(\t)},{2*\h})}--cycle;
    \foreach \t in {5,10,...,360}
        {--({sin(\t)},{cos(\t)},{-tan(\a)*cos(\t)+\h})}--cycle;
    \end{scope}
    \end{tikzpicture}
    \end{document}
5
  • 4
    Welcome to TeX.SX! On this site, a question should typically revolve around an abstract issue (e.g. "How do I get a double horizontal line in a table?") rather than a concrete application (e.g. "How do I make this table?"). Questions that look like "Please do this complicated thing for me" tend to get closed because they are either "off topic", "too broad", or "unclear". Please try to make your question clear & simple by giving a minimal working example (MWE): you'll stand a greater chance of getting help. Jun 6 '17 at 19:17
  • 4
    Things that are left to the potential answerer's imagination: is the hole pattern on a hexagonal grid or another arrangement? Are the black areas required (they don't appear to have any physical relation to the cutout section), etc. Jun 6 '17 at 19:18
  • I will edit the question. I normally would add a MWE. That is, if I had an idea where to start.
    – Ab1152632
    Jun 6 '17 at 19:38
  • In the absence of a MWE, any relevant details would help. Including answers to the questions I mentioned. If your constraints are minimal, that'll help. If they're numerous and non-negotiable, that'll make things more difficult. Jun 6 '17 at 19:41
  • The constraints are minimal. Black areas not necessary. And the hole pattern can be set on literally any grid. Whichever is easier. I am about to upload an ugly short cylinder as a MWE.
    – Ab1152632
    Jun 6 '17 at 20:11
6

Got around to drawing this as I was waiting for my students exam results.

This is some rather ad-hoc code... please don't judge me.

Anyway, the output

enter image description here

The code

\documentclass[12pt,tikz,border=2pt]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{calc}
\begin{document}
\tikzset
{
  copper/.style={fill=red!50},
  coating/.style={fill=gray},
}
\def\angThe{40}
\def\angPhi{50}
\tdplotsetmaincoords{\angThe}{\angPhi}
\begin{tikzpicture}[scale=4,tdplot_main_coords]
  \def\R{2}     % radius of the inner plate
  \def\RR{2.2}  % outer radius
  \def\d{.08}   % space between holes
  \def\r{.03}   % radius of holes
  \def\z{2}     % thickness of the cake

  % translation vector between plates
  \coordinate (vert) at (0,0,\z); 

  \pgfmathtruncatemacro{\ratio}{ceil(1.414*\R/\d)}
  \newcommand\usefulCoords
  {
    \coordinate(o) at (0,0);
    \coordinate(i) at (0:1);
    \coordinate(j) at (60:1);
    \coordinate(k) at (-60:1);
  }
  \begin{scope}
    \usefulCoords
    \clip  (\angPhi:-\R) -- (\angPhi+90:.9*\R) -- (\angPhi:\R) -- ++ (\angPhi-90:\R) -- ++ (\angPhi:-2*\R) -- cycle;
    \clip (o) -- (\R,0) arc (0:300:\R) -- cycle;
    %\fill [fill=white] (o) -- (\R,0) arc (0:300:\R) -- cycle;
    \foreach \x [evaluate=\x as \i using \x*\d] in {0,...,\ratio}
    {
      \draw [fill=white] ($(o)+\i*(i)$) circle (\r)
                         ($(o)+\i*(k)$) circle (\r);
    }
  \end{scope}
  \begin{scope}[shift={(vert)}]
    \usefulCoords
    \clip (o) -- (\R,0) arc (0:300:\R) -- cycle;
    \draw [copper] (o) -- (\R,0) arc (0:300:\R) -- cycle;
    \foreach \x [evaluate=\x as \i using \x*\d] in {-\ratio,...,\ratio}
    {
      \foreach \y [evaluate=\y as \j using \y*\d] in {-\ratio,...,\ratio}
      {
        \draw [fill=white] ($(o)+\i*(i)+\j*(j)$) circle (\r);
      }
    }
  \end{scope}

  \pgfmathtruncatemacro{\ffloor}{floor(\R/\d)-1}
  \usefulCoords
  \foreach \x [evaluate=\x as \i using \x*\d] in {1,...,\ffloor}
  {
    \draw [fill=white,] ($(o)+\i*(i)+\r*(i)$) arc (0:180:\r) -- ++ (vert) arc (180:0:\r) -- cycle;
    \draw [fill=white,] ($(o)+\i*(k)+\r*(k)$) arc (300:120:\r) -- ++ (vert) arc (120:300:\r) -- cycle;
  }
  \foreach \x [evaluate=\x as \i using \x*\d] in {0,...,\ffloor}
  {
    \draw [copper] ($(o)+\i*(i)+\r*(i)$) -- ++ (vert)-- ++ (${\d-2*\r}*(i)$) -- ++($-1*(vert)$) -- cycle;
    \draw [copper] ($(o)+\i*(k)+\r*(k)$) -- ++ (vert)-- ++ (${\d-2*\r}*(k)$) -- ++($-1*(vert)$) -- cycle;
  }
  \begin{scope}[shift={(vert)}]
    \draw [coating] (\R,0) -- (\RR,0) arc (0:300:\RR) -- (300:\R) arc (300:0:\R) -- cycle;
  \end{scope}
  \draw (\angPhi:-\RR) -- ++ (vert) 
         (\angPhi:\RR) -- ++ (vert);
  \draw (\angPhi:\RR) arc (\angPhi:0:\RR) -- (0:\R) 
        (\angPhi:-\RR) arc (\angPhi:120:-\RR) -- (120:-\R);
  \draw [coating] (120:-\R) -- ++(vert) -- ++(300:\RR-\R) -- (120:-\RR)
                  (0:\R) -- ++(vert) -- ++(0:\RR-\R) -- (0:\RR);
\end{tikzpicture}
\end{document}
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.