CRI Radio

Apr 23, 2007

Dia

image

Welcome to Dia's new homepage. Dia is a GTK+ based diagram creation program for Linux, Unix and Windows released under the GPL license.

" alt="" src="http://live.gnome.org/wiki/gnome/img/attention.png" height="15" width="15"> News! 29/3: Version 0.96.1 is ready for download

Dia is roughly inspired by the commercial Windows program 'Visio', though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.

It can load and save diagrams to a custom XML format (gzipped by default, to save space), can export diagrams to a number of formats, including EPS, SVG, XFIG, WMF and PNG, and can print diagrams (including ones that span multiple pages).

We feel Dia is in a state where it can be actively used. Many features are implemented and the code is quite solid and mature. Try downloading Dia and tell us what you think of it. If you find any bugs, please report them with Gnome Bugzilla. Check out the code too, you might even want to contribute...

Dia (last edited 2007-04-02 07:34:23 by LarsClausen)

Links

Some links to...

Tools that generate Dia diagrams

AutoDia

AutoDia is a modular application that parses source code or data (if a handler is available) and produces an XML document in Dia format. Handlers for Perl, C++, Java and PHP are available. (This used to be called AutoDIAL.)

Diazy

Diazy is an open source software package that is modeled after portions of the proprietary system Rational Rose. Diazy's two main objectives are to generate a source code framework from a UML diagram that was created in the popular open source-diagramming tool Dia. It will also generate a Dia UML class relationship diagram form any object oriented code source.

pstoshape.pl

A perl script that attempts to extract connected shapes from PostScript files. In some cases, this makes it very easy to generate shapes.

EMF Decoder

A Perl script that attempts to decode Visio documents (even inside Word documents) by looking at the EMF (Enhanced MetaFile) part. Unfortunately, Visio 2002 only uses bitmaps for EMF, but older files can be converted with some restrictions.

HappyDoc

HappyDoc generates documentation for Python programs, and can output Dia diagrams.

Synopsis

Synposis is a documentation extraction tool. It can output Dia diagrams among other things. It doesn't try to do layout.

ArgoUML2Dia

ArgoUML2Dia converts from the ArgoUML format to Dia, though not all object types are supported yet.

SchemaMania.org

SchemaMania.org aims to be a repository for database design schemas.

PostgreSQL AutoDoc

A perl script which takes the database structure and exports an XML file which Dia can use, together with various documentation formats. This used to be called Postgres_to_Dia.

Agata

Agata Report is a Report Generator, written in PHP-GTK. Allows you to edit and get SQL results from several Databases as Text or PostScript Files. It can generate Dia diagrams with all the tables you are working on.

Medoosa

Medoosa is a documentation tool for C++ that can produce UML class diagrams including generalizations and associations. Corrections can be made interactively in a diagram editor (Dia) and are fed back into the source as Javadoc-style comments.

cpp2dia

"cpp->dia" aka "cpp2dia" has been developed to create UML diagrams for Dia from an existing C++ source. "cpp->dia" is a small console based Tcl script, that should not be too intractable. The main focus for "cpp->dia" is at creating nice-looking UML diagrams, and not writing an high-end parser for C++ code. Therefore "cpp->dia" uses "ctags" to do the main work on parsing the C++ source. To layout the UML graph in a not-random way, "cpp->dia" can utilize "Graphviz" from A T & T Labs.

OraSchemaDoc

The goal of oraschemadoc is "JavaDoc" style detailed documentation for all objects in schemas covering Oracle specific features. The result of executing oraschemadoc is a set of static html files. It is also possible to export the datamodel to Dia UML Diagram.

Tools that generates something from Dia diagrams

teDia2SQL

Dia2SQL is a Perl script to convert Dia diagrams to SQL databases, by Tim Ellis. It supports a number of database systems, including Sybase, Postgres, Oracle, DB/2, MS-SQL, MySQL, and others. It is the most complete Dia-to-DB program available.

Nautilus Thumbnails

A bunch of scripts that create thumbnails for Nautilus. They support Dia file format.

Dia2Code

Dia2Code is a small utility used to generate code from a Dia diagram.

Dia2SQL

Dia2SQL is a Perl script to convert Dia diagrams to SQL databases, by Alexander Troppmann.

Dia2SQL

Dia2SQL is also a Perl script to convert Dia diagrams (exported as EPS) to SQL databases, by Douglas Spencer.

Eros

Eros is another a Perl script to convert Dia diagrams to SQL databases, by Roberto Andrade Fonseca.

Dia2SQL

Dia2SQL is yet another transformer from Dia to SQL, this one written in PHP.

Dia2SQLpy

Dia2SQLpy is yet another transformer from Dia to SQL, this one written in Python. It supports both PostgreSQL and MySQL.

Dia2Postgres

Dia2Postgres is a Perl script that can be used to convert Dia diagrams into PostgreSQL scripts or PHP mirror classes which can add, update and modify entries automatically. It has support for inheritance, simple references (limited to a single field), and a fake enum type which creates a table.

dia2fsm

dia2fsm takes a dia diagram containing an FSM specification (please see the user guide for details of general usage and the UML objects to use) and forward generates skeleton code. The current version (V 0.0.2) supports C and C++ code generation (Java coming soon), and also creates a makefile to allow the skeleton code to be built and tested. It will also create an input file for AT & T's dot application, and generate a PNG image of the machine on request. The generated code is _not_ intended to be an academically sound FSM implementation, but is intended to provide an efficient, working state machine. dia2fsm is written in C++, and although it is built on Win2K only at present, any platform-sensitive code is implemented with the Qt library.

Cool uses of Dia

ecolNet

ecolNet uses Dia to dynamically generate graphs of service relationships. A novel application.

Related programs

Vector graphics foundry

The SourceForge Vector Graphics Foundry is a list of programs dealing with vector graphics. It lists many smaller, specialized programs as well as the generalized ones.

Visio

A diagram creation program for Windows. The inspiration for Dia. Now bought by Microsoft.

Ideogramic

Two specialized diagramming programs, one for UML, one for generic diagrams. Commercially available for Linux and Windows.

Kivio

The KDE diagram program, closely modelled on Visio.

ArgoUML

A UML editor written in Java.

JGraph

A highly configurable Java-based diagramming editor.

Gaphor

A UML editor based on DiaCanvas2.

RoboChart

A commercial diagramming program for Sparc and Linux systems. Offers a no-save evaluation download.

Tkined

A diagramming program specialized for networks.

Ideagraph

A simple idea visualization tool.

Xfig

Quite old vector drawing program for X11.

Tgif

A vector drawing program for X11 with hierarchial objects.

OmniGraffle

A commercial diagramming program for Mac OS X.

Ipe

An extensible drawing editor for creating figures for inclusion in LaTeX documents.

Sodipodi

A vector drawing program using GTK.

Sketch

A drawing package for X windows.

Gyve

A free vector drawing program for Unix.

idraw

A vector-graphics program.

Graphics of this web site are made with the Gimp and Xfig by Toussaint Frédéric

Dia/Links (last edited 2007-01-13 17:08:37 by TommiVainikainen)