ADG is a GObject-based library that provides a non-interactive cairo canvas specifically designed for generating technical drawings. The project is approaching the 0.5.0 milestone and becomes to be funny to use. Take a look to the official roadmap to see the current status:
In the following, a brief summary of the more relevant changes from the previous release.
Higher level operators, such as chamfer and fillet, can now be used in the path definition. They do not work yet for Bézier curves but the infrastructure is in place.
A Gtk+ widget for easily showing the canvas has been implemented. It is based on GtkDrawingArea and provides some interaction throught the mouse, such as zooming and panning. It is not viable for serious work but it is funny to use and opened to improvements.
The CPML library has been enriched with the missing functions needed by the above new features. Now it has a ..._length() and ..._near_pos() families of functions. The mathematic behind this library is far from complete: the overall design is quite stable but there are a lot of placeholders, especially when curves were involved. Help from this side will be more than appreciated!