summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikz-relay
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-06-10 18:04:59 +0000
committerKarl Berry <karl@freefriends.org>2019-06-10 18:04:59 +0000
commit1f801886ce857d45df85b4f11dfd0b0523361922 (patch)
treef9b2d6f8b1f6548af2ceb5f57630367c6a7924eb /Master/texmf-dist/tex/latex/tikz-relay
parent95f2d175f032ae1037e804c4898569bc29454680 (diff)
tikz-relay flatten
git-svn-id: svn://tug.org/texlive/trunk@51355 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikz-relay')
-rw-r--r--Master/texmf-dist/tex/latex/tikz-relay/tikzlibrarycircuits.ee.IEC.relay.code.tex1047
1 files changed, 1047 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tikz-relay/tikzlibrarycircuits.ee.IEC.relay.code.tex b/Master/texmf-dist/tex/latex/tikz-relay/tikzlibrarycircuits.ee.IEC.relay.code.tex
new file mode 100644
index 00000000000..4f78fb77acc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-relay/tikzlibrarycircuits.ee.IEC.relay.code.tex
@@ -0,0 +1,1047 @@
+%% This is file `tikzlibrarycircuits.ee.IEC.relay.code.tex'
+%% Version: 1.2
+%% Version date: 2018-06-13
+%%
+%% Copyright (C) 2018 by Luis Paulo Laus, laus@utfpr.edu.br
+%%
+%% This package can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or (at your option) any later version,
+%% with `The Package' referring to the software
+%% `tikzlibrarycircuits.ee.IEC.relay.code.tex'
+%% and its accompanying documentation and `The Copyright Holder'
+%% referring to the person Luis Paulo Laus.
+%%
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For error reports, comments or suggestions in case of UNCHANGED
+%% versions send mail to:
+%% laus@utfpr.edu.br
+%%
+%%
+%% Change History:
+%% 1.0: 05 February 2018: Original Version
+%% 1.1: 19 February 2018: new annotations: delayed activation,
+%% delayed deactivation, delayed both,
+%% touch switch, magnetic switch,
+%% static switch, polarized relay,
+%% remanent, electronic, pulse counter,
+%% counter switch, var level switch,
+%% pedal operated, lever operated,
+%% key operated, removable handle,
+%% crank operated, pressure switch and
+%% protected manually operated;
+%% new symbol: mechanical interlock;
+%% fix annotations separation.
+%% 1.2: 13 June 2018: new shape for mechanical interlock;
+%% new symbol for horn, var horn,
+%% buzzer, loud speaker
+%% new annotations: emergency pull
+%% switch, var emergency pull switch,
+%% emergency turn switch, var emergency
+%% turn switch, var remanent, thermal,
+%% unaffected by alternating current,
+%% mechanically resonant
+%%
+\usetikzlibrary{circuits.ee.IEC}
+\usepgflibrary{shapes.geometric}
+
+\makeatletter
+
+%% if contacts are activated or not, default is not
+\newif\ifcontact@activated
+\contact@activatedfalse
+
+\def\tikz@lib@relay@lar@plain[#1]#2\pgf@stop{\tikzset{label={[label position=357,every term/.try,#1]#2}}}
+\def\tikz@lib@relay@lbr@plain[#1]#2\pgf@stop{\tikzset{label={[label position=183,every term'/.try,#1]#2}}}
+\def\tikz@lib@relay@lal@plain[#1]#2\pgf@stop{\tikzset{label={[label position=63,every term''/.try,#1]#2}}}
+
+\pgfdeclareshape{magnetic sensor IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=\pgf@xa%
+ \advance\pgf@x by .5\pgf@xb%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \pgf@y=\pgf@ya%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-\pgf@xa%
+ \advance\pgf@x by -.5\pgf@xb%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=-\pgf@ya%
+ \advance\pgf@y by-\pgf@yb%
+ }
+
+ \inheritsavedanchors[from=circle ee]
+ \inheritanchor[from=circle ee]{center}
+ \inheritanchor[from=circle ee]{south}
+ \inheritanchor[from=circle ee]{east}
+ \inheritanchor[from=circle ee]{west}
+ \inheritanchor[from=circle ee]{south east}
+ \inheritanchor[from=circle ee]{south west}
+ \inheritanchor[from=circle ee]{input}
+ \inheritanchor[from=circle ee]{output}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \anchor{mid}{\centerpoint\advance\pgf@y by-\radius}
+
+ \anchorborder{%
+ \ifdim\pgf@y<0pt%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \edef\pgf@marshal{%
+ \noexpand\pgfpointborderellipse
+ {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}
+ {\noexpand\pgfqpoint{\radius}{\radius}}%
+ }%
+ \pgf@marshal%
+ \else%
+ % tricky... simpilfy to the origin...
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\northeast}%
+ \advance\pgf@y by0.5pt%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\pgfpointadd{\southwest}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}
+ \pgf@xa=\pgf@x
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0pt}}
+ \pgfpatharc{0}{180}{\pgf@xa}
+ \pgfusepathqstroke
+ }
+}
+
+\pgfdeclareshape{thermic sensor IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=\pgf@xa%
+ \advance\pgf@x by .5\pgf@xb%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \pgf@y=\pgf@ya%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-\pgf@xa%
+ \advance\pgf@x by -.5\pgf@xb%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=-\pgf@ya%
+ \advance\pgf@y by-\pgf@yb%
+ }
+ \savedanchor\centerpoint{%
+ \pgf@x=0pt%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=-\pgf@ya%
+ \advance\pgf@y by-\pgf@yb%
+ }
+
+ \anchor{center}{\pgfpointorigin}
+ \anchor{mid}{\centerpoint}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \anchor{input}{%
+ \pgf@process{\southwest}%
+ \pgf@y=0pt%
+ }
+ \anchor{output}{%
+ \pgf@process{\northeast}%
+ \pgf@y=0pt%
+ }
+
+ \anchorborder{%
+ \ifdim\pgf@y<0pt%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\southwest}%
+ \pgf@xa=-\pgf@x%
+ \pgf@ya=-\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \else%
+ % tricky... simpilfy to the origin...
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\northeast}%
+ \advance\pgf@y by0.5pt%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\pgfpointadd{\southwest}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}
+ \pgf@xa=\pgf@x
+ \pgf@xb=-\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@yb}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{0pt}}
+ \pgfusepathqstroke
+ }
+}
+
+% af:=30*PI/180; a:=1/3; l:=a+2/cos(af); x:=l*cos(af)-1; y:=l*sin(af);c:=tan(af); float([x,y,c, l]);
+\pgfdeclareshape{make contact IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=.5\pgf@xa%
+ \pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/minimum height}}%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-.5\pgf@xa%
+ \pgf@y=0pt%
+ }
+ \savedanchor\centerpoint{%
+ \pgf@x=0pt
+ \ifcontact@activated
+ \pgf@y=0pt%
+ \else
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=0.5773503\pgf@ya%
+ \fi
+ }
+
+ \anchor{center}{\pgfpointorigin}
+ \anchor{mid}{\centerpoint}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \anchor{input}{\southwest}
+ \anchor{output}{%
+ \pgf@process{\northeast}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\southwest}%
+ \pgf@x=\pgf@xa%
+ }
+
+ \anchorborder{%
+ \ifdim\pgf@y<0pt%
+ % tricky... simpilfy to the origin...
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\southwest}%
+ \advance\pgf@y by-0.5pt%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{-\pgf@xa}{-\pgf@ya}}}%
+ \else%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\northeast}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=1.321367\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\northeast}
+ \pgf@xa=-\pgf@x
+ \ifcontact@activated
+ \pgf@xb=\pgf@x \pgf@yb=0pt
+ \else
+ \pgf@xb=1.288675\pgf@x \pgf@yb=1.321367\pgf@y
+ \fi
+ % Fixed point
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0pt}}
+ % Moving point
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}
+ \pgfusepathqstroke
+ }
+}
+
+
+% af:=arctan(1/3); a:=1-2*tan(af); l:=a+2/cos(af); x:=l*cos(af)-1; y:=-l*sin(af); c:=-tan(af); float([x,y,c]);
+% af:=arctan(1/3); a:=1-2*tan(af); l:=a+2/cos(af); af:=arctan(2/3); x:=l*cos(af)-1; y:=l*sin(af); c:=-tan(af); float([x,y,c]);
+\pgfdeclareshape{break contact IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=.5\pgf@xa%
+ \pgf@y=0pt%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-.5\pgf@xa%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=-\pgf@ya%
+ }
+ \savedanchor\centerpoint{%
+ \pgf@x=0pt
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \ifcontact@activated
+ \pgf@y=-0.666667\pgf@ya%
+ \else
+ \pgf@y=-0.333333\pgf@ya%
+ \fi
+ }
+
+ \anchor{center}{\pgfpointorigin}
+ \anchor{mid}{\centerpoint}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \anchor{input}{%
+ \pgf@process{\southwest}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\northeast}%
+ \pgf@x=\pgf@xa%
+ }
+ \anchor{output}{\northeast}
+
+ \anchorborder{%
+ \ifdim\pgf@y<0pt%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\southwest}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=1.354311\pgf@y% maximum distance used to prevent jump
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{-\pgf@xa}{-\pgf@ya}}}%
+ \else%
+ % tricky... simpilfy to the origin...
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\southwest}%
+ \pgf@xa=-\pgf@x%
+ \pgf@ya=-0.488067\pgf@y% 1.321367-0.5-0.333333
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\southwest}
+ \pgf@xa=-\pgf@x \pgf@ya=\pgf@y
+ \ifcontact@activated
+ \pgf@xb=-1.031466\pgf@x \pgf@yb=1.354311\pgf@y
+ \else
+ \pgf@xb=-1.316228\pgf@x \pgf@yb=0.772076\pgf@y
+ \fi
+ % Fixed
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{0pt}}
+ \pgfusepathqstroke
+ % Moving
+ \pgfpathmoveto{\pgfqpoint{-\pgf@xa}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}
+ \pgfusepathqstroke
+ }
+}
+
+
+% af:=arctan(2/3); a:=2*tan(af)-1; l:=a+2/cos(af); x:=l*cos(af)-1; y:=l*sin(af); c:=tan(af); float([x,y/2,c/2]);
+\pgfdeclareshape{change over contact IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=.5\pgf@xa%
+ \pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/minimum height}}%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-.5\pgf@xa%
+ \pgf@y=0pt%
+ }
+ \savedanchor\centerpoint{%
+ \pgf@x=0pt
+ \ifcontact@activated
+ \pgf@y=0pt
+ \else
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=0.333333\pgf@ya%
+ \fi
+ }
+
+ \anchor{center}{\pgfpointorigin}
+ \anchor{mid}{\centerpoint}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \anchor{input}{\southwest}
+ \anchor{output}{%
+ \pgf@process{\northeast}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\southwest}%
+ \pgf@x=\pgf@xa%
+ }
+ \anchor{output 2}{% alias for output
+ \pgf@process{\northeast}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\southwest}%
+ \pgf@x=\pgf@xa%
+ }
+ \anchor{output 1}{\northeast}% the thrird, normaly closed, terminal
+
+ \anchorborder{%
+ \ifdim\pgf@y<0pt%
+ % tricky... simpilfy to the origin...
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\southwest}%
+ \advance\pgf@y by-0.5pt%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{-\pgf@xa}{-\pgf@ya}}}%
+ \else%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\northeast}}%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\northeast}
+ \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \ifcontact@activated
+ \pgf@xb=\pgf@x \pgf@yb=0pt
+ \else
+ \pgf@xb=1.27735\pgf@x \pgf@yb=0.759117\pgf@y
+ \fi
+ % Fixed
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{.5\pgf@ya}}
+ \pgfusepathqstroke
+ % Moving
+ \pgfpathmoveto{\pgfqpoint{-\pgf@xa}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}
+ \pgfusepathqstroke
+ }
+}
+
+
+\pgfdeclareshape{proximity sensor coil IEC relay}
+{
+ \inheritsavedanchors[from=rectangle ee]
+ \inheritanchor[from=rectangle ee]{center}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \inheritanchor[from=rectangle ee]{input}
+ \inheritanchor[from=rectangle ee]{output}
+ \inheritanchorborder[from=rectangle ee]
+ \backgroundpath{
+ \pgf@process{\pgfpointadd{\northeast}{\pgfpointscale{-1}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}}
+ \pgf@xa=-\pgf@x \pgf@ya=-\pgf@y
+ \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgf@yb}}
+ \pgfpathclose
+ }
+ \foregroundpath{
+ \pgf@process{\pgfpointadd{\northeast}{\pgfpointscale{-1}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}}
+ \pgf@xa=-\pgf@x \pgf@ya=-\pgf@y
+ \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{0.75\pgf@xa}{0.25\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{0.75\pgf@xb}{0.25\pgf@ya}}
+ \pgfpathmoveto{\pgfqpoint{0.75\pgf@xa}{0.25\pgf@yb}}
+ \pgfpathlineto{\pgfqpoint{0.75\pgf@xb}{0.25\pgf@yb}}
+ \pgfusepathqstroke
+ }
+}
+
+
+% w= 0.8; h = w/2*tan(60*PI/180);
+\pgfdeclareshape{mechanical interlock IEC relay}
+{
+ \savedanchor\northeast{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=.5\pgf@xa%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=.5\pgf@ya%
+ }
+ \savedanchor\southwest{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=-.5\pgf@xa%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@y=-.5\pgf@ya%
+ }
+ \savedanchor\savedoutput{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgf@x=.25\pgf@xa%
+ \pgf@y=0pt%
+ }
+
+ \anchor{center}{\pgfpointorigin}
+ \anchor{mid}{\pgfpointorigin}
+ \inheritanchor[from=rectangle ee]{north}
+ \inheritanchor[from=rectangle ee]{south}
+ \inheritanchor[from=rectangle ee]{east}
+ \inheritanchor[from=rectangle ee]{west}
+ \inheritanchor[from=rectangle ee]{north east}
+ \inheritanchor[from=rectangle ee]{north west}
+ \inheritanchor[from=rectangle ee]{south east}
+ \inheritanchor[from=rectangle ee]{south west}
+ \anchor{output}{\savedoutput}
+ \anchor{input}{%
+ \pgf@process{\savedoutput}%
+ \pgf@x=-\pgf@x%
+ }
+ \anchor{east}{\savedoutput}
+ \anchor{west}{%
+ \pgf@process{\savedoutput}%
+ \pgf@x=-\pgf@x%
+ }
+
+ \anchorborder{%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\savedoutput}%
+ \ifdim\pgf@xa<0pt%
+ \pgf@x=-\pgf@x%
+ \fi%
+ }
+
+ \backgroundpath{
+ \pgf@process{\northeast}
+ \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{-\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgf@ya}}
+ \pgfpathclose
+ }
+}
+
+\makeatother
+
+\tikzset{
+ circuit declare symbol=fuse,
+ circuit declare symbol=horn,
+ circuit declare symbol=buzzer,
+ circuit declare symbol=loud speaker,
+ circuit declare symbol=magnetic sensor,
+ circuit declare symbol=thermic sensor,
+ circuit declare symbol=change over contact,
+ circuit declare symbol=relay coil,
+ circuit declare symbol=proximity sensor coil,
+ circuit declare symbol=mechanical interlock,
+ % annotations for contact
+ % 0.5773503+0.8+0.3+0.9+0.3+0.7-1.321367
+ circuit declare annotation={manually operated}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-1\tikzcircuitssizeunit,0)}] ()
+ },
+ % 0.5773503+0.8+0.3+0.9+0.3+0.7-0.2+0.5-1.321367
+ circuit declare annotation={protected manually operated}{2.5559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-1\tikzcircuitssizeunit,0) ++(-.5\tikzcircuitssizeunit,-.2\tikzcircuitssizeunit) -- ++ (.3\tikzcircuitssizeunit,0) -- ++ (0,.5\tikzcircuitssizeunit) -- ++ (1.4\tikzcircuitssizeunit,0) -- ++ (0,-.5\tikzcircuitssizeunit) -- ++ (.3\tikzcircuitssizeunit,0) }] ()
+ },
+ % 0.5773503+0.8+0.3+0.9+0.3+0.7-1.321367
+ circuit declare annotation={push button}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,-0.5\tikzcircuitssizeunit)}] ()
+ },
+ % thick 0.8pt (0.114286), 0.5773503+1.25+2*0.114286-1.321367
+ circuit declare annotation={var push button}{0.7345553\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line to,->] ++(0,1.25\tikzcircuitssizeunit)
+ ++(-0.7\tikzcircuitssizeunit,1.25\tikzcircuitssizeunit+1.5*\pgflinewidth) edge[circuit symbol lines/.try,line to,line width=1.5*\pgflinewidth] ++(1.4\tikzcircuitssizeunit,0)
+ },
+ % 0.5773503+0.6+0.3+0.6+0.3+0.6+0.6-1.321367
+ circuit declare annotation={pull switch}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0.6\tikzcircuitssizeunit) -- ++(0,-0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={turn switch}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.6\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+0.6+0.3+0.6+0.45+0.45+0.6226497+0.9-sqrt(0.9^2-0.8^2)-1.321367
+ circuit declare annotation={emergency switch}{2.766322437\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0,0.6226497\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,3.0226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+ },
+ circuit declare annotation={emergency pull switch}{4.566322437\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0,0.6226497\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0.6\tikzcircuitssizeunit) -- ++(0,-0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) } ] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,4.8226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+ },
+ circuit declare annotation={var emergency pull switch}{2.766322437\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- +(0,0.6226497\tikzcircuitssizeunit) ++(0,-1.5\tikzcircuitssizeunit) -- ++(0.6\tikzcircuitssizeunit,0) ++(0.3\tikzcircuitssizeunit,0) -- ++(0.6\tikzcircuitssizeunit,0) ++(0.3\tikzcircuitssizeunit,0) -- ++(0.6\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0.6\tikzcircuitssizeunit) -- ++(0,-0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,3.0226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+ },
+ circuit declare annotation={emergency turn switch}{4.566322437\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0,0.6226497\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.6\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) } ] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,4.8226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+ },
+ circuit declare annotation={var emergency turn switch}{2.766322437\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- +(0,0.6226497\tikzcircuitssizeunit) ++(0,-1.5\tikzcircuitssizeunit) -- ++(0.6\tikzcircuitssizeunit,0) ++(0.3\tikzcircuitssizeunit,0) -- ++(0.6\tikzcircuitssizeunit,0) ++(0.3\tikzcircuitssizeunit,0) -- ++(0.6\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.6\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,3.0226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+ },
+ % 0.5773503+1.4+1+1-1.321367
+ circuit declare annotation={thermal switch}{2.6559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [annotation arrow,-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={--++(0,1.4\tikzcircuitssizeunit)--++(\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)--++(-\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+2.6+0.4-1.321367
+ circuit declare annotation={roller}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={++(0,2.6\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit)}] () edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+ circuit declare annotation={removable handle}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle}] ()
+ },
+ % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+ circuit declare annotation={proximity switch}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0)}] ()
+ },
+ % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+ circuit declare annotation={touch switch}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol open/.try,line join=bevel,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(-0.2\tikzcircuitssizeunit,0.65\tikzcircuitssizeunit) -- ++(1.7\tikzcircuitssizeunit,0)}] ()
+ },
+ % 0.5773503+3.4226497+1-1.321367
+ circuit declare annotation={magnetic switch}{3.678633\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0)}] () edge[circuit symbol filled/.try,to path={++(0.5\tikzcircuitssizeunit,3.4226497\tikzcircuitssizeunit) -- ++(0.5\tikzcircuitssizeunit,0) -- ++(0,1\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) -- ++(0,-1\tikzcircuitssizeunit) -- ++(0.5\tikzcircuitssizeunit,0) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(1\tikzcircuitssizeunit,0) --cycle}] ()
+ },
+ % 0.5773503+3+1-1.321367
+ circuit declare annotation={level switch}{3.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(.5\tikzcircuitssizeunit,\tikzcircuitssizeunit) -- ++(.5\tikzcircuitssizeunit,0)}] () edge[circuit symbol open/.try,to path={++(0,2\tikzcircuitssizeunit) arc[start angle=-53, delta angle=106, radius=1.25\tikzcircuitssizeunit] arc[start angle=127, delta angle=106, radius=1.25\tikzcircuitssizeunit] --cycle}] ()
+ },
+ circuit declare annotation={var level switch}{3.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(.5\tikzcircuitssizeunit,\tikzcircuitssizeunit) -- ++(.5\tikzcircuitssizeunit,0)}] () edge[circuit symbol open/.try,to path={++(0,3\tikzcircuitssizeunit) ellipse({0.5\tikzcircuitssizeunit} and {\tikzcircuitssizeunit})}] ()
+ },
+ % 0.5773503+2+2-1.321367
+ circuit declare annotation={counter switch}{3.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- +(0,0.8\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(-\tikzcircuitssizeunit,2\tikzcircuitssizeunit) --++(0,2\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,0) --++(0,-2\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(0,3\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+0.9+0.3+0.8+2-1.321367
+ circuit declare annotation={pressure switch}{3.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- +(0,0.8\tikzcircuitssizeunit) node[left,draw,minimum size=2\tikzcircuitssizeunit,rotate=270,circuit symbol open/.try]{P}}] ()
+ },
+ % 0.5773503+2+0.577350+0.433013-1.321367
+ circuit declare annotation={pedal operated}{2.2663463\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.588671\tikzcircuitssizeunit) (\tikzlastnode.mid) ++(0.5\tikzcircuitssizeunit,2\tikzcircuitssizeunit) -- ++(150:1.154701\tikzcircuitssizeunit) -- ++(60:.5\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+3-1.321367; 8/10*(tan(60*PI/180)-1); print(Unquoted, float(%)); dd:=3-8/10*(1-1/tan(60*PI/180)); print(Unquoted, float(%)); -8/10+2/10*sin(60*PI/180); print(Unquoted, float(%)); 2+2/10+2/10*cos(60*PI/180); print(Unquoted, float(%)); float((dd-0.3-0.3-0.7-0.7)); print(Unquoted, float(%));
+ circuit declare annotation={lever operated}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.66188\tikzcircuitssizeunit) (\tikzlastnode.mid) +(0.585641\tikzcircuitssizeunit,3\tikzcircuitssizeunit) -- +(-0.626795\tikzcircuitssizeunit, 2.3\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(-.8\tikzcircuitssizeunit,2.2\tikzcircuitssizeunit) circle(0.2\tikzcircuitssizeunit)}] ()
+ },
+ % 0.5773503+3-1.321367;
+ circuit declare annotation={key operated}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.3\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(.4\tikzcircuitssizeunit,2.6\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit) (\tikzlastnode.mid) ++(0,2.8\tikzcircuitssizeunit) -- ++(0,-0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.2\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) -- cycle}] ()
+ },
+ % 0.5773503+0.9+0.3+0.8+1-1.321367
+ circuit declare annotation={crank operated}{2.2559833\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) -- ++(-\tikzcircuitssizeunit,0) -- ++(0,\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={position switch}{0pt}
+ {
+ [transform shape]
+ [-]
+ edge[circuit symbol wires/.try,to path={let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \n2 = {veclen(\x2,\y2)}, \p2= ($0.5*\tikzcircuitssizeunit/\n2*(\p2)$) in ($(\p1)+(\p2)$) -- ++(-\y2,\x2) -- ($(\p1)-(\p2)$)}] ()
+ },
+ circuit declare annotation={circuit breaker}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.south west) edge[circuit symbol lines/.try,to path={++(2.4\tikzcircuitssizeunit,0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.8\tikzcircuitssizeunit) ++(0.8\tikzcircuitssizeunit,0) -- ++(-0.8\tikzcircuitssizeunit,0.8\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={static switch}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.input) edge[circuit symbol lines/.try,to path={++(0,\tikzcircuitssizeunit) -- ++(0,-2\tikzcircuitssizeunit)}] ()
+ },
+ % 1.8+0.8-1.321367
+ circuit declare annotation={delayed activation}{1.278633\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(1.8\tikzcircuitssizeunit,1.8\tikzcircuitssizeunit) arc[start angle=0, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)} ] ()
+ },
+ % 3.4-1.321367
+ circuit declare annotation={delayed deactivation}{2.078633\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(0.2\tikzcircuitssizeunit,3.4\tikzcircuitssizeunit) arc[start angle=180, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)}] ()
+ },
+ circuit declare annotation={delayed both}{2.078633\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(0.2\tikzcircuitssizeunit,3.4\tikzcircuitssizeunit) arc[start angle=180, delta angle=180, radius=0.8\tikzcircuitssizeunit] (\tikzlastnode.south west) ++(1.8\tikzcircuitssizeunit,1.8\tikzcircuitssizeunit) arc[start angle=0, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)} ] ()
+ },
+ % annotations for relay coil
+ circuit declare annotation={solenoid valve}{2.5\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.south) edge[circuit symbol open/.try,every relay coil/.try,to path={-- ++(0,-.5\tikzcircuitssizeunit) ++(0,-.3\tikzcircuitssizeunit) -- ++(0,-.5\tikzcircuitssizeunit) ++(0,-.3\tikzcircuitssizeunit) -- ++(0,-.4\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit) --++(0,\tikzcircuitssizeunit) --++(-2\tikzcircuitssizeunit,-\tikzcircuitssizeunit) --++(0,\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={pulse counter}{2\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.south) edge[circuit symbol open/.try,every relay coil/.try,to path={++(-\tikzcircuitssizeunit,.5\pgflinewidth) --++(0,-2\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,0) --++(0,2\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(0,.5\pgflinewidth-\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={slow operating}{1\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(-2\tikzcircuitssizeunit,\tikzcircuitssizeunit) ++(0,-\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={slow releasing}{1\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[every relay coil/.try,circuit symbol filled/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth)
+--++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] ()
+ },
+ circuit declare annotation={slow operating and slow releasing}{2\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(-2\tikzcircuitssizeunit,\tikzcircuitssizeunit) ++(0,-\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,\tikzcircuitssizeunit)}] () edge[every relay coil/.try,circuit symbol filled,to path={++(\tikzcircuitssizeunit,\tikzcircuitssizeunit-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] ()
+ },
+ circuit declare annotation={high speed}{1\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(0,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,0) -- ++(0,-\tikzcircuitssizeunit) --++(-2\tikzcircuitssizeunit,0) --++(0,\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,0)}] ()
+ },
+ circuit declare annotation={mechanically latched}{1.73\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,1.73\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-1.73\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,line join=bevel,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(-\tikzcircuitssizeunit,1.73\tikzcircuitssizeunit) --++(-\tikzcircuitssizeunit,-1.73\tikzcircuitssizeunit) --cycle}] ()
+ },
+ circuit declare annotation={alternating current}{2\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) -- ++(0,2\tikzcircuitssizeunit) --++(-2\tikzcircuitssizeunit,0) --++(0,-2\tikzcircuitssizeunit) --++(2\tikzcircuitssizeunit,0)
+ (\tikzlastnode.north) ++(0,\tikzcircuitssizeunit-.5\pgflinewidth) arc [start angle=135, end angle=225, radius=0.5\tikzcircuitssizeunit]
+ (\tikzlastnode.north) ++(0,\tikzcircuitssizeunit-.5\pgflinewidth) arc [start angle=-45, end angle=45, radius=0.5\tikzcircuitssizeunit]}] ()
+ },
+ circuit declare annotation={polarized}{1\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol filled/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-0.5\tikzcircuitssizeunit,0) --++(0,-0.5\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) --++(0,0.5\tikzcircuitssizeunit) -- ++(-0.5\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(0.5\tikzcircuitssizeunit,-.5\pgflinewidth+0.5\tikzcircuitssizeunit) --++(0,0.5\tikzcircuitssizeunit) --++(-\tikzcircuitssizeunit,0) --++(0,-0.5\tikzcircuitssizeunit) --cycle}] ()
+ },
+ circuit declare annotation={remanent}{1\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(-2\tikzcircuitssizeunit,\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={var remanent}{1.5\tikzcircuitssizeunit}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,1.5\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-1.5\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(.5\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,.5\tikzcircuitssizeunit) --++(-\tikzcircuitssizeunit,.5\tikzcircuitssizeunit) --++(0,.5\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={electronic}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.center) edge[circuit symbol open/.try,every relay coil/.try,to path={-- +(0,\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-\tikzcircuitssizeunit,0) ++(.3\tikzcircuitssizeunit,0) -- +(-.5\tikzcircuitssizeunit,-.5\tikzcircuitssizeunit) ++(.4\tikzcircuitssizeunit,0) -- +(.5\tikzcircuitssizeunit,-.5\tikzcircuitssizeunit)}] ()
+ },
+ circuit declare annotation={thermal}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.center) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,0) -- ++(-.5\tikzcircuitssizeunit,0) -- ++(0,-\tikzcircuitssizeunit) -- ++(-\tikzcircuitssizeunit,0) -- ++(0,\tikzcircuitssizeunit) -- ++(-.5\tikzcircuitssizeunit,0)}] ()
+ },
+ circuit declare annotation={unaffected by alternating current}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.center) edge[circuit symbol filled/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,2\tikzcircuitssizeunit) --++(-.5\tikzcircuitssizeunit,0) -- ++(0,-4\tikzcircuitssizeunit) -- ++(.5\tikzcircuitssizeunit,0)--cycle}] () edge[circuit symbol filled/.try,every relay coil/.try,to path={++(-\tikzcircuitssizeunit,2\tikzcircuitssizeunit) --++(.5\tikzcircuitssizeunit,0) -- ++(0,-4\tikzcircuitssizeunit) -- ++(-.5\tikzcircuitssizeunit,0)--cycle}] ()
+ },
+ circuit declare annotation={mechanically resonant}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.south) edge[circuit symbol lines/.try,every relay coil/.try,to path={++(0,.5\pgflinewidth) --++(0,-.6\tikzcircuitssizeunit) ++(0,-.4\tikzcircuitssizeunit) --++(0,-\tikzcircuitssizeunit) ++(0,-.4\tikzcircuitssizeunit) --++(0,-\tikzcircuitssizeunit)
+ (\tikzlastnode.south) ++(0,-1.5\tikzcircuitssizeunit+.5\pgflinewidth) arc [start angle=200, end angle=340, radius=0.5\tikzcircuitssizeunit]
+ (\tikzlastnode.south) ++(0,-1.5\tikzcircuitssizeunit+.5\pgflinewidth) arc [start angle=20, end angle=160, radius=0.5\tikzcircuitssizeunit]}] ()
+ },
+}
+
+\tikzset{
+ magnetic sensor IEC relay graphic/.style={
+ circuit symbol wires,
+ circuit symbol size=width 1 height 1,
+ transform shape,
+ shape=magnetic sensor IEC relay,
+ outer sep=0pt,
+ cap=round},
+ thermic sensor IEC relay graphic/.style={
+ circuit symbol wires,
+ circuit symbol size=width 1 height 1,
+ transform shape,
+ shape=thermic sensor IEC relay,
+ outer sep=0pt,
+ cap=round},
+ make contact IEC relay graphic/.style={
+ circuit symbol wires,
+ circuit symbol size=width 2 height 1,
+ transform shape,
+ shape=make contact IEC relay,
+ outer sep=0pt,
+ cap=round},
+ break contact IEC relay graphic/.style={
+ circuit symbol wires,
+ circuit symbol size=width 2 height 1,
+ transform shape,
+ shape=break contact IEC relay,
+ outer sep=0pt,
+ cap=round},
+ change over contact IEC relay graphic/.style={
+ circuit symbol wires,
+ circuit symbol size=width 2 height 2,
+ transform shape,
+ shape=change over contact IEC relay,
+ outer sep=0pt,
+ cap=round},
+ relay coil IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 2 height 4,
+ shape=rectangle ee,
+ transform shape},
+ proximity sensor coil IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 1.6 height 1.6,
+ shape=proximity sensor coil IEC relay,
+ transform shape},
+ % modifications
+ resistor IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 3 height 1,
+ shape=rectangle ee,
+ transform shape
+ },
+ inductor IEC relay graphic/.style={
+ circuit symbol filled,
+ circuit symbol size=width 3 height 1,
+ transform shape,
+ shape=rectangle ee
+ },
+ bulb IEC relay graphic/.style={
+ circuit symbol lines,
+ circuit symbol size=width 2 height 2,
+ shape=generic circle IEC,
+ /pgf/generic circle IEC/before background={
+ \pgfpathmoveto{\pgfpointpolar{-135}{1pt}}
+ \pgfpathlineto{\pgfpointpolar{45}{1pt}}
+ \pgfpathmoveto{\pgfpointpolar{-45}{1pt}}
+ \pgfpathlineto{\pgfpointpolar{135}{1pt}}
+ \pgfusepathqstroke
+ },
+ transform shape
+ },
+ fuse IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 3 height 1,
+ shape=rectangle ee,
+ append after command={%
+ \bgroup
+ edge[circuit symbol wires, to path={%
+ (\tikzlastnode.input) -- (\tikzlastnode.output)
+ }] ()
+ \egroup%
+ },
+ transform shape
+ },
+ horn IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ shape=rectangle ee,
+ append after command={%
+ \bgroup
+ edge[circuit symbol open, to path={%
+ (0.3333\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- (0.8956\tikzcircuitssizeunit,-4.4689\tikzcircuitssizeunit) -- (-1\tikzcircuitssizeunit,-5\tikzcircuitssizeunit) -- (-0.3333\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- cycle}] ()
+ \egroup%
+ },
+ transform shape
+ },
+ var horn IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ shape=rectangle ee,
+ append after command={%
+ \bgroup
+ edge[circuit symbol open, to path={%
+ (0.5\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- (\tikzcircuitssizeunit,-2\tikzcircuitssizeunit) -- (-\tikzcircuitssizeunit,-2\tikzcircuitssizeunit) -- (-0.5\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- cycle}] ()
+ \egroup%
+ },
+ transform shape
+ },
+ buzzer IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ shape=rectangle ee,
+ append after command={%
+ \bgroup
+ edge[circuit symbol lines, to path={%
+ (\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- (-\tikzcircuitssizeunit,-2\tikzcircuitssizeunit)}] ()
+ \egroup%
+ },
+ transform shape
+ },
+ loud speaker IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 3 height 2,
+ shape=rectangle ee,
+ append after command={%
+ \bgroup
+ edge[circuit symbol open, to path={%
+ (1.5\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- (3.5\tikzcircuitssizeunit,-2.5\tikzcircuitssizeunit) -- (-3.5\tikzcircuitssizeunit,-2.5\tikzcircuitssizeunit) -- (-1.5\tikzcircuitssizeunit,-\tikzcircuitssizeunit) -- cycle}] ()
+ \egroup%
+ },
+ transform shape
+ },
+ mechanical interlock IEC relay graphic/.style={
+ circuit symbol open,
+ circuit symbol size=width 0.8 height 0.69282032,
+ inner sep=0pt,
+ shape=mechanical interlock IEC relay,
+ transform shape
+ }
+}
+
+
+\makeatletter
+\tikzset{
+ circuit ee IEC relay/.style=
+ {
+ circuit ee IEC,
+ % modifications
+ set resistor graphic = resistor IEC relay graphic,
+ set bulb graphic = bulb IEC relay graphic,
+ % aditions
+ set fuse graphic = fuse IEC relay graphic,
+ set horn graphic = horn IEC relay graphic,
+ set buzzer graphic = buzzer IEC relay graphic,
+ set loud speaker graphic = loud speaker IEC relay graphic,
+ set magnetic sensor graphic = magnetic sensor IEC relay graphic,
+ set thermic sensor graphic = thermic sensor IEC relay graphic,
+ set make contact graphic = make contact IEC relay graphic,
+ set break contact graphic = break contact IEC relay graphic,
+ % change-over break before make contact
+ set change over contact graphic = change over contact IEC relay graphic,
+ set relay coil graphic = relay coil IEC relay graphic,
+ set proximity sensor coil graphic = proximity sensor coil IEC relay graphic,
+ set mechanical interlock graphic = mechanical interlock IEC relay graphic,
+ % terminal info
+ term/.code={\pgfutil@ifnextchar[\tikz@lib@relay@lar@plain{\tikz@lib@relay@lar@plain[]}##1\pgf@stop},
+ term'/.code={\pgfutil@ifnextchar[\tikz@lib@relay@lbr@plain{\tikz@lib@relay@lbr@plain[]}##1\pgf@stop},
+ term''/.code={\pgfutil@ifnextchar[\tikz@lib@relay@lal@plain{\tikz@lib@relay@lal@plain[]}##1\pgf@stop},
+ every term/.style={font=\scriptsize},
+ every term'/.style={font=\scriptsize},
+ every term''/.style={font=\scriptsize},
+ activated/.is if=contact@activated,
+ every circuit ee IEC relay/.try
+ }
+}
+\makeatother
+
+\endinput \ No newline at end of file