: Drawing block diagram? 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:
Is there any software that allows to draw block diagrams
like this: upload.wikimedia.org/wikipedia/commons/f/f5/Windows_2000_architecture.png or like this:
More posts by @Turnbaugh909
10 Comments
Sorted by latest first Latest Oldest Best
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}
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.
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.
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.
yEd is good at this, is free and has Windows, Mac and Linux versions:
www.yworks.com/en/products_yed_about.html
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.
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.
Free online options
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:
Draw.io (free and open source) - straightforward, allows saving straight to Google Drive or Dropbox. Also has a Desktop version.
Gliffy (free up to 5 public diagrams, then pay-for) - clean layout, has a 'Confluence' plugin for wikis
Other answers on this page recommend LucidChart (freemium) and Cacoo (freemium)
For mac / iOS
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.
For PC
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.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.