Open-Source-Python-Bibliothek zur AutoCAD-DXF-Erstellung
Kostenlose Python-CAD-Bibliothek zum Erstellen, Lesen und Bearbeiten von AutoCAD-DXF-Dateien. Entwickler können ASCII-DXF- und binäre DXF-Modelle lesen und schreiben.
Was ist die Ezdxf-Bibliothek?
Softwareentwickler können dank der robusten Open-Source-Python-AutoCAD-DXF-Bibliothek Ezdxf mit AutoCAD-DXF-Dateien in ihren eigenen Python-Programmen arbeiten. AutoCAD nutzt den weit verbreiteten Dateityp DXF (Drawing Interchange File) für den Datenaustausch mit anderen CAD-Programmen. Die Bibliothek unterstützt die meisten Funktionen des DXF-Formats und erleichtert Entwicklern die Arbeit, indem sie die komplexen DXF-Funktionen vor Programmierern verbirgt.
Anwendungsspezifische Daten können mithilfe der Ezdxf-Bibliothek von Drittanbieterprogrammen eingebettet werden. Die Möglichkeit, DXF-Dateien zu erstellen, DXF-Dateien zu bearbeiten, vorhandene DXF-Dokumente zu schreiben, mit CPython und Pypy3 zu testen, DXF-Inhalte von Drittanbietern zu erhalten, optionale C-Erweiterungen für CPython zu verwenden und viele weitere Funktionen sind für die Verwaltung von DXF-Dokumenten unerlässlich. Weitere Add-ons sind ebenfalls verfügbar, müssen jedoch separat geladen werden, da sie bei der Grundinstallation nicht automatisch installiert werden.
Die Open-Source-Bibliothek Ezdxf unterstützt verschiedene DXF-Versionen, darunter R12, R2000, R2004, R2007, R2010, R2013 und R2018. Darüber hinaus unterstützt sie ältere DXF-Versionen als R12 sowie die DXF-Versionen R13 und R14 im schreibgeschützten Modus. Die Nutzung der Ezdxf-Bibliothek unterliegt der MIT-Lizenz.
Erste Schritte mit Ezdxf
Das Ezdxf-Paket lässt sich am einfachsten mit pip installieren. Es enthält die optionalen C-Erweiterungen von PyPI als Binärdateien. Für eine reibungslose Installation verwenden Sie bitte den folgenden Befehl.
Ezdxf über pip installieren
pip install ezdxf
Sie können die kompilierte gemeinsam genutzte Bibliothek aus dem Github-Repository herunterladen.
Arbeiten mit Polygonen über die Python 3D-Bibliothek
Ein Polygon ist eine zweidimensionale Form mit geraden Seiten. Polygonale Modellierung ist ein Ansatz zur Modellierung von Objekten durch die Darstellung oder Annäherung ihrer Oberflächen mithilfe von Polygonnetzen. Die Open-Source-Python-Bibliothek Ezdxf ermöglicht es Softwareentwicklern, mit nur wenigen Zeilen Python-Code Polygone für jeden Stapelpunkt zu erstellen. Dies ist besonders nützlich für 3D-Drucker, deren Firmware kleine Lochgrößen nicht korrigiert.
AutoCAD DXF-Dateierstellung mit Python
Die Open-Source-Python-Bibliothek Ezdxf unterstützt das Lesen und Schreiben von AutoCAD DXF-Dokumenten in Python-Anwendungen vollständig. Die Bibliothek erstellt neue DXF-Dokumente mit minimalem Inhalt. Das bedeutet, dass nur die unbedingt notwendigen Ressourcen wie Linientypen, Textstile und mehr enthalten sind. Es ist auch möglich, eine vorhandene DXF-Datei zu öffnen und deren Inhalt problemlos zu ändern.
Wie erstelle ich eine neue DXF-Zeichnung über die Python-Bibliothek?
import ezdxf
from ezdxf import colors
from ezdxf.enums import TextEntityAlignment
# Create a new DXF document.
doc = ezdxf.new(dxfversion="R2010")
# Create new table entries (layers, linetypes, text styles, ...).
doc.layers.add("TEXTLAYER", color=colors.RED)
# DXF entities (LINE, TEXT, ...) reside in a layout (modelspace,
# paperspace layout or block definition).
msp = doc.modelspace()
# Add entities to a layout by factory methods: layout.add_...()
msp.add_line((0, 0), (10, 0), dxfattribs={"color": colors.YELLOW})
msp.add_text(
"Test",
dxfattribs={
"layer": "TEXTLAYER"
}).set_placement((0, 0.2), align=TextEntityAlignment.CENTER)
# Save the DXF document.
doc.saveas("test.dxf")
AutoCAD DXF-Zeichnungen mit Python öffnen und lesen
Die Open-Source-Python-Bibliothek Ezdxf ermöglicht es Softwareentwicklern, Daten aus bestehenden DXF-Dokumenten mit nur wenigen Zeilen Python-Code zu öffnen, zu laden und abzurufen. Sie eignet sich gut für DXF-Zeichnungen aus vertrauenswürdigen Quellen wie AutoCAD oder BricsCAD und lädt DXF-Dateien mit kleineren und größeren Fehlern. Sie können problemlos auf alle DXF-Elemente zugreifen und diese iterieren sowie die Attribute bestehender Elemente abrufen.
Wie lade ich eine DXF-Datei über die Python-Bibliothek?
import sys
import ezdxf
try:
doc = ezdxf.readfile("your_dxf_file.dxf")
except IOError:
print(f"Not a DXF file or a generic I/O error.")
sys.exit(1)
except ezdxf.DXFStructureError:
print(f"Invalid or corrupted DXF file.")
sys.exit(2)
Textverarbeitung in DXF-Zeichnungen mit Python
Die Python-Bibliothek Ezdxf unterstützt die Textverarbeitung in DXF-Dokumenten vollständig. Sie bietet verschiedene Funktionen zur Textverarbeitung, darunter das Hinzufügen einfacher einzeiliger Textelemente, die einfache Textausrichtung (oben, Mitte, unten, Grundlinie, Mitte links, rechts), Textanpassung, Standardtextstile und -linientypen, das Hinzufügen neuer Textstile, die Verwendung von 3D-Text und Standardschriften usw.
Wie fügt man einfachen einzeiligen Text über die Python-API hinzu?
import ezdxf
from ezdxf.enums import TextEntityAlignment
# The TEXT entity is a DXF primitive and is supported in all DXF versions.
# The argument setup=True creates standard linetypes and text styles in the
# new DXF document.
doc = ezdxf.new("R12", setup=True)
msp = doc.modelspace()
# Use method set_placement() to define the TEXT alignment, because the
# relations between the DXF attributes 'halign', 'valign', 'insert' and
# 'align_point' are tricky.
msp.add_text("A Simple Text").set_placement(
(2, 3),
align=TextEntityAlignment.MIDDLE_RIGHT
)
# Using a predefined text style:
msp.add_text(
"Text Style Example: Liberation Serif",
height=0.35,
dxfattribs={"style": "LiberationSerif"}
).set_placement((2, 6), align=TextEntityAlignment.LEFT)
doc.saveas("simple_text.dxf")