\documentclass{article} \usepackage{tikz} \usetikzlibrary{shapes,arrows,calc,automata,positioning,fit,quotes} \begin{document} \tikzstyle{decision} = [ diamond, aspect=2, draw, fill=blue!20, text width=8em, text centered, inner sep=0pt ] \tikzstyle{block} = [ rectangle, draw, fill=blue!20, text width=7em, text centered, rounded corners, minimum height=4em ] \tikzstyle{io} = [trapezium, trapezium left angle=110, trapezium right angle=110, text width=28em , minimum height=4em, text centered, draw, fill=blue!20] \tikzstyle{cloud} = [draw, ellipse, fill=red!20, text width=22em, minimum height=2em, text centered] \tikzstyle{line} = [ draw, -latex' ] \begin{figure} \centering \small \begin{tikzpicture}[node distance=2.50cm, auto] % place nodes \node [cloud, text width=10em] (init) {Entfernen von Rohren aus dem Bohrloch} ; \node [decision, below=0.5cm of init] (decision-1) {sind Rohre bis zur projektierten Teufe frei?} ; \node [decision, below=0.5cm of decision-1] (decision-6) {hinter\-einander\-liegende einzementierte Rohre?} ; \node [right of=decision-6] (dummy20) {} ; \node [right of=dummy20] (dummy21) {} ; \node [right of=dummy21] (dummy22) {} ; \node [block, right of=dummy22] (block-9) {separates Entfernen (Voll- und Sektionsfräsen) oder Multistrang-Sektionsfräsen} ; \node [right of=decision-1] (dummy1) {} ; \node [right of=dummy1] (dummy2) {} ; \node [right of=dummy2] (dummy8) {} ; \node [block, right of=dummy8] (block-1) {Schneiden und Ausbauen} ; \node [decision, below=0.5cm of decision-6] (decision-2) {ZK > 60m oberhalb projekt. Teufe} ; \node [right of=decision-2] (dummy3) {} ; \node [right of=dummy3] (dummy4) {} ; \node [right of=dummy4] (dummy9) {} ; \node [block, right of=dummy9] (block-2) {Sektionsfräsen} ; \node [block, below=0.5cm of decision-2] (block-3) {Schneiden und Ausbauen oberhalb der ZK-Teufe} ; \node [right of=block-3] (dummy11) {} ; \node [decision, below=0.5cm of block-3] (decision-3) {Rohre vollständig einzementiert?} ; \node [right of=decision-3] (dummy5) {} ; \node [right of=dummy5] (dummy6) {} ; \node [right of=dummy6] (dummy10) {} ; \node [block, right of=dummy10] (block-4) {Vollfräsen} ; \node [decision, above of=block-4] (decision-7) {erfolgreich?} ; \node [block, right of=dummy11] (block-10) {Troubleshooting-Guide (siehe Tab.....; Abschätzung Alternativen} ; \node [block, below=0.5cm of decision-3] (block-5) {Zugversuch \\ Frei\-punkt\-be\-stimmung} ; \node [decision, below=0.5cm of block-5] (decision-4) {sind Rohre frei?} ; \node [block, below of=decision-4] (block-11) {Schneiden und Ausbauen} ; \node [right of=decision-4] (dummy7) {} ; \node [block, right of=dummy7] (block-6) {abschnittsweise schneiden} ; \node [block, above of=block-6] (block-7) {Zugversuch \\ Frei\-punkt\-be\-stimmung} ; \node [right of=block-7] (dummy11) {} ; \node [decision, right of=dummy11] (decision-5) {sind Rohre frei?} ; \node [block, below of=decision-5] (block-12) {Schneiden und Ausbauen} ; \node [cloud, text width=5em, below of=block-6] (block8) {Job beendet} ; % draw edges \path [line] (init) -- (decision-1) ; \path [line] (decision-1) -- node [near start] {ja} (block-1) ; \path [line] (decision-1) -- node [near start] {nein} (decision-6) ; \path [line] (decision-6) -- node [near start] {nein} (decision-2) ; \path [line] (decision-6) -- node [near start] {ja} (block-9) ; \path [line] (decision-2) -- node [near start] {ja} (block-2) ; \path [line] (decision-2) -- node [near start] {nein} (block-3) ; \path [line] (block-3) -- (decision-3) ; \draw [-to] (block-10.north) edge [bend left] (decision-7.north west) ; \draw [-to] (block-9.east) edge [bend left] (decision-7.north east) ; \path [line] (block-2) -- (decision-7) ; \path (block-1) -| ([xshift=1.0cm, yshift=0cm] block-1.east) |- (block8) coordinate[pos=0.5] (a2); \path [line] (block-1) -| ([xshift=1.0cm, yshift=0cm] block-1.east) |- (block8) ; \path [line] (decision-7) -| node [near start] {ja} (a2) ; \path [line] (decision-3) -- node [near start] {ja} (block-4) ; \path [line] (decision-7.west) -- node [near start] {nein} (block-10.east) ; \path [line] (decision-3) -- node [near start] {nein} (block-5) ; \path [line] (block-5) -- (decision-4) ; \path [line] (decision-4) -- node [near start] {nein} (block-6) ; \path [line] (decision-4) -- node [near start] {ja} (block-11) ; \path [line] (block-11) -- (block8) ; \path [line] (decision-5) -- node [near start] {ja} (block-12) ; \path (block-12) |- (block8) coordinate[pos=0.5] (a1); \path [line] (block-12) -- (a1) ; \path [line] (block-12) |- (block8) ; \path [line] (block-6) -- (block-7) ; \path [line] (block-4) -- (decision-7) ; \path [line] (block-7) -- (decision-5) ; \path [line] (decision-5) -- node [near start] {nein} (block-4) ; \end{tikzpicture} \caption[Verfahren zum Entfernen von Rohren]{möglicher Arbeitsablauf zum Entfernen von Rohren aus dem Bohrloch} \label{VerfahrenRohr} \end{figure} \end{document}
Problem mit Pfeilen im Flowchart
Problem mit Pfeilen im Flowchart
Hallo, ich habe ein Problem bei dem folgenden Flowchart: und zwar würde ich gerne decision-7 (entspricht "erfolgreich?) mit der vertikalen Line, die von oben (block-1 "Schneiden und Ausbauen") kommt mit einem Pfeil verbinden. Des Weiteren sollte von block-1 auch ein Pfeil zu der Linie gehen, sodass man den Fluss besser nachvollziehen kann. Bisher ist mir das leider nicht gelungen. Hat jmd. eine Idee? Vielen Dank im Voraus!
Re: Problem mit Pfeilen im Flowchart
Suchst Du das?Guayaba hat geschrieben:und zwar würde ich gerne decision-7 (entspricht "erfolgreich?) mit der vertikalen Line, die von oben (block-1 "Schneiden und Ausbauen") kommt mit einem Pfeil verbinden.
\path [line] (decision-7) -- node [near start] {ja} (decision-7-|a2);
Ein paar weitere Anpassungen:
Aufgrund der Struktur des Flußdiagramms wäre der Einsatz einer Matrix auch eine Möglichkeit gewesen.
\documentclass[tikz, border=5pt]{standalone} \usepackage{selinput}% https://texwelt.de/wissen/fragen/5546 \SelectInputMappings{ adieresis={ä}, germandbls={ß} } \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[locale=DE]{siunitx}% <- eingefügt \usetikzlibrary{shapes,arrows,calc,automata,positioning,fit,quotes} \begin{document} \tikzstyle{decision} = [ diamond, aspect=2, draw, fill=blue!20, text width=8em, text centered, inner sep=0pt ] \tikzstyle{block} = [ rectangle, draw, fill=blue!20, text width=7em, text centered, rounded corners, minimum height=4em ] \tikzstyle{io} = [trapezium, trapezium left angle=110, trapezium right angle=110, text width=28em , minimum height=4em, text centered, draw, fill=blue!20] \tikzstyle{cloud} = [draw, ellipse, fill=red!20, text width=22em, minimum height=2em, text centered] \tikzstyle{line} = [ draw, -latex' ] \begin{tikzpicture}[node distance=2.50cm, auto] % place nodes \node [cloud, text width=10em] (init) {Entfernen von Rohren aus dem Bohrloch} ; \node [decision, below=0.5cm of init] (decision-1) {sind Rohre bis zur projektierten Teufe frei?} ; \node [decision, below=0.5cm of decision-1] (decision-6) {hinter\-einander\-liegende einzementierte Rohre?} ; \node [right of=decision-6] (dummy20) {} ; \node [right of=dummy20] (dummy21) {} ; \node [right of=dummy21] (dummy22) {} ; \node [block, right of=dummy22] (block-9) {separates Entfernen (Voll- und Sektionsfräsen) oder Multistrang-Sektionsfräsen} ; \node [right of=decision-1] (dummy1) {} ; \node [right of=dummy1] (dummy2) {} ; \node [right of=dummy2] (dummy8) {} ; \node [block, right of=dummy8] (block-1) {Schneiden und Ausbauen} ; \node [decision, below=0.5cm of decision-6] (decision-2) {ZK \textgreater{} \SI{60}{\m} oberhalb projekt. Teufe} ;% <- geändert \node [right of=decision-2] (dummy3) {} ; \node [right of=dummy3] (dummy4) {} ; \node [right of=dummy4] (dummy9) {} ; \node [block, right of=dummy9] (block-2) {Sektionsfräsen} ; \node [block, below=0.5cm of decision-2] (block-3) {Schneiden und Ausbauen oberhalb der ZK-Teufe} ; \node [right of=block-3] (dummy11) {} ; \node [decision, below=0.5cm of block-3] (decision-3) {Rohre vollständig einzementiert?} ; \node [right of=decision-3] (dummy5) {} ; \node [right of=dummy5] (dummy6) {} ; \node [right of=dummy6] (dummy10) {} ; \node [block, right of=dummy10] (block-4) {Vollfräsen} ; \node [decision, above of=block-4] (decision-7) {erfolgreich?} ; \node [block, right of=dummy11] (block-10) {Troubleshooting-Guide (siehe Tab.....; Abschätzung Alternativen} ; \node [block, below=0.5cm of decision-3] (block-5) {Zugversuch \\ Frei\-punkt\-be\-stimmung} ; \node [decision, below=0.5cm of block-5] (decision-4) {sind Rohre frei?} ; \node [block, below of=decision-4] (block-11) {Schneiden und Ausbauen} ; \node [right of=decision-4] (dummy7) {} ; \node [block, right of=dummy7] (block-6) {abschnittsweise schneiden} ; \node [block, above of=block-6] (block-7) {Zugversuch \\ Frei\-punkt\-be\-stimmung} ; \node [right of=block-7] (dummy11) {} ; \node [decision, right of=dummy11] (decision-5) {sind Rohre frei?} ; \node [block, below of=decision-5] (block-12) {Schneiden und Ausbauen} ; \node [cloud, text width=5em, below of=block-6] (block8) {Job beendet} ; % draw edges \path [line] (init) -- (decision-1) ; \path [line] (decision-1) -- node [near start] {ja} (block-1) ; \path [line] (decision-1) -- node [near start] {nein} (decision-6) ; \path [line] (decision-6) -- node [near start] {nein} (decision-2) ; \path [line] (decision-6) -- node [near start] {ja} (block-9) ; \path [line] (decision-2) -- node [near start] {ja} (block-2) ; \path [line] (decision-2) -- node [near start] {nein} (block-3) ; \path [line] (block-3) -- (decision-3) ; \path [-to] (block-10.north) edge [bend left] (decision-7.north west) ;% <- draw durch path ersetzt \path [-to] (block-9.east) edge [bend left] (decision-7.north east) ;% <- s.o. \path [line] (block-2) -- (decision-7) ; \path (block-1) -| ([xshift=1.0cm, yshift=0cm] block-1.east) |- (block8) coordinate[pos=0.5] (a2); \path [line] (block-1) -| ([xshift=1.0cm, yshift=0cm] block-1.east) |- (block8) ; \path [line] (decision-7) -- node [near start] {ja} (decision-7-|a2);% <- geändert \path [line] (decision-3) -- node [near start] {ja} (block-4) ; \path [line] (decision-7.west) -- node [near start] {nein} (decision-7.west-|block-10.east) ;% <- Pfeil begradigt \path [line] (decision-3) -- node [near start] {nein} (block-5) ; \path [line] (block-5) -- (decision-4) ; \path [line] (decision-4) -- node [near start] {nein} (block-6) ; \path [line] (decision-4) -- node [near start] {ja} (block-11) ; \path [line] (block-11) -- (block8) ; \path [line] (decision-5) -- node [near start] {ja} (block-12) ; \path (block-12) |- (block8) coordinate[pos=0.5] (a1); \path [line] (block-12) -- (a1) ; \path [line] (block-12) |- (block8) ; \path [line] (block-6) -- (block-7) ; \path [line] (block-4) -- (decision-7) ; \path [line] (block-7) -- (decision-5) ; \path [line] (decision-5) -- node [near start] {nein} (block-4) ; \end{tikzpicture} \end{document}
Mein Vorschlag, eine Matrix zu verwenden, könnte so umgesetzt werden:
\documentclass[tikz, border=10pt]{standalone} \usepackage{selinput}% https://texwelt.de/wissen/fragen/5546 \SelectInputMappings{ adieresis={ä}, germandbls={ß} } \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} \usepackage{siunitx} \usetikzlibrary{ shapes.geometric, arrows.meta, positioning, matrix } \tikzset{font=\sffamily} \sisetup{ locale=DE, detect-all } \begin{document} \begin{tikzpicture}[ decision/.style={ draw, aspect=2, diamond, fill=blue!20, text width=8em, inner sep=0pt }, block/.style={ draw, fill=blue!20, text width=7em, minimum height=4em, rounded corners }, cloud/.style={ draw, ellipse, fill=red!20, text width=10em }, line/.style={-Latex}, auto ] \matrix [ matrix of nodes, nodes={ align=center, anchor=center }, execute at begin node=\hspace{0pt},% z. B. für "hintereinanderliegende" row sep=.7cm, column sep=1.5cm ] (flowchart) { |[cloud]| Entfernen von Rohren aus dem Bohrloch\\ |[decision]| sind Rohre bis zur projektierten Teufe frei? & & |[block]| Schneiden und Ausbauen\\ |[decision]| hintereinanderliegende einzementierte Rohre? & & |[block]| separates Entfernen (Voll- und Sektionsfräsen) oder Multistrang"=Sektionsfräsen\\ |[decision]| {ZK \textgreater{} \SI{60}{\m}\\ oberhalb projekt. Teufe} & & |[block]| Sektionsfräsen\\ |[block]| Schneiden und Ausbauen oberhalb der ZK-Teufe & |[block]| Troubleshooting"=Guide (siehe Tab~\dots; Abschätzung Alternativen & |[decision]| erfolgreich?\\ |[decision]| Rohre vollständig einzementiert & & |[block]| Vollfräsen?\\ |[block]| Zugversuch Freipunktbestimmung & |[block]| Zugversuch Freipunktbestimmung & |[decision]| sind Rohre frei?\\ |[decision]| sind Rohre frei? & |[block]| abschnittsweise schneiden & |[block]| Schneiden und Ausbauen\\ |[block]| Schneiden und Ausbauen & |[cloud, text width=5em]| Job beendet\\ }; \draw [line] (flowchart-1-1) edge (flowchart-2-1) (flowchart-2-1) edge node [pos=.05] {ja} (flowchart-2-3) (flowchart-2-1) edge node {nein} (flowchart-3-1) (flowchart-3-1) edge node [pos=.05] {ja} (flowchart-3-3) (flowchart-3-1) edge node {nein} (flowchart-4-1) (flowchart-3-3.east) edge [bend left] (flowchart-5-3.north east) (flowchart-4-1) edge node [pos=.05] {ja} (flowchart-4-3) (flowchart-4-1) edge node {nein} (flowchart-5-1) (flowchart-4-3) edge (flowchart-5-3) (flowchart-5-3) edge node [near start] {nein} (flowchart-5-2) (flowchart-5-2.north) edge [bend left] (flowchart-5-3.north west) (flowchart-5-1) edge (flowchart-6-1) (flowchart-6-1) edge node [pos=.05] {ja} (flowchart-6-3) (flowchart-6-3) edge (flowchart-5-3) (flowchart-6-1) edge node {nein} (flowchart-7-1) (flowchart-7-2) edge (flowchart-7-3) (flowchart-7-3) edge node {nein} (flowchart-6-3) (flowchart-7-1) edge (flowchart-8-1) (flowchart-8-1) edge node [pos=.15] {nein} (flowchart-8-2) (flowchart-8-2) edge (flowchart-7-2) (flowchart-7-3) edge node {ja} (flowchart-8-3) (flowchart-8-1) edge node {ja} (flowchart-9-1) (flowchart-9-1) edge (flowchart-9-2) (flowchart-2-3.east) -- +(1,0) coordinate (cut and remove right) |- (flowchart-9-2) (flowchart-5-3) edge node {ja} (flowchart-5-3-|cut and remove right) (flowchart-8-3) edge (flowchart-8-3|-flowchart-9-2) ; \end{tikzpicture} \end{document}