Problem mit Pfeilen im Flowchart

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit Pfeilen im Flowchart

von Bartman » Mo 4. Jun 2018, 17:55

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}

von Bartman » Mi 30. Mai 2018, 20:06

Ein paar weitere Anpassungen:
\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}
Aufgrund der Struktur des Flußdiagramms wäre der Einsatz einer Matrix auch eine Möglichkeit gewesen.

von Guayaba » Mi 30. Mai 2018, 19:20

Genau das habe ich gesucht! Vielen Dank, klappt ja für den anderen Block genauso.

Re: Problem mit Pfeilen im Flowchart

von Bartman » Mi 30. Mai 2018, 18:57

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.
Suchst Du das?
\path [line] (decision-7) -- node [near start] {ja} (decision-7-|a2);

Problem mit Pfeilen im Flowchart

von Guayaba » Mi 30. Mai 2018, 17:31

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

Nach oben