AutoCAD DXF

AutoCAD DXF (Drawing Interchange Format, or Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs.

History
DXF was introduced in December 1982 as part of AutoCAD 1.0, and was intended to provide an exact representation of the data in the AutoCAD native file format, DWG (Drawing). For many years, Autodesk did not publish specifications, making correct creation of DXF files difficult. Autodesk now publishes the incomplete DXF specifications online.

Compatibility
Versions of AutoCAD from Release 10 (October 1988) and up support both ASCII and binary forms of DXF. Earlier versions support only ASCII.

As AutoCAD has become more powerful, supporting more complex object types, DXF has become less useful. Certain object types, including ACIS solids and regions, are not documented. Other object types, including AutoCAD 2006's dynamic blocks, and all of the objects specific to the vertical market versions of AutoCAD, are partially documented, but not well enough to allow other developers to support them. For these reasons many CAD applications use the DWG format which can be licensed from Autodesk or non-natively from the Open Design Alliance. DXF files do not specify the units of measurement used for its coordinates and dimensions.

Most CAD systems and many vector graphics packages support the import and export of DXF files, notably Adobe products, Inkscape & Blender. Some CAD systems use DXF as their native format, notably QCAD and LibreCAD.

File structure
ASCII versions of DXF can be read with any text editor. The basic organization of a DXF file is as follows:


 * HEADER section: General information about the drawing. Each parameter has a variable name and an associated value.
 * CLASSES section: Holds the information for application-defined classes whose instances appear in the BLOCKS, ENTITIES, and OBJECTS sections of the database. Generally does not provide sufficient information to allow interoperability with other programs.
 * TABLES section: This section contains definitions of named items.
 * 1) Application ID (APPID) table
 * 2) Block Record (BLOCK_RECORD) table
 * 3) Dimension Style (DIMSTYLE) table
 * 4) Layer (LAYER) table
 * 5) Linetype (LTYPE) table
 * 6) Text style (STYLE) table
 * 7) User Coordinate System (UCS) table
 * 8) View (VIEW) table
 * 9) Viewport configuration (VPORT) table


 * BLOCKS section: This section contains Block Definition entities describing the entities comprising each Block in the drawing.
 * ENTITIES section: This section contains the drawing entities, including any Block References.
 * OBJECTS section: Contains the data that apply to nongraphical objects, used by AutoLISP, and ObjectARX applications.
 * THUMBNAILIMAGE section: Contains the preview image for the DXF file.
 * END OF FILE

The data format of a DXF is called a "tagged data" format, which "means that each data element in the file is preceded by an integer number that is called a group code. A group code's value indicates what type of data element follows. This value also indicates the meaning of a data element for a given object (or record) type. Virtually all user-specified information in a drawing file can be represented in DXF format."

Criticism
Because comprehensive documentation does not exist, consideration is often given to alternative open formats like SVG (an open format defined by the W3C), DWF (an open format defined by Autodesk ) or even EPS (ISO/IEC standard 29112:2018). DXF (as well as DWG) is however still a preferred format for CAD files for use by the ISO.