The ADG library (Automatic Drawing Generation) is a set of functions focused on automating the drawing of mechanical parts. It is not a CAD system but a GObject-based library where a custom application can put common CAD entities such as paths, hatches and dimensions, to automatically create technical drawings.
A demo application is provided in order to show the capabilities of the canvas. Although it is possible to interact with the library directly in C (that is what the adg-demo program is doing), the canvas is expected to be used from higher level languages, much in the same way as what done in the GNOME stack.
Lua bindings based on LGI are yet provided out of the box. The adg-lua project, downloadable from the "Files" section, provides Lua programs and demos that leverages those bindings.