I'm trying to draw an diagram of an induction machine like this: Cross-section of an electric machine circuit

Would it be possible to convert this drawing to a tree-phase machine? I tried but I couldn't do much...


  • 3
    Please describe your question more clearly. – zyy Jul 9 '19 at 1:02
  • Welcome to TeX.SE! Please show us, what you try so far. – Zarko Jul 9 '19 at 2:03

This is to give you a start. The picture is a partial reproduction of a picture found here. The IMHO only somewhat subtle point is the clip at the beginning because one has to dial an appropriate orientation.

\begin{tikzpicture}[font=\sffamily,very thick,sc/.style={circle,draw,inner sep=1.5pt}]
  \clip (4,0) arc(0:-360:4) (0,0) circle[radius=5cm];
  \fill[gray!50,even odd rule] circle[radius=5cm] circle[radius=4cm] 
   foreach \X in {1,...,6} {(\X*60:4) circle[radius=0.5cm]};
 \foreach \X [count=\Y starting from 0] in {A,B,C,A,B,C} { 
 \path(180-60*\Y:4) node[circle,draw] (n\Y) {\X};
 \foreach \Y in {0,...,4}
 {\draw[dashed,-{Stealth[bend]}] (180-72*\Y-5:3)
 \fill[gray!70] circle[radius=1.8cm];   
 \foreach \X in {1,...,20}
 {\draw (\X*18:2) circle[radius=0.12cm];}
 \draw (n1) -- (120:5.8) coordinate (aux) -- (-6.7,0|-aux)  node[sc,left] (c1){};
 \draw (n3) -- (0:5.8) |- ([yshift=8mm]c1.east)  node[sc,left] (c3){};
 \draw (n5) -- (-120:5.8) -| ([yshift=-8mm,xshift=5mm]c1.east)  
 -- ++(-0.5,0)node[sc,left] (c5){};
 \draw[decorate,decoration={brace,mirror,raise=2pt}] (c3.north west) -- (c5.south west)
  node[midway,left=3pt,align=right]{3 Phase\\ input};
 \draw (n0) -| (-5.8,-5.8) node[sc,fill] {} -- ++ (-1,0)
  node[left,sc,label=left:Common] (Common){};
 \draw (n4) -- (-60:5.6) coordinate(aux) -- (aux|-Common) node[sc,fill]{};
 \draw (n2) -- (60:5.6) coordinate(aux) -- (aux-|6,0) |- (Common);

enter image description here

  • Wow, I like the way you designed the black lines with black dots and arrows! – manooooh Jul 9 '19 at 3:45
  • 1
    @manooooh Yes, it is a very deep black. ;-) – user121799 Jul 9 '19 at 3:49

After a few hours I was able to do something similar to what I wanted in the beginning. Thanks for the help. I relied on the example provided in the following link: Cross-section of an electric machine circuit



        % Definitions

        \def\Current[#1][#2](#3)(#4)#5#6[#7]{%1: Angle 2: radious 3:type 4:ID 5:color 6:Label text 7:polar text position.
            \draw (#1:#2)++(#7:0.5) node {\contour{white}{#6}};
            \begin{scope}[shift={(#1:#2)}, rotate=#1-90,transform shape]
                \node[inner sep=0,minimum size=13pt](I#4) at (0,0){};
                \ifnum#3=0 \draw[#5,thick](45:5pt)--(-135:5pt) (-45:5pt)--(135:5pt) (0,0) circle (5pt); \fi
                \ifnum#3=1 \draw[#5,thick](0,0) circle (5pt);\fill[#5](0,0) circle (2pt); \fi       

        %Drawing Stator

        \begin{scope}[on background layer]
        \draw[thick, even odd rule, fill=black, fill opacity=0.2]
            let \p1 = (I1.south west),
                \n1 = {veclen(\x1,\y1)},
                \n2 = {atan2(\y1,\x1)}
            in  (\n2:\n1) 
                    arc (\n2:60-\n2:\n1)--(I2.north east)--(I2.north west)--(I2.south west) 
                    arc (60+\n2:120-\n2:\n1)--(I3.north east)--(I3.north west)--(I3.south west)
                    arc (120+\n2:180-\n2:\n1)--(I4.north east)--(I4.north west)--(I4.south west)
                    arc (180+\n2:240-\n2:\n1)--(I5.north east)--(I5.north west)--(I5.south west)
                    arc (240+\n2:300-\n2:\n1)--(I6.north east)--(I6.north west)--(I6.south west)
                    arc (300+\n2:360-\n2:\n1)--(I1.north east)--(I1.north west)--(I1.south west)
            (0,0) circle (3);
        \draw[->, thick](I1.north)-- ++(0:1.5) node[anchor=180]{$as$};
        \draw[->, thick](I3.north)-- ++(120:1.5) node[anchor=300]{$bs$};
        \draw[->, thick](I5.north)-- ++(240:1.5) node[anchor=60]{$cs$};
            (I2.north)-- ++(60:1)
            (I4.north)-- ++(180:1)
            (I6.north)-- ++(300:1);

        %Drawing Rotor

            \begin{scope}[on background layer]
                \draw[thick, fill=black, fill opacity=0.2]
                    let \p1 = (I7.north west),
                        \n1 = {veclen(\x1,\y1)},
                        \n2 = {atan2(\y1,\x1)}
                    in  (\n2:\n1)
                            arc (\n2:60-\n2:\n1)--(I8.south east)--(I8.south west)--(I8.north west) 
                            arc (60+\n2:120-\n2:\n1)--(I9.south east)--(I9.south west)--(I9.north west)
                            arc (120+\n2:180-\n2:\n1)--(I10.south east)--(I10.south west)--(I10.north west)
                            arc (180+\n2:240-\n2:\n1)--(I11.south east)--(I11.south west)--(I11.north west)
                            arc (240+\n2:300-\n2:\n1)--(I12.south east)--(I12.south west)--(I12.north west)
                            arc (300+\n2:360-\n2:\n1)--(I7.south east)--(I7.south west)--(I7.north west);
                \draw[->, thick, shorten >=10pt](I7.north)-- ++(0:2.4) node{$ar$};
                \draw[->, thick, shorten >=10pt](I9.north)-- ++(120:2.4) node{$br$};
                \draw[->, thick, shorten >=10pt](I11.north)-- ++(240:2.4) node{$cr$};
                    (I8.north)-- ++(60:1.6)
                    (I10.north)-- ++(180:1.6)
                    (I12.north)-- ++(300:1.6);
        \draw[->,thick] (0:0.7) arc (0:\rotationAngle:0.7) node[pos=0.5, anchor=west] {$\theta_{r}$};


enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.