Draft DXF

From FreeCAD Documentation
Revision as of 10:47, 6 April 2020 by Roy 043 (talk | contribs) (Removed Std_Import.svg and Std_Export.svg)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский

Draft DXF

Menu location
Default shortcut
Introduced in version
See also
FreeCAD and DXF Import, FreeCAD and DWG Import


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

Screenshot qcad.jpg

Qcad drawing exported to DXF, which is subsequently opened in FreeCAD


DXF versions R12 - 2007 are supported.

The following DXF objects can be imported:

  • lines
  • polylines and lwpolylines
  • circles
  • arcs
  • layers (layers containing objects are converted to FreeCAD Groups)
  • texts and mtexts
  • dimensions
  • blocks (only geometry. texts, dims and attributes inside blocks will be skipped)
  • points
  • leaders
  • ... (list is incomplete).


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

The following FreeCAD objects can be exported:

  • lines and wires (polylines)
  • arcs and circles
  • 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.
  • ... (list is incomplete).


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


For more information see: Import Export Preferences.


See also: Draft API and FreeCAD Scripting Basics.

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

importDXF.export(objectslist, filename, nospline=False, lwPoly=False)


import Draft, importDXF

Polygon1 = Draft.makePolygon(3, radius=500)
Polygon2 = Draft.makePolygon(5, radius=1500)

objects = [Polygon1, Polygon2]

importDXF.export(objects, "/home/user/Pictures/myfile.dxf")