

Once connected, moving the object will drag the connector along with it, keeping the semantic content of the diagram unaltered. Dropping the connector endpoint there causes a connection to be made. When a connector endpoint lines up with an anchor node on a symbol or graphics primitive object, the object is highlighted to indicate the connection. Handles on the connector allow you to change the endpoints and also the location of the "zig-zag". These lines follow the familiar straight-line vertical or horizontal pattern that I'm sure you've seen in many diagrams. The star of the show are the "zig-zag" connectors. I'm not sure why this is), and of course, color. Object properties for text include the size, a small selection of fonts (there is apparently an extended font dialog, although attempting to use it causes Dia to freeze up on my system. This was very useful for transferring labels from the ASCII art original into my drawing. There is no text-editing dialog as such, but right-clicking and selecting "Edit" on a text object gives you options to do things like "Paste Text" from the clipboard into the object. However I did pick symbols for the GNU/Linux/Unix PC, the Macintosh, and the printers. Since the key aspect of Dia is the use of symbol libraries, it's important to consider which are availableįor this project, we mostly don't need anything more than the primitive rectangular box, so we won't really get much use from the symbol libraries. Of these, most are not much use to me, but I do get a lot of use out of the "UML" sheet for doing object-oriented design of software. There are 34 "sheets" of symbols in my installation of Dia (Version 0.96.1, as packaged for Debian "Lenny").

Since the key aspect of Dia is the use of symbol libraries, it's important to consider which are available, and which might suit the task you are working on. The interface is somewhat minimalist, which makes Dia very quick to learn, and it's not hard at all to get started on a simple diagram with it, even if you've never used it before. However, the program saves me a lot of time in other areas, so it's often worth it. It's necessary to select each object in turn, right click to select "Object→Properties" and then set the properties for it. One irritation that I have with the object properties is that for some reason, you cannot select multiple objects and apply the same properties all at once, even when they are all of the same type. This means that Dia is an excellent tool for "sketching" a diagram before you are fully sure how you want to arrange it on the page (a very useful feature, even though I don't really need it for this CUPS filter diagram project, because I'm working from an original prototype of the drawing).Īll of the graphics objects have "properties" which are highly specific to each graphic element type, and it is largely by manipulating these that you can customize the appearance of your drawing. There is even an "auto-routing" mode which can be used with the connectors. The coolest thing about this is the system of anchors which allows connector lines to stay attached to the anchor points on symbols even as you move the symbols around. In principle, you can create vector graphics "from scratch" in Dia, but the interface favors using the built-in symbols and simply connecting them using "zig-zag lines" (or "connectors").ĭia is specifically billed as a "diagram editor" The main features of Dia are a deeply-integrate system of symbol libraries and a small set of primitive graphics tools which provide text, boxes, ellipses, polylines, and bezier curves. Though I've never used Visio, I have heard Dia compared to it. A diagram editorĭia is specifically billed as a "diagram editor", which is of course where the name comes from. Still, for what it can do, it is indispensable. Furthermore, there are bugs in parts of the program. Dia is very useful, but it's sometimes frustrating, because the idea of it suggests expectations well beyond what it can actually do. But since that abstraction is very appropriate for dataflow diagrams (such as the one I picked as a comparison project), I think it's important to note what it can do. Instead, Dia operates at a somewhat higher level of abstraction.

SIMPLEDIAGRAMS NETWORK SHAPES SERIES
Including Dia in this series is just a bit of a stretch, because it is not a conventional "vector graphic editor".
