tikz-pgf,tikz-styles,technical-drawing – How to Draw Inside Concentric Circles Using TikZ

technical-drawingtikz-pgftikz-styles

I want to draw certain shapes inside a set of concentric circles. I have been able to draw the concentric circles. My current MWE is:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{decorations.text,calc,arrows.meta}
\usetikzlibrary{positioning}
% Color Define
\definecolor{magenta}{HTML}{FF00FF}
\definecolor{brass}{rgb}{0.71, 0.65, 0.26}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[line width=0.5mm]
\coordinate (O) at (0,0);
\draw[magenta] (O) circle (6.5);
\draw[magenta] (O) circle (4.8);
\draw[magenta] (O) circle (2.3);
\draw[brass,dashed]  (O) circle (1.1);
\draw[red] (O) circle (0.35);
\end{tikzpicture}
\end{figure}
\end{document}

This provides [not drawn to scale]:

enter image description here

The desired output is as follow, basically how to draw those shapes inside the circle and show the dimensions:

enter image description here

Appreciate your suggestions and insights in advance.

Best Answer

enter image description here

Some comments The figure you want to obtain has a rotational symmetry which asks for a loop based on 30, 60, ... degrees. Moreover, the points on which the 12 "triangles" are constructed live on an unseen circle which is drawn in red in the figure above. You can set the radius of this circle by modifying the parameter \r-0. The point corresponding to the vertical "triangle" is especially important in the construction of the label $30^\circ$.

The code

\documentclass[11pt, border=.8cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, math, arrows.meta}

\begin{document}
\tikzset{
  c arc/.style args={#1:#2:#3}{insert path={++(#1:#3) arc (#1:#2:#3)}},
}
\tikzmath{
  real \r-0, \r0, \r1, \R, \eps;
  \r-0 = 0.46;
  \r0 = 1.1;
  \r1 = 1.25;
  \R = 2.30;
  \eps = .01;
}
\begin{tikzpicture}[scale=2]
  \draw[thick] (0, 0) circle (\r-0);
  \draw[red!50, very thin] (0, 0) circle (\r0);
  \draw[gray] (0, 0) circle (\r1);
  \draw[thick] (0, 0) circle (\R);
  \draw[thick] (0, 0) circle (2.1*\R);
  \draw[thick] (0, 0) circle (3*\R);
  \foreach \a in {0, 30, ..., 330}{%
    \draw[thick] (\a: \r0) ++(\a -15: \r1 -\r0) -- ++(\a: \R -\r1);
    \draw[thick] (\a: \r0) ++(\a -15: \r1 -\r0) -- ++(\a -15: \R -\r1 +\eps);
    \draw[thick] (\a: \r0) ++(\a +15: \r1 -\r0) -- ++(\a: \R -\r1);
    \draw[thick] (\a: \r0) ++(\a +15: \r1 -\r0) -- ++(\a +15: \R -\r1 +\eps);
  }

  %% label 30 degrees
  \draw[gray] (90: \r0) ++(90 -15: \R -\r0 +.3) -- ++(90 -15: 2.5*\R);
  \draw[gray] (90: \r0) ++(90 +15: \R -\r0 +.3) -- ++(90 +15: 2.5*\R);
  \draw[very thin, arrows={Latex[length=5]-Latex[length=5]}]
  (90: \r0) [c arc={90 -15}: {90 +15}: {3*\R}]
  node[pos=.5, above] {$30^\circ$};
\end{tikzpicture}
\end{document}