[Tex/LaTex] How to draw THICK arrows (shown below in the figure) in tikz

arrowstikz-pgf

I want to draw something like this:

enter image description here

I am not able to draw this. This is what I have drawn:

enter image description here

This is the code:

\documentclass[a4paper,10pt]{article}
%\documentclass[a4paper,10pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{positioning,arrows}
\usepackage[utf8x]{inputenc}
\usepackage{scalefnt}

\begin{document}


\begin{tikzpicture}[fill=blue,ultra thick, scale = 0.75, transform shape,font=\Large]


\node[rectangle] (a1) [draw, minimum width=1.5cm,minimum height=1cm] {};
\coordinate[right=0.75cm of a1] (a4)  {};
\node[rectangle] (a2) [draw, minimum width=1.5cm,minimum height=1cm,right of=a1,node distance=3cm] {};
\node[rectangle] (a3) [draw, minimum width=1.5cm,minimum height=1cm,below of=a4,node distance=3cm] {};

\node[rectangle] (a5) [draw, minimum width=1.5cm,minimum height=1cm,right of=a3,node distance=4cm] {};
\node[rectangle] (a6) [draw, minimum width=1.5cm,minimum height=1cm,above of=a5,node distance=1.25cm] {};

\node[rectangle] (a7) [draw, minimum width=1.5cm,minimum height=1cm,below right of=a5,node distance=3cm] {};



\end{tikzpicture}

\end{document}

How to draw these kind of arrows?

Best Answer

here is a solution based on postaction and inspired by Is it possible to change the size of an arrowhead in TikZ/PGF? (flying sheep answer):

\documentclass[a4paper,10pt]{article}
%\documentclass[a4paper,10pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{positioning,arrows}
\usepackage[utf8x]{inputenc}
\usepackage{scalefnt}

\begin{document}


\begin{tikzpicture}[fill=blue,ultra thick, scale = 0.75, transform shape,font=\Large]
\tikzstyle{myarrows}=[line width=1mm,draw=blue,-triangle 45,postaction={draw, line width=3mm, shorten >=4mm, -}]

\node[rectangle] (a1) [draw, minimum width=1.5cm,minimum height=1cm] {};
\coordinate[right=0.75cm of a1] (c1)  {};
\node[rectangle] (a2) [draw, minimum width=1.5cm,minimum height=1cm,right of=a1,node distance=3cm] {};
\node[rectangle] (a3) [draw, minimum width=1.5cm,minimum height=1cm,below of=c1,node distance=3cm] {};
\node[rectangle] (a5) [draw, minimum width=1.5cm,minimum height=1cm,right of=a3,node distance=4cm] {};
\node[rectangle] (a6) [draw, minimum width=1.5cm,minimum height=1cm,above of=a5,node distance=1.25cm] {};
\node[rectangle] (a7) [draw, minimum width=1.5cm,minimum height=1cm,below right of=a5,node distance=3cm] {};
\coordinate[right=0.2cm of a2]  (c2)  {};
\coordinate[left=0cm of a6]     (c3)  {};
\coordinate[below=1.5cm of a5]  (c4)  {};

\draw [draw=blue,line width=3mm]   (a1)--(a2);

\draw [myarrows](c1)--(a3);
\draw [myarrows](c2)--(c3);
\draw [myarrows](a3)--(a5);
\draw [myarrows](a5)--(c4)--(a7);
\end{tikzpicture}
\end{document}

enter image description here

what I did was to define an arrow style where the arrow is drawn two times: the first time with a line width such that the arrow head size is like the one in your original image; the second time with a line width such that the arrow is tick and without the arrowhead. This is achieved with the postaction option you can see in the myarrows style definition.

You may want to tweak the rectangle appearance so to make them look like those of your original image.

Forgot to say that if you want to change the thickness of the arrow you just need to change the two line width values in \tikzstile{myarrows} until you find those that suit your needs.