Bibliothèque Python open source pour la création de fichiers DXF AutoCAD
Bibliothèque Python gratuite pour la création, la lecture et la manipulation de fichiers DXF AutoCAD. Prise en charge des fichiers DXF ASCII et binaires pour les développeurs.
Qu'est-ce que la bibliothèque Ezdxf ?
Les développeurs de logiciels peuvent travailler avec des fichiers DXF AutoCAD dans leurs propres programmes Python grâce à la puissante bibliothèque Python open source AutoCAD DXF Ezdxf. AutoCAD utilise le format de fichier DXF (Drawing Interchange File) largement répandu pour échanger des données avec d'autres programmes de CAO. La bibliothèque prend en charge la plupart des fonctionnalités du format DXF tout en simplifiant le travail des développeurs en dissimulant aux programmeurs les subtilités du format DXF.
La bibliothèque Ezdxf permet d'intégrer des données spécifiques à une application par des programmes tiers. La possibilité de produire des fichiers DXF, de les modifier, d'écrire des documents DXF existants, de tester avec CPython et Pypy3, de conserver du contenu DXF tiers, d'utiliser des extensions C optionnelles pour CPython, et bien d'autres fonctions sont essentielles à la gestion des documents DXF. D'autres modules complémentaires sont également disponibles, mais ils doivent être chargés séparément car ils ne sont pas installés automatiquement lors de l'installation de base.
Plusieurs versions DXF, dont R12, R2000, R2004, R2007, R2010, R2013 et R2018, sont prises en charge par la bibliothèque open source Ezdxf. De plus, elle prend en charge les versions DXF antérieures à R12 et les versions DXF R13 et R14 en lecture seule. La licence MIT régit l'utilisation de la bibliothèque Ezdxf.
Démarrer avec Ezdxf
La méthode la plus simple pour installer le package Ezdxf est d'utiliser pip. Il inclut les extensions C optionnelles de PyPI sous forme de roues binaires. Veuillez utiliser la commande suivante pour une installation fluide.
Installer Ezdxf via pip
pip install ezdxf
Vous pouvez télécharger la bibliothèque partagée compilée à partir du référentiel Github.
Travailler avec des polygones via la bibliothèque Python 3D
Un polygone est une forme bidimensionnelle à côtés droits. La modélisation polygonale est une approche permettant de modéliser des objets en représentant ou en approximant leurs surfaces à l'aide de maillages polygonaux. La bibliothèque Python open source Ezdxf permet aux développeurs de créer des polygones pour chaque point de la pile en quelques lignes de code Python. Elle est très utile pour les imprimantes 3D dont le firmware ne prend pas en charge les petits trous.
Création de fichiers DXF AutoCAD via Python
La bibliothèque Python open source Ezdxf offre une prise en charge complète de la lecture et de l'écriture de documents DXF AutoCAD dans les applications Python. La bibliothèque crée de nouveaux documents DXF avec un contenu minimal, ce qui signifie que seules les ressources indispensables sont incluses, telles que les types de ligne, les styles de texte, etc. Il est également possible d'ouvrir un fichier DXF existant et d'en modifier facilement le contenu.
Comment créer un nouveau dessin DXF via la bibliothèque Python ?
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")
Ouvrir et lire des dessins DXF AutoCAD via Python
La bibliothèque Python open source Ezdxf permet aux développeurs d'ouvrir, de charger et d'extraire des données d'un document DXF existant en quelques lignes de code Python. Elle fonctionne parfaitement avec les dessins DXF provenant de sources fiables comme AutoCAD ou BricsCAD et charge les fichiers DXF présentant des défauts mineurs ou majeurs. Vous pouvez facilement accéder à toutes les entités DXF et les parcourir, ainsi qu'accéder aux attributs des entités existantes.
Comment charger un fichier DXF via la bibliothèque Python ?
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)
Comment gérer le texte dans les dessins DXF via Python
La bibliothèque Python Ezdxf offre une prise en charge complète du traitement de texte dans les documents DXF. Elle inclut diverses fonctionnalités de traitement de texte, telles que l'ajout d'une entité texte simple sur une seule ligne, l'alignement de base du texte (haut, milieu, bas, ligne de base, centre, droite), l'ajustement du texte, les styles de texte et types de ligne standard, l'ajout de nouveaux styles de texte, l'utilisation de texte 3D, l'utilisation de polices de caractères standard, etc.
Comment ajouter un texte simple sur une seule ligne via l'API Python ?
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")