1. Producten
  2.   CAD
  3.   Python
  4.   Ezdxf
 
  

Open Source Python-bibliotheek voor AutoCAD DXF-creatie

Gratis Python CAD-bibliotheek voor het maken, lezen en bewerken van AutoCAD DXF-bestanden. Ontwikkelaars kunnen ASCII DXF- en binaire DXF-modellen lezen en schrijven.

Wat is de Ezdxf-bibliotheek?

Softwareontwikkelaars kunnen met AutoCAD DXF-bestanden werken in hun eigen Python-programma's dankzij de robuuste open-source Python AutoCAD DXF-bibliotheek Ezdxf. AutoCAD gebruikt het veelgebruikte DXF-bestandstype (Drawing Interchange File) om gegevens uit te wisselen met andere CAD-programma's. De bibliotheek ondersteunt de meeste functies van het DXF-formaat en maakt het werk van ontwikkelaars eenvoudiger door de complexe DXF-complexiteit voor programmeurs te verbergen.

Toepassingsspecifieke gegevens kunnen worden ingesloten door programma's van derden met behulp van de Ezdxf-bibliotheek. De mogelijkheid om DXF-bestanden te produceren, DXF te bewerken, bestaande DXF-documenten te schrijven, te testen met CPython en Pypy3, DXF-content van derden te bewaren, optionele C-extensies voor CPython te gebruiken en nog veel meer functies zijn cruciaal voor het beheer van DXF-documenten. Er zijn ook andere add-ons beschikbaar, maar deze moeten apart worden geladen omdat ze niet automatisch worden geïnstalleerd tijdens de basisinstallatie.

Verschillende DXF-versies, waaronder R12, R2000, R2004, R2007, R2010, R2013 en R2018, worden ondersteund door de open-source Ezdxf-bibliotheek. Daarnaast ondersteunt de bibliotheek oudere DXF-versies dan R12 en DXF-versies R13 en R14 in alleen-lezenmodus. De MIT-licentie regelt het gebruik van de Ezdxf-bibliotheek.

Previous Next

Aan de slag met Ezdxf

De eenvoudigste manier om het Ezdxf-pakket te installeren is met behulp van pip. Het bevat de optionele C-extensies van PyPI als binaire wheels. Gebruik de volgende opdracht voor een soepele installatie.

Ezdxf installeren via pip

pip install ezdxf 

Je kunt de gecompileerde gedeelde bibliotheek downloaden van de Github-repository.

Werken met Polygon via de Python 3D-bibliotheek

Een polygoon is een tweedimensionale vorm met rechte zijden. Polygonaal modelleren is een aanpak voor het modelleren van objecten door hun oppervlakken weer te geven of te benaderen met behulp van polygoonmeshes. De open-source Python-bibliotheek Ezdxf stelt softwareontwikkelaars in staat om polygonen voor elk stapelpunt te maken met slechts een paar regels Python-code. Dit is zeer nuttig voor 3D-printers waarvan de firmware geen correctie biedt voor kleine gaten.

AutoCAD DXF-bestand maken via Python

De open-source Python Ezdxf biedt volledige ondersteuning voor het lezen en schrijven van AutoCAD DXF-documenten binnen Python-applicaties. De bibliotheek maakt de nieuwe DXF-documenten met een zeer beperkte hoeveelheid content, wat betekent dat alleen de absoluut noodzakelijke bronnen worden opgenomen, zoals lijntypen, tekststijlen en meer. Het is ook mogelijk om een bestaand DXF-bestand te openen en de inhoud ervan eenvoudig aan te passen.

Hoe maak ik een nieuwe DXF-tekening via de Python-bibliotheek?

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-tekeningen openen en lezen via Python

De open-source Python Ezdxf-bibliotheek stelt softwareontwikkelaars in staat om een bestaand DXF-document te openen, te laden en er gegevens uit te halen met slechts een paar regels Python-code. Houd er rekening mee dat de bibliotheek goed werkt voor DXF-tekeningen van vertrouwde bronnen zoals AutoCAD of BricsCAD en DXF-bestanden met kleine of grote fouten laadt. U kunt eenvoudig toegang krijgen tot alle DXF-entiteiten en erover itereren, en u kunt eenvoudig toegang krijgen tot de attributen van bestaande entiteiten.

Hoe laad ik een DXF-bestand via de Python-bibliotheek?

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)

Tekst verwerken in DXF-tekeningen via Python

De Ezdxf Python-bibliotheek biedt volledige ondersteuning voor het verwerken van tekst in DXF-documenten. De bibliotheek bevat diverse functies voor tekstverwerking, zoals het toevoegen van een eenvoudige tekstentiteit van één regel, basistekstuitlijning (boven, midden, onder en basislijn, centreren, rechts), tekst passend maken, standaard tekststijlen en lijntypen, een nieuwe tekststijl toevoegen, 3D-tekst gebruiken, standaardlettertypen gebruiken, enzovoort.

Hoe voeg ik eenvoudige tekst van één regel toe via de Python API?

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