Libreria Python open source per la creazione di file DXF in AutoCAD
Libreria CAD Python gratuita per la creazione, la lettura e la manipolazione di file DXF AutoCAD. Gli sviluppatori possono supportare la lettura e la scrittura di modelli DXF ASCII e binari.
Cos'è la libreria Ezdxf?
Gli sviluppatori di software possono lavorare con i file DXF di AutoCAD all'interno dei propri programmi Python grazie alla solida libreria open source Python Ezdxf per AutoCAD DXF. AutoCAD utilizza il diffuso formato di file DXF (Drawing Interchange File) per lo scambio di dati con altri programmi CAD. La libreria supporta la maggior parte delle funzionalità del formato DXF, semplificando al contempo il lavoro degli sviluppatori, nascondendo ai programmatori le complesse complessità del formato DXF.
I dati specifici dell'applicazione possono essere incorporati da programmi di terze parti utilizzando la libreria Ezdxf. La possibilità di generare file DXF, modificare file DXF, scrivere documenti DXF esistenti, testare con CPython e Pypy3, preservare contenuti DXF di terze parti, utilizzare estensioni C opzionali per CPython e molte altre funzioni sono fondamentali per la gestione dei documenti DXF. Sono disponibili anche altri componenti aggiuntivi, che tuttavia devono essere caricati separatamente poiché non vengono installati automaticamente durante la configurazione di base.
Diverse versioni di DXF, tra cui R12, R2000, R2004, R2007, R2010, R2013 e R2018, sono supportate dalla libreria open source Ezdxf. Inoltre, supporta versioni di DXF precedenti alla R12 e le versioni di DXF R13 e R14 in modalità di sola lettura. La licenza MIT regola l'utilizzo della libreria Ezdxf.
Introduzione a Ezdxf
Il modo più semplice per installare il pacchetto Ezdxf è usare pip. Include le estensioni C opzionali di PyPI come file binari wheel. Per un'installazione senza problemi, utilizzare il seguente comando.
Installa Ezdxf tramite pip
pip install ezdxf
È possibile scaricare la libreria condivisa compilata dal repository Github.
Lavora con i poligoni tramite la libreria 3D Python
Un poligono è una forma bidimensionale con lati dritti. La modellazione poligonale è un approccio per modellare oggetti rappresentando o approssimando le loro superfici utilizzando mesh poligonali. La libreria Python open source Ezdxf consente agli sviluppatori di software di creare poligoni per ogni punto dello stack con solo un paio di righe di codice Python. È molto utile nelle stampanti 3D il cui firmware non corregge le dimensioni ridotte dei fori.
Creazione di file DXF AutoCAD tramite Python
La libreria open source Python Ezdxf include un supporto completo per la lettura e la scrittura di documenti DXF AutoCAD all'interno di applicazioni Python. La libreria crea nuovi documenti DXF con una quantità di contenuto minima, il che significa che include solo le risorse strettamente necessarie, come tipi di linea, stili di testo e altro ancora. È anche possibile aprire un file DXF esistente e modificarne il contenuto con facilità.
Come creare un nuovo disegno DXF tramite la libreria 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")
Apri e leggi disegni DXF di AutoCAD tramite Python
La libreria open source Python Ezdxf consente agli sviluppatori software di aprire, caricare e ottenere dati da un documento DXF esistente con solo un paio di righe di codice Python. È importante ricordare che funziona bene con disegni DXF provenienti da fonti affidabili come AutoCAD o BricsCAD e carica file DXF con difetti minori o maggiori. È possibile accedere e iterare facilmente su tutte le entità DXF e accedere facilmente agli attributi di entità esistenti.
Come caricare un file DXF tramite la libreria 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)
Come gestire il testo nei disegni DXF tramite Python
La libreria Python Ezdxf ha fornito supporto completo per la gestione del testo all'interno dei documenti DXF. La libreria include diverse funzionalità per l'elaborazione del testo, come l'aggiunta di una semplice entità di testo su una sola riga, l'allineamento di base del testo (in alto, al centro, in basso e sulla linea di base, al centro, a destra), l'adattamento del testo, stili di testo e tipi di linea standard, l'aggiunta di nuovi stili di testo, l'utilizzo di testo 3D, l'utilizzo di font standard e così via.
Come aggiungere un semplice testo su una riga tramite 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")