Draft DXF

Description
Draft DXF is a software module used by the Std Open, Std Import and Std Export commands to handle the DXF file format.



Importing
The importer has two modes, settable under Edit -> Preferences -> Import/Export -> DXF: One is built-in, C++-based and fast, the other, legacy one is code in Python slower, requires the installation of an add-on, but can sometimes handle some entities better and can created more refined FreeCAD objects. Both support all DXF versions starting from R12.

3D objects inside a DXF file are stored under a binary ACIS/SAT blob, which at the moment cannot be read by FreeCAD. Simpler entities like 3DFACEs, though, are supported.

The following DXF objects can be imported:
 * lines
 * polylines (and lwpolylines)
 * circles
 * arcs
 * splines
 * ellipses
 * layers
 * texts and mtexts
 * dimensions
 * blocks (only geometry. texts, dimensions and attributes inside blocks will be skipped)
 * points
 * leaders
 * paper space objects

Exporting
Files are exported in the R14 DXF format which can be handled by many applications.

The following FreeCAD objects can be exported:
 * all of FreeCAD's 2D geometry such as Draft objects or sketches
 * 3D objects are exported as a flattened 2D view
 * Compound objects are exported as blocks
 * texts
 * colors are mapped from objects RGB colors to autocad color index (ACI). Black will always be "by layer"
 * layers are mapped from group names. When groups are nested, the deepest group gives the layer name.
 * dimensions, which are exported with "Standard" dimstyle.

Installing
For licensing reasons, the required DXF import/export libraries needed by the legacy version of the importer are not part of the FreeCAD source code. For more information see: FreeCAD and DXF Import.

Preferences
For more information see: Import Export Preferences.

Scripting
Draft API and FreeCAD Scripting Basics.

You can export elements to DXF by using the following function:

Example: