Skip to content

Instantly share code, notes, and snippets.

@andreuinyu
Last active May 29, 2019 06:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreuinyu/13fd4eb026838f8babb14a84042c5bf0 to your computer and use it in GitHub Desktop.
Save andreuinyu/13fd4eb026838f8babb14a84042c5bf0 to your computer and use it in GitHub Desktop.
Esquema del programa de càlcul de molles helicoïdals
\begin{tikzpicture}
% Place nodes
\node [cloud] (estat) {Estat};
\node [block] (entrada) [below left=0.5cm and 2.3cm of estat] {\makecell[c]{Canvi en:\\Tancaments, $n$,\\$d$, $R$, $p$, Material\\o Resolució}};
\node [block, below of=estat, node distance=1.9cm] (entradavalida) {\mcode{entradavalida}};
\node [block, below of=estat, node distance=8.8cm] (extreuparametres) {\mcode{extreuparametres}};
\node [block, below of=entrada, node distance=2cm] (actualitza) {\mcode{actualitza}};
\node [block] (boto) [below right=2.25cm and 2.3cm of estat] {Canvi en el botó tria};
\node [decision, below of=boto] (dec_boto) {què s'està mostrant?};
\node [decision, left of=dec_boto, node distance=9.8cm] (dec_entrada) {què s'està mostrant?};
\node [block, below of=dec_boto, node distance=4cm] (mostramolla) {\mcode{mostramolla}};
\node [block, below of=dec_entrada, node distance=4cm] (mostracorba) {\mcode{mostracorba}};
\node [block, below of=mostracorba, node distance=1.5cm] (graficacorba) {\mcode{graficacorba}};
\node [block, below of=graficacorba, node distance=1.5cm] (corbacaracteristica) {\mcode{corbacaracteristica}};
\node [block, below of=corbacaracteristica, node distance=1.5cm] (espiresinactives1) {\mcode{espiresinactives}};
\node [block, below of=mostramolla, node distance=1.5cm] (renderitzamolla) {\mcode{renderitzamolla}};
\node [block, below of=extreuparametres, node distance=5.6cm] (ompledades) {\mcode{ompledades}};
\node [cloud, below of=ompledades, node distance=1.5cm] (seguent) {Següent estat};
% Draw edges
\path [line] (estat) -- (entrada);
\path [line] (estat) -- (boto);
\path [line, dashed] (entrada) -- (entradavalida);
\path [line, dashed] (entradavalida) -- (entrada);
\path [line] (boto) -- (dec_boto);
\path [line] (entrada) -- (actualitza);
\path [line] (actualitza) -- (dec_entrada.north);
\path [line] (dec_boto.south) -- node [near start, right]{la gràfica}(mostramolla);
\path [line] (dec_boto.west) -- node [midway, above] {la molla} ++ (-1.5, 0) --++ (0,-1.8) -| (mostracorba);
\path [line] (dec_entrada.east) -- node [midway, above] {la molla} ++ (1.5, 0) --++ (0,-2.2) -| (mostramolla);
\path [line] (dec_entrada.south) -- node [near start, left] {la gràfica}(mostracorba);
\path [line] (mostracorba) -- (graficacorba);
\path [line, dashed] (graficacorba) -- (corbacaracteristica);
\path [line] (graficacorba) --++ (-3,0) |- (seguent);
\path [line, dashed] (corbacaracteristica) -- (graficacorba);
\path [line, dashed] (espiresinactives1) -- (corbacaracteristica);
\path [line, dashed] (corbacaracteristica) -- (espiresinactives1);
\path [line, dashed] (extreuparametres.west) -- (mostracorba.east);
\path [line, dashed] (extreuparametres.east) -- (mostramolla.west);
\path [line, dashed] (mostracorba.east) -- (extreuparametres.west);
\path [line, dashed] (mostramolla.west) -- (extreuparametres.east);
\path [line] (mostramolla) -- (renderitzamolla);
\path [line] (renderitzamolla) --++ (3,0) |- (seguent);
\path [line] (mostracorba.east) --++ (1,0) -- (ompledades);
\path [line] (mostramolla.west) --++ (-1,0) -- (ompledades);
\path [line, dashed] (espiresinactives1) -- (ompledades);
\path [line, dashed] (ompledades) -- (espiresinactives1);
\path [line] (ompledades) -- (seguent);
\end{tikzpicture}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment