Introduction¶
What is ezdxf¶
Ezdxf is a Python interface to the DXF (drawing interchange file) format developed by Autodesk, ezdxf allows developers to read and modify existing DXF documents or create new DXF documents.
The main objective in the development of ezdxf was to hide complex DXF details from the programmer but still support most capabilities of the DXF format. Nevertheless, a basic understanding of the DXF format is required, also to understand which tasks and goals are possible to accomplish by using the DXF format.
Not all DXF features are supported yet, but additional features will be added in the future gradually.
Ezdxf is also a replacement for the outdated dxfwrite and dxfgrabber packages but with different APIs, for more information see also: What is the Relationship between ezdxf, dxfwrite and dxfgrabber?
What ezdxf can’t do¶
ezdxf is not a DXF converter: ezdxf can not convert between different DXF versions, if you are looking for an appropriate application, try the free ODAFileConverter from the Open Design Alliance, which converts between different DXF version and also between the DXF and the DWG file format.
ezdxf is not a CAD file format converter: ezdxf can not convert DXF files to other CAD formats such as DWG
ezdxf is not a CAD kernel and does not provide high level functionality for construction work, it is just an interface to the DXF file format. If you are looking for a CAD kernel with Python scripting support, look at FreeCAD.
Supported Python Versions¶
Ezdxf requires at least Python 3.9 (determined by numpy) and will be tested with the latest stable CPython version and the latest stable release of pypy3 during development.
Ezdxf is written in pure Python with optional Cython implementations of some low level math classes and requires pyparsing, numpy, fontTools and typing_extensions as additional library beside the Python Standard Library. Pytest is required to run the unit and integration tests. Data to run the stress and audit test can not be provided, because I don’t have the rights for publishing these DXF files.
Supported Operating Systems¶
Ezdxf is OS independent and runs on all platforms which provide an appropriate Python interpreter (>=3.9).
Supported DXF Versions¶
Version |
AutoCAD Release |
---|---|
AC1009 |
AutoCAD R12 |
AC1012 |
AutoCAD R13 -> R2000 |
AC1014 |
AutoCAD R14 -> R2000 |
AC1015 |
AutoCAD R2000 |
AC1018 |
AutoCAD R2004 |
AC1021 |
AutoCAD R2007 |
AC1024 |
AutoCAD R2010 |
AC1027 |
AutoCAD R2013 |
AC1032 |
AutoCAD R2018 |
Ezdxf also reads older DXF versions but saves it as DXF R12.
Embedded DXF Information of 3rd Party Applications¶
The DXF format allows third-party applications to embed application-specific information. Ezdxf manages DXF data in a structure-preserving form, but for the price of large memory requirement. Because of this, processing of DXF information of third-party applications is possible and will retained on rewriting.
License¶
Ezdxf is licensed under the very liberal MIT-License.