I want to draw like this

Gears I created based on rpapa's codes.
\documentclass{article}
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{tikz}
\newcommand{\gear}[3]{%
\def\modu{#1}
\def\Zb{#2}
\def\AngleA{#3}
\pgfmathsetmacro{\Rpr}{\Zb*\modu/2}
\pgfmathsetmacro{\Rb}{\Rpr*cos(\AngleA)}
\pgfmathsetmacro{\Rt}{\Rpr+\modu}
\pgfmathsetmacro{\Rp}{\Rpr-1.25*\modu}
\pgfmathsetmacro{\AngleT}{pi/180*acos(\Rb/\Rt)}
\pgfmathsetmacro{\AnglePr}{pi/180*acos(\Rb/\Rpr)}
\pgfmathsetmacro{\demiAngle}{180/\Zb}
\pgfmathsetmacro{\Angledecal}{(\demiAngle-2*\AnglePr)/2}
\foreach \zz in{1,2,...,\Zb}{
\draw[DarkSlateGray!70!Sepia]
({(\zz))/\Zb*360-\Angledecal}:\Rb)
-- (\zz/\Zb*360-\Angledecal:\Rp)
to[bend right=\demiAngle]
(\zz/\Zb*360+\Angledecal:\Rp)
--
plot[domain=-0:\AngleT,smooth,variable=\t]
({{180/pi*(-\t+tan(180/pi*\t)) +\zz/\Zb*360+\Angledecal}:\Rb/cos(180/pi*\t)})
%
to[bend right=\demiAngle]
({{180/pi*(\AngleT+tan(180/pi*-\AngleT)) +(\zz+1)/\Zb*360-\Angledecal}:
\Rb/cos(180/pi*-\AngleT)})
%
plot[domain=-\AngleT:-0,smooth,variable=\t]
({{180/pi*(-\t+tan(180/pi*\t)) +(\zz+1)/\Zb*360-\Angledecal}:\Rb/cos(180/pi*\t)});
}
}
\begin{document}
\centering
\begin{tikzpicture}[scale=0.05]
\gear{3}{32}{20}
\path[fill=DarkSlateGray!70!Sepia] circle(40);
\draw[thick,double distance=2pt,fill=white] circle(20) ;
\begin{scope}[xshift=100cm,rotate=180/16]
\gear{3}{16}{20}
\path[fill=DarkSlateGray!70!Sepia] circle(17.5);
\draw[thick,double distance=2pt,fill=white] circle(8);
\end{scope}
\end{tikzpicture}
\end{document}
How do I draw the belt?



