Draft DXF

From FreeCAD Documentation
Revision as of 10:03, 4 March 2020 by Roy 043 (talk | contribs)
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

Draft DXF is a software module used by the Std_Open, Std_Import and Std_Export commands to handle the DXF file format.

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

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.

Exporting

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.

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