I have almost wrapped up my work on GDAL's DXF driver. Highlights of
the improvements include:
* Full read support for LEADER, MULTILEADER, ATTRIB, HELIX, TRACE
* Basic read support for MLINE
* Reading of raw data (no geometry generation) for 3DSOLID, REGION, SURFACE
* DIMENSION entities are now handled by inserting their anonymous
block, with the old DIMENSION renderer preserved as a fallback for old
* The block insertion code has been almost entirely rewritten and is
now significantly more robust, particularly with respect to nested
blocks and ByBlock/ByLayer colors
* OCS (extrusion) handling is now believed to be correct for all
entities except DIMENSION and *LEADER
* Some other long-standing bugs have been fixed, such as the wrong
handling of elliptical arc segments in HATCH boundaries and the
incorrect translation of some SOLID objects
* Written DXF files are now smaller and have improved support for
text styling and linetypes
* Bug fixes/enhancements to HATCH, TEXT, MTEXT, SOLID, ATTDEF, LTYPE
(linetypes), CIRCLE, LWPOLYLINE, SPLINE, POLYLINE
To the best of my knowledge, GDAL's DXF driver is now the only
open-source library capable of reading MULTILEADER entities and
translating them into geometry primitives.
If you use the DXF driver (read or write), I would appreciate if you
could test against GDAL trunk, particularly if you use CAD software
other than AutoCAD (Microstation's DXF handler, QCAD, FME, etc).
Please report any bugs in Trac, or by direct email to myself if you
don't have an OSGeo login. Supplying a DXF file that exhibits the bug,
as well as screenshots from a CAD package, will really help.
GDAL's DXF reader is a key part of ThinkSpatial's business workflow,
and I trust that many other organisations in a similar position will
benefit from these improvements as much as we have.