Here's my version with Tikz. There are some minor details that I simplified but I'd say it resembles your image enough. The only thing missing are the circles to symbolize the gas, but I don't think that'd be hard for you to replicate.
The command is as follows:
\flask[ <arrow direction> ]{ <position of the flask> }{ <pressure> }{ <text> };
The first argument is optional. If not specified, the arrow will go right. To make it go left add [arrL]
in the position you see above, with square brackets. After the position of the picture, which is self-explanatory, we have pressure where you type the value for the manometer. It accepts the actual value, so if you type 500
, it will show that. Of course, typing 130
will work too, as you can see below, or even 137
. The last argument is the text near the arrow to name the gas.
Output
Code
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, shadings, arrows.meta}
\definecolor{tappo}{RGB}{148,154,110}
\definecolor{lightblue}{RGB}{155,210,220}
\tikzset{
arrR/.style={-Latex},
arrL/.style={Latex-}
}
\newcommand\flask[4][arrR]{%
\begin{scope}[shift={(#2)}]
\draw[gray] (-1.8,0) arc (180:0:1.8cm and 6mm);
\begin{scope}
\clip[rounded corners=5mm] (-.5,5) -- (-.5,3.5) -- (-1.8,.5) [sharp corners]-- (-1.8,0) arc (180:360:1.8cm and 6mm) [rounded corners=5mm]-- (1.8,.5) -- (.5,3.5) [sharp corners]-- (.5,5) -- cycle;
\end{scope}
\draw[gray] (.1,4) arc (0:180:1mm and .5mm);
\draw (.1,4.8) -- (.1,4) arc (360:180:1mm and .5mm) -- (-.1,4.8);
\draw[right color=tappo, left color=tappo, middle color=tappo!40] (.4,4.5) -- (.6,5.5) arc (0:180:6mm and 2mm) -- (-.4,4.5) arc (180:360:4mm and 2mm);
\draw[fill=tappo!60] (0,5.5) ellipse (6mm and 2mm);
\draw[fill=lightblue,rounded corners=5mm, fill opacity=.7] (-.5,5) -- (-.5,3.5) -- (-1.8,.5) [sharp corners]-- (-1.8,0) arc (180:360:1.8cm and 6mm) [rounded corners=5mm]-- (1.8,.5) -- (.5,3.5) [sharp corners]-- (.5,5) arc (360:180:5mm and 2mm);
\draw[fill=lightblue, opacity=.5] (.5,5) to[out=-50,in=230, looseness=2] (-.5,5) arc (180:360:5mm and 2mm);
\fill[black] (0,5.5) ellipse (1mm and .5mm);
\draw[fill=lightblue, fill opacity=.5] (.1,6.3) -- (.1,5.5) arc (360:180:1mm and .5mm) -- (-.1,6.3) -- cycle;
\draw[left color=black, right color=black, middle color=gray] (.1,6.5) -- (.1,6.3) arc (360:180:1mm and .5mm) -- (-.1,6.5) -- cycle;
\draw[ultra thick, fill=white!95!black] (0,7.5) circle (1cm);
\node[font=\sffamily\bfseries\scriptsize] at (0,7.9) {hPa};
\foreach \x [evaluate=\x as \angle using int(210-(\x*16))] in {0,...,15}{%
\pgfmathsetmacro\tick{int(mod(\x,5))}
\ifnum\x=0
\draw[very thick] ($(0,7.5)+(\angle:1cm)$) --++ (\angle:-2mm) node[pos=1.8, text=black, font=\tiny] {$\x$};
\else
\ifnum\tick=0
\draw[very thick] ($(0,7.5)+(\angle:1cm)$) --++ (\angle:-2mm) node[pos=1.8, text=black, font=\tiny] {$\x00$};
\else
\draw ($(0,7.5)+(\angle:1cm)$) --++ (\angle:-2mm);
\fi
\fi
}
\begin{scope}[remember picture,overlay,shift={(0,7.5)},rotate=210-(#3*.16)]
\filldraw[black] (-.2,.03) --++ (1,-.01) --++ (0,-.04) --++ (-1,-.01) --++ (0,-.08) --++ (-.05,0) --++ (0,.22) --++ (.05,0) -- cycle;
\end{scope}
\draw[gray, fill=lightblue!50] (.49,3.9) ellipse (.5mm and 1mm);
\draw[fill=lightblue, fill opacity=.5] (.49,4) -- (2,4) arc (90:-90:.5mm and 1mm) -- (.49,3.8) arc (-90:-270:.5mm and 1mm);
\draw (2,3.8) arc (-90:-270:.5mm and 1mm);
\begin{scope}
\draw[#1, line width=.2mm] (1.5,3.9) -- (2.5,3.9) node[right, font=\scriptsize] {#4};
\draw[fill=lightblue!60] (.8,4.2) -- (1,4.2) -- (1,4.1) -- (.94,4.1) -- (.94,4.05) -- (1,4) arc (360:180:1mm and .25mm) -- (.86,4.05) -- (.86,4.1) -- (.8,4.1) -- cycle;
\draw[fill=lightblue!60] (1,3.81) -- (.95,3.75) -- (.85,3.75) -- (.8,3.81);
\draw[fill=lightblue!60] (.96,3.76) to[out=-50,in=230, looseness=1.8] (.84,3.76) to[out=-15,in=195] cycle;
\draw[fill=lightblue!60] (.94,3.72) to[out=-50,in=230, looseness=2] (.86,3.72) to[out=-15,in=195] cycle;
\end{scope}
\begin{scope}[xshift=4mm]
\draw[fill=lightblue!60] (.8,4.2) -- (1,4.2) -- (1,4.1) -- (.94,4.1) -- (.94,4.05) -- (1,4) arc (360:180:1mm and .25mm) -- (.86,4.05) -- (.86,4.1) -- (.8,4.1) -- cycle;
\draw[fill=lightblue!60] (1,3.81) -- (.95,3.75) -- (.85,3.75) -- (.8,3.81);
\draw[fill=lightblue!60] (.96,3.76) to[out=-50,in=230, looseness=1.8] (.84,3.76) to[out=-15,in=195] cycle;
\draw[fill=lightblue!60] (.94,3.72) to[out=-50,in=230, looseness=2] (.86,3.72) to[out=-15,in=195] cycle;
\end{scope}
\end{scope}
}
\begin{document}
\begin{tikzpicture}
\flask{0,0}{0}{pomp};
\flask[arrL]{5,0}{130}{ether};
\flask[arrL]{10,0}{590}{ether};
\end{tikzpicture}
\end{document}