How to best produce a nomogram representing an epicyclic geartrain

I have a rather philosophical question. I need to produce several so-called nomograms, they represent the relations of an epicyclic gear train used in automatic gearboxes or for the power split device in Toyota hybrids. In the figure below, you can see the equation and the diagram. I did the diagram by brute force, but I would like to generate one using variables. I could do that in the code below, but perhaps pgfplots would be better. What do you think? I hope that the comments in the code are clear enough. Inputs are the revolutions for the electric motor, the internal combustion engine (ICE) and the number of teeth z_crown and z_sun. Output is the third vertical axis.

P.S: I just corrected an error in the formula, the equation in the picture is different now. I have also introduced parameters.

\documentclass[border=3mm,tikz]{standalone}

\usetikzlibrary{arrows,calc}
\usetikzlibrary{patterns,decorations.pathreplacing}

\newcommand\revem{2600/1000}
\newcommand\revice{0}
\newcommand\zcrown{78/10}
\newcommand\zsun{30/10}

\newcommand\zdiv{2.6}

\def\revgen{\revice+\revice*\zdiv-\revem*\zdiv}

\begin{document}
\begin{tikzpicture}
% x-axis
\draw[thick, red] (0,0) -- (12,0);

% first y-axis
\draw[thick, red,->] (0,0) -- (0,5);
\node at (0,5.5) {\Large $\omega_{em}$};

% revolutions electric motor
\draw[very thick, blue] (0,0) -- (0,\revem);

% second y-axis
\draw[thick, red,->] (\zsun,0) -- (\zsun,5);
\node at (\zsun,5.5) {\Large $\omega_{ice}$};
% revolutions ICE
\draw[very thick, blue] (\zsun,0) -- (\zsun,\revice);

% third y-axis
\draw[thick, red,->] (\zcrown+\zsun,0) -- (\zcrown+\zsun,5);
\node at (\zcrown+\zsun,5.5) {\Large $\omega_{gen}$};
% revolutions  generator
\draw[very thick, blue] (\zcrown+\zsun,0) -- (\zcrown+\zsun, \revgen);

% connecting revolutions with line
\draw[very thick, blue] (0,\revem) -- (\zcrown+\zsun,\revgen);

\draw [
thick,
decoration={
brace,
mirror,
raise=0.1cm
},
decorate
] (0,0) -- (\zsun,0) node [pos=0.5,anchor=north,yshift=-0.55cm] {$z_{sun}$};
\draw [
thick,
decoration={
brace,
mirror,
raise=0.1cm
},
decorate
] (\zsun,0) -- (\zcrown+\zsun,0) node [pos=0.5,anchor=north,yshift=-0.55cm] {$z_{crown}$};

\node at (4,-6) {\Large $\omega_{gen}=\omega_{ice}+(\omega_{ice}-\omega_{em})\frac{z_{crown}}{z_{sun}}$};
\node at (4,-7) {\Large $\omega_{gen}=0+(0-2600)\frac{78}{30}=-6760$};

\end{tikzpicture}
\end{document}



• Looks good to me. You could place the tikzpicture inside a macro that takes all these parameters as arguments and produces the diagram, such as \nomogram{2600/1000}{0}{78/10}{30/10}{2.6}. Instead of \def\revgen{...}, you should probably use \pgfmathsetmacro{\revgen}{...}. Dec 14, 2021 at 14:35