Edit and compile if you like:
% Author: Izaak Neutelings (March 2019)\documentclass[border=3pt,tikz]{standalone}\usetikzlibrary{calc}\tikzset{>=latex} % for LaTeX arrow head\colorlet{knob}{blue!20!black!40}\colorlet{mylightblue}{blue!10}\colorlet{mydarkblue}{blue!30!black}\colorlet{mydarkred}{red!50!black}\tikzstyle{gas}=[red!10]\tikzstyle{rope}=[orange!60!black,line width=1.5]% ANGLE\newcommand{\getangle}[3]{%\pgfmathanglebetweenpoints{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}\global\let#1\pgfmathresult}% ENGINE\def\engine#1{\def\Pw{2} % piston width\def\Pl{3} % piston length\def\Pt{0.5} % piston thickness\def\Cl{5}\def\Ct{0.2}\def\R{0.2}\def\Sw{3} % platform S width\def\St{.4} % platform S thickness\def\Sh{1.5} % platform height\def\hRP{1.32}\def\hSR{3.5}\coordinate (O) at (0,0);\coordinate (R) at (\R,\hSR);% PISTON\begin{scope}[shift={(-2.7,\hSR+\hRP)}]\coordinate (P) at (#1,0);\fill[gas](-\Cl/2,-\Pw/2) rectangle (#1,\Pw/2);
Click to download: engine_simple.tex • engine_simple.pdf
Open in Overleaf: engine_simple.tex