
Das Ziel besteht darin, eine Spule mit einer rechteckigen Biegung am Anfang und Ende zu zeichnen, und zwar mit nur einem path
Befehl draw
, etwa so:
Die Spule selbst ist ein horizontaler Pfad und die Enden verlaufen von beiden Enden vertikal nach unten, also in einem 90-Grad-Winkel.
Allerdings funktioniert der Anfang, das Ende jedoch nicht, obwohl der Basispfad (grün) die richtige Form hat:
mit Code
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{
decorations.pathmorphing,
arrows
}
\begin{document}
\begin{tikzpicture}[
thiscoil/.style={%
decorate,%
decoration={%
coil,
aspect=0.3,
segment length=0.5em,
amplitude=0.5em,
pre=lineto,
post=lineto,
pre length=1.5em,
post length=1.5em,
},
o-o,
},
thick
]
% Same path, without coil:
\draw[transform canvas={yshift=3em}, green] (0,0) |- ++ (5em,1em) -| ++ (0.5em,-1em);
% A coil with horizontal straight endings:
\draw[thiscoil, blue] (0,0) |- ++ (5em,1em) -| ++ (0.5em,-1em);
% A coild without horizontal endings, only vertical ones:
\draw[thiscoil, transform canvas={yshift=-3em}, red] (0,0) |- ++ (5em,1.5em) -| ++ (0.5em,-1.5em);
\end{tikzpicture}
\end{document}
Im besten Fall sollte die Spule wie links/Anfang des roten Beispiels aussehenan beiden Enden. Wenn es mit einer horizontalen Einkerbung in der Spule kommt, wie am Anfang/links des blauen und am Ende/rechts des roten Pfads, ist das auch ok.
Wie kann das erreicht werden?
Antwort1
Hier ist eine Lösung mit dem cuteinductorshape von circuitikz. Oben wird eine bestimmte Breite zwischen den Anschlüssen verwendet, während unten die „natürliche“ Breite des Knotens verwendet wird (die mit angepasst werden kann \ctikzset
).
\documentclass[border=2pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{tikzpicture}
\draw (0,1) to[short,o-] ++(0,1em) to[cute inductor] ++(5em,0) to[short,-o] ++(0,-1em);
\draw (0,0) node[ocirc]{} |- ++(0.5pt,1em) node[cuteinductorshape,anchor=west,name=coil]{}
(coil.east) -| ++(0.5pt,-1em) node[ocirc]{};
\end{tikzpicture}
\end{document}
Antwort2
Nur zum Spaß: Es ist ein sehr kurzer Code mit pstricks
. Einige Koordinatenwerte mussten durch Ausprobieren gefunden werden, da der \psCoil
Befehl im Hintergrund die Projektion einer 3D-Helix auf eine Ebene verwendet und die Argumente der Start- und Endwinkel dieser Helix sind.
\documentclass{article}
\usepackage{pst-coil, auto-pst-pdf}
\begin{document}
\begin{pspicture}(-1,0.5)(4,3)
\psset{coilheight=0.6, coilwidth =1.5, dotsize=4pt}
\rput(2,0){\psCoil{-110}{1910}}
\psline{-o}(1.506,-0.25)(1.506,-1.25)\psline{-o}(5.675,-0.25)(5.675,-1.25)
\end{pspicture}
\end{document}