Library and Source Code Licensing

The de·caff Viewer is freeware, but not Open Source.

Its purpose is to give potential customers a tool which they can try with their DXF and DWG files to see whether they are supported well. There are a lot of programs and libraries which reclaim that they support DXF which only handle a small subset of all possible features. Even the viewer has its restrictions, see Supported AutoCAD® Features.

If you think your files are well-supported, you can license certain libraries or the complete source code.

The implementation is done in a way that DWG reading is an option. So if you don’t need DWG you don’t need to pay for it. You can always add it later (an update of the basic lib might be necessary, too, eg because new types of entities are supported).

Sources and libraries of predecessors of the viewer are already used by dozens of companies around the world including major players.

Contact me if you are interested in an evaluation.


All libraries are currently based on Java 8.

Minimal DXF(+DWG) File Support Package

The library ac-base.jar allows you to read DXF (and optional DWG) files into a internal structure which allows to access all features of the file. This library can be useful if you are not interested in the graphics or whant to create them yourself (not something I’d recommend).

At the moment changing the data and writing it back to a DXF file is not yet supported again, but is currently under development.

DXF(+DWG) to Image

The library ac2img.jar allows to convert DXF (and optional DWG) files into java.awt.image.BufferedImage objects. The library comes with extensive javadoc and examples showing how to use it in a command line tool or in a graphical application.

DXF(+DWG) to Shapes

The library ac2shp.jar allows to convert DXF (and optional DWG) files into java.awt.Shape-like objects. The implementation allows to greatly influence what is created. It comes with extensive javadoc and an elaborated example which uses the lib to create rich shapes, which are basically java.awt.Shapes which know of their color, layer, draw mode (fill/draw) and how to draw themselves.

Full Package

Basically the classes of the de·caff Viewer, but unobfuscated. It allows you everything the viewer can do (minus DWG reading if you don’t want to pay for it). Depending on your needs I possibly can throw in a a bit more from my portfolio.

The library comes with extensive javadoc and various examples showing how to handle DXF/DWG files from looking into their innards to displaying them on screen.


Support for DWG reading is optional, and the additional license fee is always 450.00 €.

All libraries come with one year of email support, one year of free updates, and the license allows the licensee to use the library in an unrestricted number of copies and projects for an unlimited periof of time.

Please contact me to get a quote if you want to switch from one library to another, or upgrade from an earlier version. In the latter case please also have a look at Migration below.

License License Fee (DXF only) License Fee (DXF+DWG)
Minimal Package library 400.00 € 850.00 €
ac2img.jar library 600.00 € 1,050.00 €
ac2shp.jar library 600.00 € 1,050.00 €
Full Package library 1000.00 € 1,450.00 €

See also VAT below.

Source Code

You can license the source code of the viewer and various related tools.

The source code currently is based on Java 8.

License and Pricing

The license comes with read access to a active GIT repository hosting the code for one year, and email support for the same year (longer periods possible). It grants your company to use the code in an unrestricted number of copies and projects for an unlimited period of time (i.e. even after the git access is stopped). The main restriction is that you are not allowed to become a competitor by giving the code to others. Compiled code may be distributed, although in your interest I’d strongly recommend to use obfuscation in such cases (feel free to ask for help for setups working with my code).

To make your lawyers happy here is my standard license agreement.

Please contact me to get a quote if you want to switch from one of the libraries above to a source code license, upgrade from an earlier version, or are interested in prolonged access to the git repository.

If you are updating from the old DXF-only version please also have a look at Migration below.

License License Fee
Source Code License (DXF only) 6,000.00 €
Source Code License (DXF+DWG) 10,000.00 €

See also VAT below.


If you are already a licensee of my older libraries you should contact me to get a quote for an upgrade.

DWG reading is kept an option so you can upgrade without having to pay for DWG if you only need DXF. Several classes and packages were renamed during the development to mirror that everything is no longer based on DXF only. But I also provide a migration tool which will insert this renamings into your sources. That should take care of most of the changes, and leave only minor necessary adaptions which depend on your usage of the lib/source. There are a lot of other improvements, eg now there’s Enum constants for nearly all internal constants including bitmasks for improved usability, and similar.

When you should not (yet) upgrade

Currently the state of supported features is not yet up to the one provided by previous version in every aspect, so depending of your usage it may be better to wait a bit:

  • Displaying and rendering is the same or better, eg there are more supported entities. In case you only display files an upgrade is recommended.
  • Creating DXF files, or reading DXF, change the data, then write it back is not yet fully supported again. In case you are doing stuff like that you should wait until this is fully functional again.
  • There are no more 2D wireframe classes (i.e. the class tree based on the former de.caff.dxf.model.standard.flat.DrawAble2D interface). Handling the 3D data from CAD files in 2D only works in certain cases, and can give headaches in others, so these classes are removed. Switching to 3D will become necessary if your usage is based in the 2D classes.

Contract Work

Although I’m quite busy usually, you can also try to hire me for contract work, e.g. to implement dedicated additions to the viewer. The smaller the addition the better the chance that I can fit it into my schedule.

My current hourly rate is 102.00 €. If you need a fix price, I’ll estimate the necessary amount of work, multiply that with the rate, and add another 20% for the insecurities involved. Usually you’ll also need a library or source code license for the basic lib. Source code of the additional code I’m writing for you is always included.

See also VAT below.

Contact me to see if I can help you.


All prices given are exclusive VAT, but companies (which are the only expected customers) usually don’t have to pay VAT:

  • Only German companies are required to pay 19% VAT.
  • Companies in the European Union don’t have to pay VAT if they can provide me with a valid European VAT ID.
  • Companies elsewhere don’t have to pay VAT.

My European VAT ID is DE 175 669 304.