DXF was originally 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 which Autodesk for many years did not publish specifications. Because of this, correct imports of DXF files have been difficult. Autodesk now publishes the DXF specifications as a PDF on its website.
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 coordinates are always without dimensions so that the reader or user needs to know the drawing unit or has to extract it from the textual comments in the sheets.
ASCII versions of DXF can be read with a 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.
Application ID (APPID) table
Block Record (BLOCK_RECORD) table
Dimension Style (DIMSTYPE) table
Layer (LAYER) table
Linetype (LTYPE) table
Text style (STYLE) table
User Coordinate System (UCS) table
View (VIEW) table
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."