I have a problem drawing first a vertical line (the red line in the attached example) from a node and then at some point horizontal to another point:
My code looks like this:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,
arrows,
matrix,
chains,
arrows.meta,positioning,
decorations.pathreplacing,
decorations.markings,
intersections,
positioning,
fit}
\tikzstyle{vecArrow} = [thick, decoration={markings,mark=at position
1 with {\arrow[semithick]{open triangle 60}}},
double distance=1.4pt, shorten >= 5.5pt,
preaction = {decorate},
postaction = {draw,line width=1.4pt, white,shorten >= 4.5pt}]
\tikzstyle{innerWhite} = [semithick, white,line width=1.4pt, shorten >= 4.5pt]
\tikzset{
*|/.style={
to path={
(perpendicular cs: horizontal line through={(\tikztostart)},
vertical line through={(\tikztotarget)})
-- (\tikztotarget) \tikztonodes
}
}
}
%% \usepackage{showframe}
\usepackage{amsmath}
\usepackage[linesnumbered,ruled]{algorithm2e}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\mygrid}{\tikz{\draw[step=2.5mm] (0,0) grid (2.0,1);}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{tikzpicture}[
decoration={
markings,
mark=at position 0.5 with {\draw (3pt,2pt) -- (-3pt,-2pt);}
}]
\node[draw,rectangle,minimum height=7mm] (opm3) at (0.0,0.0) {$Op_{-3}$};
\node[draw,rectangle,minimum height=7mm] (opm2) [right=2pt of opm3] {$Op_{-2}$};
\node[draw,rectangle,minimum height=7mm] (opm1) [right=2pt of opm2] {$Op_{-1}$};
\node[draw,rectangle,minimum height=7mm] (opfirst) [right=2pt of opm1] {$Op_{0}$};
\node[draw,rectangle,minimum height=7mm] (oplast) [right=of opfirst] {$Op_{l-1}$};
\node at ($(opfirst)!.5!(oplast)$) {\ldots};
\node[draw,
rectangle,
minimum height=7mm,
minimum width=65mm] (multiplexer) at (2.7,-2.0) {Multiplexer};
\draw[postaction={decorate}] (opm3.south) -- (opm3.south|-multiplexer.north);
\draw[postaction={decorate}] (opm2.south) -- (opm2.south|-multiplexer.north);
\draw[postaction={decorate}] (opm1.south) -- (opm1.south|-multiplexer.north);
\draw[postaction={decorate}] (opfirst.south) -- (opfirst.south|-multiplexer.north);
\draw[postaction={decorate}] (oplast.south) -- (oplast.south|-multiplexer.north);
\node[draw,rectangle,minimum height=7mm] (zaehler1) [right=10mm of multiplexer] {$Z\ddot{a}hler_1$};
\draw[postaction={decorate}] (zaehler1.west) -- (zaehler1.west-|multiplexer.east);
\node[draw,rectangle,minimum height=7mm, minimum width=20mm] (swar) [below=10mm of multiplexer] {OP};
\node [left=2pt of swar] {SWAR};
\node[draw,rectangle,dotted,minimum height=7mm] (versatz) [right=-0.5pt of swar] {Versatz};
\node[draw,rectangle,minimum height=7mm,dotted] (zaehler2) [right=10mm of versatz] {$Z\ddot{a}hler_2$};
\node[draw,rectangle,minimum height=7mm, minimum width=20mm] (swar) [below=10mm of multiplexer] {};
\draw[dotted] (zaehler2.west) -- (zaehler2.west-|versatz.east);
\draw[postaction={decorate}] (swar.north) -- (swar.north|-multiplexer.south);
\node at (2.0,-7.0) {Steuertabelle};
\node at (6.5,-5.0) {Steuersignale};
\node[rectangle, draw, inner sep=0, shift={(5.0,-6.0)}] (stol) {\mygrid};
\node[rectangle, draw, inner sep=0, shift={(8.0,-6.0)}] (stor) {\mygrid};
\node at ($(stol)!.5!(stor)$) {\ldots};
\node[rectangle, draw, inner sep=0, shift={(5.0,-8.0)}] (stul) {\mygrid};
\node[rectangle, draw, inner sep=0, shift={(8.0,-8.0)}] (stur) {\mygrid};
\node at ($(stul)!.5!(stur)$) {\ldots};
\node at ($(stol)!.5!(stul)$) {\vdots};
\node at ($(stor)!.5!(stur)$) {\vdots};
\draw[thick,black] (4.0,-6.0) node (op) {} -- (6.0,-6.0) -- (6.0,-5.75) -- (4.0,-5.75) --(4.0,-6.0);
\draw[thick,black] (7.0,-6.0) -- (9,-6.0) -- (9.0,-5.75) -- (7.0,-5.75) --(7.0,-6.0);
\draw[thick,red,-{Latex[width=1mm]}] (swar.south) -- (4.0,-5.9);
\end{tikzpicture}
\end{document}
Any idea is appreciated.
Thanks Marcel




\draw[thick,red,-{Latex[width=1mm]}] (swar.south) |- (4.0,-5.9);. – Bobyandbob Dec 05 '17 at 14:31