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

Öppen källkodsbibliotek för Python för att skapa AutoCAD DXF

Gratis Python CAD-bibliotek för skapande, läsning och manipulering av AutoCAD DXF-filer. Utvecklare kan läsa och skriva, stödja ASCII DXF och binära DXF-modeller.

Vad är Ezdxf-biblioteket?

Mjukvaruutvecklare kan arbeta med AutoCAD DXF-filer i sina egna Python-program tack vare det robusta Python AutoCAD DXF-biblioteket Ezdxf med öppen källkod. AutoCAD använder den allmänt använda DXF-filtypen (drawing interchange file) för att utbyta data med andra CAD-program. Biblioteket stöder majoriteten av DXF-formatets funktioner samtidigt som det gör utvecklarnas jobb enklare genom att dölja de invecklade DXF-detaljerna för programmerare.

Applikationsspecifika data kan bäddas in av tredjepartsprogram med hjälp av Ezdxf-biblioteket. Möjligheten att producera DXF-filer, redigera DXF, skriva befintliga DXF-dokument, testa med CPython och Pypy3, bevara DXF-innehåll från tredje part, använda valfria C-tillägg för CPython och många fler funktioner är avgörande för att hantera DXF-dokument. Andra tillägg finns också tillgängliga, men de måste laddas separat eftersom de inte installeras automatiskt under den grundläggande installationen.

Flera DXF-versioner, inklusive R12, R2000, R2004, R2007, R2010, R2013 och R2018, stöds av Ezdxf-biblioteket med öppen källkod. Dessutom stöder det äldre DXF-versioner än R12 och DXF-versionerna R13 och R14 i skrivskyddat läge. MIT-licensen styr användningen av Ezdxf-biblioteket.

Previous Next

Komma igång med Ezdxf

Det enklaste sättet att installera Ezdxf-paketet är att använda pip. Det inkluderar de valfria C-tilläggen från PyPI som binära hjul. Använd följande kommando för en smidig installation.

Installera Ezdxf via pip

pip install ezdxf 

Du kan ladda ner det kompilerade delade biblioteket från Github-arkivet.

Arbeta med Polygon via Python 3D Library

En polygon är en tvådimensionell form med raka sidor. Polygonal modellering är en metod för att modellera objekt genom att representera eller approximera deras ytor med hjälp av polygonnät. Det öppna Python Library Ezdxf gör det möjligt för programvaruutvecklare att skapa polygoner för varje stackpunkt med bara ett par rader Python-kod. Det är mycket fördelaktigt i 3D-skrivare vars firmware inte korrigerar för små hålstorlekar.

Skapande av AutoCAD DXF-filer via Python

Det öppna källkoden Python Ezdxf har inkluderat komplett stöd för att läsa och skriva AutoCAD DXF-dokument i Python-applikationer. Biblioteket skapar nya DXF-dokument med väldigt lite innehåll, vilket innebär att endast de resurser som är helt nödvändiga inkluderas, såsom linjetyper, textstilar och mer. Det är också möjligt att öppna en befintlig DXF-fil och enkelt ändra dess innehåll.

Hur skapar man en ny DXF-ritning via Python-biblioteket?

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

Öppna och läs AutoCAD DXF-ritningar via Python

Det öppna Python Ezdxf-biblioteket gör det möjligt för programutvecklare att öppna, ladda och hämta data från ett befintligt DXF-dokument med bara ett par rader Python-kod. Kom ihåg att det fungerar bra för DXF-ritningar från betrodda källor som AutoCAD eller BricsCAD och laddar DXF-filer med mindre eller större defekter. Du kan enkelt komma åt och iterera över alla DXF-entiteter och kan enkelt komma åt attributen för en befintlig entitet.

Hur laddar man en DXF-fil via Python-biblioteket?

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)

Hur man hanterar text i DXF-ritningar via Python

Ezdxf Python-biblioteket har fullt stöd för hantering av text i DXF-dokument. Biblioteket har inkluderat olika funktioner för textbehandling, såsom att lägga till enkla textenheter på en rad, grundläggande textjustering som (överst, mitten, botten och baslinje, låt mitten, höger), anpassa text, standardtextstilar och linjetyper, lägga till nya textstilar, använda 3D-text, använda stående teckensnitt och så vidare.

Hur lägger man till enkel text på en rad via 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")
 
 Svenska