Draft DXF

From FreeCAD Documentation
Revision as of 09:54, 4 March 2020 by Roy 043 (talk | contribs) (Changed the 'Installing' paragraph.)
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft DXF

Menu location
File → Export → Autodesk DXF 2D (*.dxf)
Workbenches
Draft
Default shortcut
Ctrl+E
Introduced in version
-
See also
FreeCAD and DXF Import, FreeCAD and DWG Import

Description

This function opens a DXF file, any version from 12 to 2007, to a new document.

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

Importing

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.

Exporting

The exported DXF is compatible with Autocad version 12 and up, so it should open in about any application that supports dxf format. Currently the following FreeCAD objects get 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.

Installing

For licensing reasons, the DXF import/export libraries 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

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)

Example:

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")