Is there any software that allows to draw block diagrams
like this: http://upload.wikimedia.org/wikipedia/commons/f/f5/Windows_2000_architecture.png
or like this:
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It only takes a minute to sign up.
Sign up to join this communityIs there any software that allows to draw block diagrams
like this: http://upload.wikimedia.org/wikipedia/commons/f/f5/Windows_2000_architecture.png
or like this:
For something quick, there are a growing number of (usually SVG-powered) free online flow chart tools. Here's a few that don't require log-in, all pretty basic but user-friendly:
Omnigraffle is popular for that sort of thing, if what you want is to make connected-block arrow-heavy flow diagrams quickly.
I don't use it myself, but I know a few information designers who swear by it as a simple way to put together an outline for a diagram, organise their thoughts and get the layout, content and structure right. They then export to Adobe Illustrator to design the presentation of the final product - you could skip this final step if you're just making simple diagrams like that.
I've heard vague but positive things about Visio, and people sometimes describe Omnigraffle as 'Visio for Mac' so I think they're fairly equivalent.
You can also browse software alternative lists like this one.
I like Dia which is a free open source diagramming tool available for Windows, Mac OSX and Linux. Its been around for years and is popular with both software and electronic engineers.
yEd is good at this, is free and has Windows, Mac and Linux versions:
http://www.yworks.com/en/products_yed_about.html
I don't know if its suitable here, but there are also ways with not WYSIWYG-programms. In my example the tikz
-package of LaTeX.
Normally TeX is used for texts and professional scriptum, but also good looking vector graphics are possible, with a little effort.
Other great examples can be found in tex.SX or behind this link. :)
Source code:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\tikzset{
block/.style = {draw, thick, rectangle, minimum height = 3em, minimum width = 3em},}
\begin{tikzpicture}[auto, thick, >=triangle 45,fill=blue!20]
\node at (0,0)[circle,draw,inner sep=0pt,minimum width=3mm,name=n1,label={225:$-$},fill=blue!20] {};
\node[block,right of= n1,node distance=2cm,fill=blue!20] (con) {Controller};
\node[block,right of= con,node distance=3cm,fill=blue!20] (sys) {System};
\node[block,below of=con,xshift=1cm,node distance=2cm,fill=blue!20] (mea) {Measurement};
\draw[<-] (n1.west) to node[midway,above] {$r$} (-1,0);
\draw[->] (n1.east) to node[midway,above] {$e$} (con.west);
\draw[->] (con.east) to node[midway,above] {$u$} (sys.west);
\draw[->] (sys.east) to node[midway,above] (y) {$y$} ++(1,0);
\draw[->] (y.south) |- node[midway,above] {} (mea.east);
\draw[->] (mea.west) -| node[near end] {$y_m$} (n1.south);
\draw[<-] (sys.north) to ++(0,1) node[above] {Disturbances};
\end{tikzpicture}
\end{document}
A great online solution, one that integrates well with Google Drive is Lucid Chart.
There are paid plans, but it's mostly free. I've created tonnes of diagrams for it and this is a typical implementation.
What you mentioned is done by TikZ in LaTeX. Sorry but I tried Lucid Charts and Visio and definitely they are not good as TikZ.
You can overleaf and see the result
The code:
\tikzstyle{block} = [draw, fill=blue!20, rectangle,
minimum height=3em, minimum width=6em]
\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]
\tikzstyle{input} = [coordinate]
\tikzstyle{output} = [coordinate]
\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]
% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto, node distance=2cm,>=latex']
% We start by placing the blocks
\node [input, name=input] {};
\node [sum, right of=input] (sum) {};
\node [block, right of=sum] (controller) {Controller};
\node [block, right of=controller, pin={[pinstyle]above:Disturbances},
node distance=3cm] (system) {System};
% We draw an edge between the controller and system block to
% calculate the coordinate u. We need it to place the measurement block.
\draw [->] (controller) -- node[name=u] {$u$} (system);
\node [output, right of=system] (output) {};
\node [block, below of=u] (measurements) {Measurements};
% Once the nodes are placed, connecting them is easy.
\draw [draw,->] (input) -- node {$r$} (sum);
\draw [->] (sum) -- node {$e$} (controller);
\draw [->] (system) -- node [name=y] {$y$}(output);
\draw [->] (y) |- (measurements);
\draw [->] (measurements) -| node[pos=0.99] {$-$}
node [near end] {$y_m$} (sum);
\end{tikzpicture}
\end{document}
My favourite software for this is actually a web-based editor, Cacoo.
It's very good at most linked diagram styles (both your examples are quite easy to make with Cacoo), and is much more user-friendly than Visio (though not as in-depth). It's also cross-platform due to it being web-based, and seems to have an offline mode, though I don't use that personally.
The reason I settled on Cacoo was actually because of its collaboration feature, that allows multiple users to be working on the same diagram at once. Obviously this doesn't work so well in offline mode, but is surprisingly effective when you want to show someone an idea or make quick changes.
I pair Cacoo with MindMeister for mind-mapping, and have all my diagramming needs covered.
My favourite is Pencil Project. It allows you to build all sorts of diagrams, lets you install more shapes and types, export to many formats, like png, svg, html etc. and is free! If you want, you can even install it as a firefox extension and use it as you browse the web. You can also search for clipart in the web directly from the software. What's more, you can even include UI widgets into your diagrams.
Take a look at Nevron Draw. It works on Windows and Mac and offers most of the MS Visio functionality. In particular for this type of diagrams you need software that has shapes with inward / outward ports support, connectors that detect crossings and draw bridges where appropriate and also allow for annotation. Those features are present in Nevron Draw.
Disclaimer: I work for Nevron.