Technical Drawing
Creating technical drawings is mandatory in most scientific and engineering professions. Fortunately, there is a wide variety of commercial and open-source software available to assist with illustrations. Some are text-driven while others include a graphical drawing interface. Some are industry-specific while others are more generic.
Tool Comparison
Following is a list of useful drawing tools.
Tool | Audience | Platforms | Free | GUI | Scriptable | Notes |
---|---|---|---|---|---|---|
MS Visio | Biz, Tech, Eng | Windows only | No | Yes | VBA, C++ | |
GraphViz | IT, Network | Win, Linux, Mac | Yes | No | Yes | |
Pic language | Biz, Tech | Linux, Mac | Yes | No | Yes | DPIC, manual |
GLE | Science, Math | Win, Linux, Mac | Yes | No | Yes | |
format plugin | unknown | Browser | Yes | Viewer | Yes | |
Draw Plugin | Tech, Eng | Browser | Yes | (Yes) | Yes |
Dokuwiki Draw Plugin
Below is an example of the DokuWiki Draw plugin. This image is created using a Swing-based Java application running on a user's machine. When finished, a user selects File-->Save and the drawing file and the graphic it created are sent to the server and save in the media folder. The image can be edited later by anyone with write permissions to the current page.
<draw name=hello_world namespace=technology>
Why is this plugin important? Because of who it allows to create drawings: non-technical consumers.
- a large percentage of consumers do not own a drawing tool
- most Windows-based drawing tools are commercial
- most consumers have simple needs that can met with any tool
- this plugin provides these basic features at no cost
I speculate that 2/3 of all drawing needs can be satisfied with this plugin[^1]. Non-technical users are likely to be satisfied just to have a drawing tool, and many technical users will use this plugin simply because it works.
Dokuwiki GraphViz Plugin
Graphviz is a really interesting plugin. It doesn't have a Visual designer like Draw plugin or Visio. Instead, it uses the graphviz tools from AT&T Labs. You'll need to learn the simple DOT language to use it. Although not the friendliest of tools for newbies, it is far more powerful in the long run because it can be scripted.
Here is an example of Graphviz in action. This is the code that produces the diagram below:
digraph {
A->C;
B->C;
C->D;
}
<graphviz>digraph {A->C;B->C;C->D;} </graphviz>
[^1] for those who disagree with this assertion: please understand that many, many people who have Visio use only the "basic shapes" template and would rather explain a diagrams weaknesses than spend time perfecting it.