Creating diagrams in OpenOffice.org Draw and Impress
OpenOffice.org's tools for creating diagrams are easy to ignore. For one thing, their controls are extremely small. For another, they are pitifully under-documented in the online help, which plods through the options without explaining what they are or why you want to use them. Then, just to really confuse you, the full set of tools is available only in Draw and Impress, although Write and Calc users might also want them. Yet despite these handicaps, OpenOffice.org's diagram tools work well enough that many users should find no need for more sophisticated tools such as Dia.
Diagrams require a degree of precision in placement. For this reason, before you start constructing a diagram, maximize the OpenOffice.org window and change the zoom to at least 120%. You may also want to select View -> Grid -> Display Grid to give you some guidelines for placing pieces of diagrams. Should the grid not be precise enough, you can change it in Tools -> Options by going to the Grid pane for the applications you are using.
If you wanted, you could create diagrams using Draw or Impress' tools for drawing primitives and multi-sided shapes. However, that would be doing things the hard way. You will have a far easier time if you use the sets of shapes specifically designed for diagrams: Flowcharts, Callouts, and Connectors. You can find these sets by running the cursor over the Drawing toolbar, but Connectors are eighth from the left, while Flowcharts and Connectors and Callouts are thirteenth and fourteenth.
Connectors, incidentally, are the set missing in Write and Calc for some reason.
To use a shape from any of these sets, click the arrow key beside the icon and select a shape. Otherwise, the set defaults to the last shape used -- a behavior that can be useful if you are adding many of the same shapes. After you select the shape, drag the cursor over the document to create an object of the size you want. In most cases, you will probably want to press the Select key as you drag to keep the proportions of the object from changing. When you need another object of the same type, copy and paste the original.
The object you create will have the default line and area fill: by default, a continuous line of 0 width and a fill of Blue 8. Alter these to your preferences (for instance, a white fill), then press the F11 key to open the Styles and Formatting floating palette. Select the object, and click the New Style from Selection button at the top of the floating palette. As you add other objects, you can now create a uniform style by selecting first the object, then the style you created.
Flowchart shapes are the basic tools for creating not only traditional flowcharts, but also less formal diagrams such as organizational charts or family trees. If you are unfamiliar with the available shapes, you will probably not find the mouseover text very useful, so you might want to work with an online guide open in your web browser, such as the Wikipedia entry on flowcharts.
For less formal diagrams, the flowchart shapes are also useful, since they include basic primitives such as rectangles, triangles, and ellipses.
Callouts are a block of text that point to a detail in a complex diagram or screenshot, like the ones you might find in an anatomy or engineering text. They are often used as labels, or as a way of giving more information than fit into a diagram, especially when the document is highly complex.
Unlike connectors (see below), callouts do not attach themselves to objects. Consequently, if you change the position of the object, you have to change the position of the callout separately. However, you can edit callouts manually or via styles to change all aspects of them, including typefaces, and whether the line pointing to the diagram has an arrow at the end or not.
In most diagrams, you want to show some sort of connection between objects. You could use Draw or Impress' array of arrows, but if you ever need to reposition objects, you will need to reposition the arrows, too, if not delete or redraw them. By contrast, connectors move as the objects move, automatically readjusting themselves so that each end always points to a position on the outline of an object. By default, this position is on the center of one side of an object. You can see these positions marked with an x when you select a connector from the Drawing taskbar.
If anything, connectors are even more under-documented than the rest of OpenOffice.org's diagramming tools. However, basically they come in four types. Standard connectors are entirely outside any object, and change directions only at right angles. Line connectors are at any angle, and may pass through an object, while straight connectors are the shortest line between the two end points. Curved connectors are exactly as they sound, and, like standard connectors, by default are outside all objects.
In many cases, the first three types will look exactly the same. If the one you choose does not do what you want, you can experiment with another type of connector.
Each type of connector also comes with three types of end points: a square at each end, an arrow at one end, and an arrow at both ends. In flow charts, the direction of an arrow indicates the flow of control, including a movement along the steps of a process. However, in other diagrams, you can use the end points more loosely. For instance, in a family tree, you would probably want to use square end points.
Standard, line, and curved connectors also have defining points between the end points -- in the case of curved connectors, usually several, since defining a curve is much harder than defining a straight line. The position of these points may change as you drag one of the objects that the connector joins. In addition, you can drag these points to change the shape of the connector without moving the connected objects.
To change the appearance of a connector more precisely, select it and click Connector on the right-click menu. You can alter the skew (the angle) at which lines in the connector meets, or the line space (read line length or height) of lines in the connector -- or, if you want, the type of connector. The dialog includes a preview, and you can always cancel before applying your changes if you lose control of your editing.
Connectors are as much objects as a flow chart shape, so you can manually edit line width and color and even create a style for them. Object styles even contain a page for defining connectors' skews and line spaces. However, in practice, defining these two elements in a style is rarely useful, because, unless you have carefully planned your diagram, you will probably have to customize each connector anyway.
Making the diagramming tools work for you
OpenOffice.org's Flowcharts, Callouts, and Connectors are somewhat rough and ready. Connectors especially require some experimenting to figure out how to use them and to decide which types are best for your purposes. And even the most expert user may sometimes get confused by which end of a line an arrow when end up.
Still, you can greatly reduce the awkwardness of these tools if you rough out your diagrams on a sheet of paper before first. In this way, the repositioning of objects should be minimal, and you will probably have less of a battle against the vagaries of the tools.
You should also eliminate much of the drudgery by using styles whenever possible. The more complex the diagram, the more styles will save you doing the same tasks over and over again.
In general, there's enough power in OpenOffice.org's diagram tools for most tasks. But you have to be patient and methodical in making that power work for you rather than against you.
Bruce Byfield (nanday)
- Reducing Boot Time in Embedded Linux Systems
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Use Linux as a SAN Provider
- diff -u: What's New in Kernel Development
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- RSS Feeds
- Great Scott! It's Version 13!
- Tech Tip: Really Simple HTTP Server with Python
- Linux Systems Administrator
- Senior Perl Developer