Difference between revisions of "AutoCAD DXF"

From GICL Wiki
Jump to: navigation, search
 
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox file format
+
[[Category:Engineering format]]
| name = Drawing Interchange Format
+
'''Title(s):''' AutoCAD DXF, DXF File Format, Drawing Interchange Format, Drawing Exchange Format
| icon =
+
| extension = .dxf
+
| mime =
+
| typecode =
+
| uniform type =
+
| magic =
+
| genre = [[CAD]]
+
| containerfor =
+
| containedby =
+
| owner = [[Autodesk]]
+
| extendedfrom =
+
| extendedto =
+
| standard =
+
}}
+
'''AutoCAD DXF''' (Drawing Interchange Format, or Drawing Exchange Format) is a [[Computer-aided design|CAD]] data [[file format]] developed by [[Autodesk]] for enabling [[CAD data exchange|data interoperability]] between [[AutoCAD]] and other programs.
+
  
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|DWG]] (Drawing), for which Autodesk did not — and, as of 2008, does not — publish specifications. Autodesk now publishes specifications on its website for versions of DXF dating from AutoCAD Release 13 (November 1994) to AutoCAD 2008 (March 2007).
+
'''Version ID:''' u19.1.01
  
Versions of AutoCAD from Release 10 (October 1988) and up support both [[ASCII]] and [[binary file|binary]] forms of DXF.  Earlier versions support only ASCII.
+
'''Date released:''' January 2008
  
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.
+
'''Date:''' December 1982
  
Almost all significant commercial application software developers, including all of Autodesk's competitors, choose to support DWG as their primary format for AutoCAD data interoperability, using libraries from the [[Open Design Alliance]] — a non-profit industry consortium which has reverse-engineered the DWG file format.
+
'''Creator(s):''' [[Creator::AutoDesk]] - Created as part of AutoCAD 1.0
  
==File structure==
+
'''Contributor(s):''' [[Contributor::AutoDesk]]
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.
+
'''Description:''' The DXF file format is developed by AutoDesk and is used as a CAD file format. It was originally created as a way to increase interoperability between AutoCAD and other similar programs. The DXF file format was initially meant to provide exact representation of AutoCAD drawings which were natively stored in DWG(Drawing) format. Since AutoDesk did not release the DWG specification for some time, the DXF file format and the accompanying specification were meant to allow CAD drawings to be opened, edited, and exported by any CAD program.  
*'''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 Recod (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'''
+
  
==Software which supports DXF==
+
'''History:''' Below is a short, bulleted history of the DXF file format.
*[[Adobe Illustrator]]
+
*Alibre Design
+
*[[Altium]]
+
*[[ArchiCAD]]
+
*[[ArcMap]]
+
*[[AutoCAD]]
+
*[[Blender (software)]] - Using an import script
+
*[[CADian (powered by IntelliCAD)]]
+
*[[CAD/TQS]]
+
*[[Cadwork]]
+
*[[Corel Draw]]
+
*[[Cycas/Amiga]]
+
*DWGeditor
+
*[[Manifold System]]
+
*[[Mathematica]]
+
*[[Microsoft Word]]
+
*[[Microsoft Visio]]
+
*[[miniPLAN]]
+
*[[Modo (software)]]
+
*[[Microstation]]
+
*[[OmniWin Cadnest]]
+
*[[QCad]]
+
*RackTools
+
*[[WYSIWYG]]
+
  
==See also==
+
* '''December 1982 - ''' DXF file format released as part of AutoCAD 1.0
*[[DWF]]
+
*[[.dwg|DWG]]
+
*[[Autodesk]] 
+
*[[AutoCAD]]
+
*[[CAD]]
+
*[[QCad]]
+
*[[OpenDWG]]
+
*[[ArcMap]]
+
  
==External links==
+
* '''October 1888 - ''' Both ASCII and binary forms of the DFX file supported in AutoCAD
* [http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=8446698 DXF Specifications] - Autodesk documentation on versions of DXF from Release 13 to current.
+
* [http://www.opendesign.com Open Design Alliance] - Non-profit industry consortium which provides program libraries to read and write DWG and DXF files.
+
* [http://sourceforge.net/projects/dxf/ Open Source software] - Read, write, and draw to DXF files, export to image, print, zoom, pan
+
  
{{AutoCAD_related_articles}}
+
* '''October 1994 - ''' Specification first released as part of AutoCAD Release 13
  
[[Category:Autodesk]]
+
* '''February 1997 to Current - ''' Specification updated and released as part of every release from AutoCAD Release 14 to the latest AutoCAD 2010
[[Category:CAD file formats]]
+
  
[[cs:DXF]]
+
'''Example(s):''' An example file found here: [http://www.enlight.ru/demo/faq/smth.phtml?query=fmt_dxf] is shown below.
[[de:Drawing Interchange Format]]
+
<pre>
[[fr:Drawing eXchange Format]]
+
 
[[ko:DXF]]
+
0        // Delimiter means we're starting 'something new.'
[[it:AutoCAD DXF]]
+
SECTION    // Aha! The 'something new' we're starting is a section
[[ja:DXF]]
+
  2        // What section? 2 means ENTITIES section.
[[pl:DXF]]
+
ENTITIES  // ENTITIES also means ENTITIES section. Sound redundant?
[[pt:DXF]]
+
  0        // Starting 'something new' again!
[[ru:DXF]]
+
3DFACE    // Oh, yeah, baby! It's a 3DFACE!
[[sl:DXF]]
+
  8        // 8 means the next line tells me what layer this is on
[[zh:DXF]]
+
0          // It's on layer 0. I usually ignore the layer.
 +
10        // The line which follows will be vertex 1 X.
 +
50.0      // X of vertex 1 is 50.0.
 +
20
 +
-50.0      // Y of vertex 1 is -50.0.
 +
30
 +
-50.0      // Z of vertex 1 is -50.0
 +
11
 +
50.0      // X of vertex 2 is 50.0
 +
21
 +
50.0      // Y of vertex 2 is 50.0
 +
31
 +
-50.0      // And so on . . .
 +
12
 +
-50.0
 +
22
 +
50.0
 +
32
 +
-50.0
 +
13
 +
-50.0
 +
23
 +
-50.0      // Once we read 'em all, we see that this 3DFACE has four
 +
33        // vertices with the following coordinates:
 +
-50.0      // (50,-50,-50);(50,50,-50);(-50,50,-50);(-50,-50,-50)
 +
  0        // Starting 'something new' again!
 +
ENDSEC    // Ah, damn, it's the end of the ENTITIES section . . .
 +
  0
 +
EOF        // End of file, baby! You should stop reading now.
 +
 
 +
</pre>
 +
 
 +
'''Identifier:''' [http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12272454&linkID=10809853]
 +
 
 +
'''Documentation:''' [http://images.autodesk.com/adsk/files/acad_dxf.pdf]
 +
 
 +
'''File Extensions:''' .dxf
 +
 
 +
'''Applications:''' - AutoDesk AutoCAD
 +
 
 +
* '''Native application(s):''' AutoDesk AutoCAD (NOTE: this was meant as an interoperable format but was originally developed by and supported by AutoCAD so it is the only program listed here.)
 +
 
 +
* '''Interoperable applications:''' The list below, found here - [http://en.wikipedia.org/wiki/AutoCAD_DXF#Software_which_supports_DXF], is a list of many programs supporting this format.
 +
    * A9Cad
 +
    * Adobe Illustrator
 +
    * AGI32
 +
    * AI4CAD 3D
 +
    * Alibre Design
 +
    * Altium
 +
    * ArchiCAD
 +
    * ArcMap
 +
    * AutoCAD
 +
    * Blender - Using an import script
 +
    * BRL-CAD
 +
    * Cadwork
 +
    * Corel Draw
 +
    * DWGeditor
 +
    * Drawbase
 +
    * Easy-PC
 +
    * Epanet
 +
    * Eye-Sys
 +
    * EnRoute[1]
 +
    * FASTechnologies NC-CAM
 +
    * Geosoft Oasis montaj
 +
    * Google SketchUp
 +
    * GraphCalc - Export only
 +
    * Inkscape - export only as of version 0.46
 +
    * IntelliCAD
 +
    * Harness Expert
 +
    * Hevacomp
 +
    * Kabeja
 +
    * Leica Geo Office
 +
    * Lenel OnGuard
 +
    * LD Assistant
 +
    * Lightcalc
 +
    * Manifold System
 +
    * Maple 12
 +
    * Mathematica
 +
    * MetaCAM
 +
    * Microlux
 +
    * Microsoft Visio
 +
    * Microstation
 +
    * miniPLAN
 +
    * Modo (software)
 +
    * OmniWin Cadnest
 +
    * Paint Shop Pro
 +
    * PETRA
 +
    * Pro/Engineer
 +
    * pdf2cad
 +
    * QCad
 +
    * RackTools
 +
    * Rhinoceros 3D
 +
    * Solid Edge
 +
    * Solidworks
 +
    * VariCAD
 +
    * VectorWorks
 +
    * Visual
 +
 
 +
'''Magic numbers:''' The number 0 will appear at the beginning of the file and at the beginning of every new element. It is used as a delimiter in the file. There are also a number of other magic numbers that may appear in the header section, these are outlined in p13-34  in [http://images.autodesk.com/adsk/files/acad_dxf.pdf]
 +
 
 +
'''Format(s):''' application/dxf
 +
 
 +
'''Rights:''' Proprietary license distributed by AutoDesk
 +
 
 +
'''Sustainability Factors:'''
 +
 
 +
* '''Standardization:''' AutoDesk controls this format. All other programs must conform to the standards and specification put forth by AutoDesk in their yearly release of AutoCAD.
 +
 
 +
* '''Adoption:''' Given the list of programs supporting this file format shown above I would say that adoption is fairly widespread and that any major program in the the CAD field supports DXF.
 +
 
 +
** '''Licensing and patent claims:''' None.
 +
 
 +
* '''Self-documentation:''' The labels and section names make the files a little more understandable but there is no inherent ability for self-documentation.
 +
 
 +
* '''External dependencies:''' None
 +
 
 +
* '''Technical protection considerations:''' None
 +
 
 +
'''File classification:'''
 +
* '''Type {Binary, Text}:''' Binary and ASCII
 +
* '''Raster data:'''
 +
** '''Raster data 2D:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''Raster data 3D:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
 
 +
* '''Geometric representation:'''
 +
** '''Implicit representation:'''
 +
*** '''Implicit surfaces:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' N/A
 +
*** '''Implicit curves:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' N/A
 +
*** '''Point set:'''
 +
**** '''Is Supported:''' Yes
 +
**** '''Description:''' An example of this is shown in the 3DFACE section shown in the example file above.
 +
** '''Mesh:'''
 +
*** '''Manifold surface meshes:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
 +
*** '''Manifold volume meshes:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
 +
*** '''Non-manifold meshes:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
 +
** '''Parametric representation:'''
 +
*** '''Parametric surfaces:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' N/A
 +
*** '''Parametric curves:'''
 +
**** '''Is Supported:''' No
 +
**** '''Description:''' N/A
 +
** '''Contour sets:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''NURBS:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' Splines are supported but NURBS are not specifically supported in DXF as these type of spline is not in the specification document.
 +
* '''Multi-resolution models:'''
 +
** '''Is Supported:''' Yes
 +
** '''Description:''' Supports different levels. Each level represents a different slice of the overall drawing. See the level discussion in the specification file and in the example file comments.
 +
* '''Dynamics:'''
 +
** '''Kinematics:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''Assembly:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''Force(s):'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
* '''Boundary representation'''
 +
** '''Manifold surface boundary representations:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''Manifold volume boundary representations:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
** '''Non-manifold boundary representations:'''
 +
*** '''Is Supported:''' No
 +
*** '''Description:''' N/A
 +
* '''Material transparency:'''
 +
** '''Is Supported:''' No
 +
** '''Description:''' N/A
 +
 
 +
'''References:'''
 +
* [http://www.enlight.ru/demo/faq/smth.phtml?query=fmt_dxf An example dxf file]
 +
* [http://images.autodesk.com/adsk/files/acad_dxf.pdf Specification file for the version of DXF described here]
 +
* [http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12272454&linkID=10809853 List of all released DXF specifications]
 +
* [http://en.wikipedia.org/wiki/AutoCAD_DXF#Software_which_supports_DXF Wikipedia page giving general information on DXF]
 +
* [http://betaprograms.autodesk.com/history/autocad_release_history.htm A timeline of AutoCAD releases]

Latest revision as of 23:10, 12 May 2009

Title(s): AutoCAD DXF, DXF File Format, Drawing Interchange Format, Drawing Exchange Format

Version ID: u19.1.01

Date released: January 2008

Date: December 1982

Creator(s): AutoDesk - Created as part of AutoCAD 1.0

Contributor(s): AutoDesk

Description: The DXF file format is developed by AutoDesk and is used as a CAD file format. It was originally created as a way to increase interoperability between AutoCAD and other similar programs. The DXF file format was initially meant to provide exact representation of AutoCAD drawings which were natively stored in DWG(Drawing) format. Since AutoDesk did not release the DWG specification for some time, the DXF file format and the accompanying specification were meant to allow CAD drawings to be opened, edited, and exported by any CAD program.

History: Below is a short, bulleted history of the DXF file format.

  • December 1982 - DXF file format released as part of AutoCAD 1.0
  • October 1888 - Both ASCII and binary forms of the DFX file supported in AutoCAD
  • October 1994 - Specification first released as part of AutoCAD Release 13
  • February 1997 to Current - Specification updated and released as part of every release from AutoCAD Release 14 to the latest AutoCAD 2010

Example(s): An example file found here: [1] is shown below.


 0        // Delimiter means we're starting 'something new.'
SECTION    // Aha! The 'something new' we're starting is a section
  2        // What section? 2 means ENTITIES section.
ENTITIES   // ENTITIES also means ENTITIES section. Sound redundant?
  0        // Starting 'something new' again!
3DFACE     // Oh, yeah, baby! It's a 3DFACE!
  8        // 8 means the next line tells me what layer this is on
0          // It's on layer 0. I usually ignore the layer.
 10        // The line which follows will be vertex 1 X.
50.0       // X of vertex 1 is 50.0.
 20
-50.0      // Y of vertex 1 is -50.0.
 30
-50.0      // Z of vertex 1 is -50.0
 11
50.0       // X of vertex 2 is 50.0
 21
50.0       // Y of vertex 2 is 50.0
 31
-50.0      // And so on . . .
 12
-50.0
 22
50.0
 32
-50.0
 13
-50.0
 23
-50.0      // Once we read 'em all, we see that this 3DFACE has four
 33        // vertices with the following coordinates:
-50.0      // (50,-50,-50);(50,50,-50);(-50,50,-50);(-50,-50,-50)
  0        // Starting 'something new' again!
ENDSEC     // Ah, damn, it's the end of the ENTITIES section . . .
  0
EOF        // End of file, baby! You should stop reading now.

Identifier: [2]

Documentation: [3]

File Extensions: .dxf

Applications: - AutoDesk AutoCAD

  • Native application(s): AutoDesk AutoCAD (NOTE: this was meant as an interoperable format but was originally developed by and supported by AutoCAD so it is the only program listed here.)
  • Interoperable applications: The list below, found here - [4], is a list of many programs supporting this format.
   * A9Cad
   * Adobe Illustrator
   * AGI32
   * AI4CAD 3D
   * Alibre Design
   * Altium
   * ArchiCAD
   * ArcMap
   * AutoCAD
   * Blender - Using an import script
   * BRL-CAD
   * Cadwork
   * Corel Draw
   * DWGeditor
   * Drawbase
   * Easy-PC
   * Epanet
   * Eye-Sys
   * EnRoute[1]
   * FASTechnologies NC-CAM
   * Geosoft Oasis montaj
   * Google SketchUp
   * GraphCalc - Export only
   * Inkscape - export only as of version 0.46
   * IntelliCAD
   * Harness Expert
   * Hevacomp
   * Kabeja
   * Leica Geo Office
   * Lenel OnGuard
   * LD Assistant
   * Lightcalc
   * Manifold System
   * Maple 12
   * Mathematica
   * MetaCAM
   * Microlux
   * Microsoft Visio
   * Microstation
   * miniPLAN
   * Modo (software)
   * OmniWin Cadnest
   * Paint Shop Pro
   * PETRA
   * Pro/Engineer
   * pdf2cad
   * QCad
   * RackTools
   * Rhinoceros 3D
   * Solid Edge
   * Solidworks
   * VariCAD
   * VectorWorks
   * Visual

Magic numbers: The number 0 will appear at the beginning of the file and at the beginning of every new element. It is used as a delimiter in the file. There are also a number of other magic numbers that may appear in the header section, these are outlined in p13-34 in [5]

Format(s): application/dxf

Rights: Proprietary license distributed by AutoDesk

Sustainability Factors:

  • Standardization: AutoDesk controls this format. All other programs must conform to the standards and specification put forth by AutoDesk in their yearly release of AutoCAD.
  • Adoption: Given the list of programs supporting this file format shown above I would say that adoption is fairly widespread and that any major program in the the CAD field supports DXF.
    • Licensing and patent claims: None.
  • Self-documentation: The labels and section names make the files a little more understandable but there is no inherent ability for self-documentation.
  • External dependencies: None
  • Technical protection considerations: None

File classification:

  • Type {Binary, Text}: Binary and ASCII
  • Raster data:
    • Raster data 2D:
      • Is Supported: No
      • Description: N/A
    • Raster data 3D:
      • Is Supported: No
      • Description: N/A
  • Geometric representation:
    • Implicit representation:
      • Implicit surfaces:
        • Is Supported: No
        • Description: N/A
      • Implicit curves:
        • Is Supported: No
        • Description: N/A
      • Point set:
        • Is Supported: Yes
        • Description: An example of this is shown in the 3DFACE section shown in the example file above.
    • Mesh:
      • Manifold surface meshes:
        • Is Supported: No
        • Description: The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
      • Manifold volume meshes:
        • Is Supported: No
        • Description: The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
      • Non-manifold meshes:
        • Is Supported: No
        • Description: The only mesh type structure supported is the idea of a polyface mesh which is described in more detail in the specification document.
    • Parametric representation:
      • Parametric surfaces:
        • Is Supported: No
        • Description: N/A
      • Parametric curves:
        • Is Supported: No
        • Description: N/A
    • Contour sets:
      • Is Supported: No
      • Description: N/A
    • NURBS:
      • Is Supported: No
      • Description: Splines are supported but NURBS are not specifically supported in DXF as these type of spline is not in the specification document.
  • Multi-resolution models:
    • Is Supported: Yes
    • Description: Supports different levels. Each level represents a different slice of the overall drawing. See the level discussion in the specification file and in the example file comments.
  • Dynamics:
    • Kinematics:
      • Is Supported: No
      • Description: N/A
    • Assembly:
      • Is Supported: No
      • Description: N/A
    • Force(s):
      • Is Supported: No
      • Description: N/A
  • Boundary representation
    • Manifold surface boundary representations:
      • Is Supported: No
      • Description: N/A
    • Manifold volume boundary representations:
      • Is Supported: No
      • Description: N/A
    • Non-manifold boundary representations:
      • Is Supported: No
      • Description: N/A
  • Material transparency:
    • Is Supported: No
    • Description: N/A

References: