\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}
