1. Termékek
  2.   CAD
  3.   Python
  4.   Ezdxf
 
  

Nyílt forráskódú Python könyvtár AutoCAD DXF létrehozásához

Ingyenes Python CAD könyvtár AutoCAD DXF fájlok létrehozásához, olvasásához és manipulálásához. A fejlesztők olvashatják és írhatják az ASCII DXF és bináris DXF modelleket.

Mi az Ezdxf könyvtár?

A szoftverfejlesztők a saját Python programjaikban dolgozhatnak AutoCAD DXF fájlokkal a robusztus, nyílt forráskódú Python AutoCAD DXF Ezdxf könyvtárnak köszönhetően. Az AutoCAD a széles körben használt DXF (drawing interchange file) fájltípust használja az adatok más CAD programokkal való cseréjéhez. A könyvtár a DXF formátum legtöbb funkcióját támogatja, miközben a fejlesztők munkáját is megkönnyíti azáltal, hogy elrejti a bonyolult DXF bonyolultságokat a programozók elől.

Az alkalmazásspecifikus adatokat harmadik féltől származó programok ágyazhatják be az Ezdxf könyvtár segítségével. A DXF fájlok létrehozásának, a DXF szerkesztésének, a meglévő DXF dokumentumok írásának, a CPython és a Pypy3 használatával történő tesztelésnek, a harmadik féltől származó DXF tartalom megőrzésének, az opcionális C-kiterjesztések CPythonhoz való használatának és számos más funkciónak a képessége kulcsfontosságú a DXF dokumentumok kezeléséhez. Más bővítmények is elérhetők, azonban azokat külön kell betölteni, mivel nem települnek automatikusan az alapbeállítás során.

A nyílt forráskódú Ezdxf könyvtár számos DXF verziót támogat, beleértve az R12, R2000, R2004, R2007, R2010, R2013 és R2018 verziókat. Ezenkívül támogatja az R12-nél régebbi DXF verziókat, valamint az R13 és R14 DXF verziókat írásvédett módban. Az Ezdxf könyvtár használatát az MIT-licenc szabályozza.

Previous Next

Az Ezdxf csomag első lépései

Az Ezdxf csomag telepítésének legegyszerűbb módja a pip parancs használata. Bináris kerekekként tartalmazza a PyPI opcionális C-kiterjesztéseit. A zökkenőmentes telepítés érdekében kérjük, használja a következő parancsot.

Ezdxf telepítése pip-en keresztül

pip install ezdxf 

A lefordított megosztott könyvtárat letöltheted a Github repositoryból.

Polygonnal való munka a Python 3D könyvtár segítségével

A sokszög egy kétdimenziós alakzat egyenes oldalú. A sokszögmodellezés egy olyan megközelítés, amely objektumokat modellez a felületük poligonhálók segítségével történő ábrázolásával vagy közelítésével. A nyílt forráskódú Python Ezdxf könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy minden egyes halmozási ponthoz poligonokat hozzanak létre mindössze néhány sor Python kóddal. Ez nagyon előnyös azokban a 3D nyomtatókban, amelyek firmware-je nem korrigálja a kis lyukméreteket.

AutoCAD DXF fájl létrehozása Pythonon keresztül

A nyílt forráskódú Python Ezdxf teljes mértékben támogatja az AutoCAD DXF dokumentumok olvasását és írását a Python alkalmazásokban. A könyvtár nagyon kevés tartalommal hozza létre az új DXF dokumentumokat, ami azt jelenti, hogy csak a feltétlenül szükséges erőforrások, például a vonaltípusok, szövegstílusok és egyebek kerülnek bele. Az is lehetséges, hogy egy meglévő DXF fájlt megnyitunk és könnyedén módosítjuk a tartalmát.

Hogyan hozhatok létre új DXF rajzot a Python könyvtár segítségével?

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 rajzok megnyitása és olvasása Pythonon keresztül

A nyílt forráskódú Python Ezdxf könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy néhány sor Python kóddal megnyissák, betöltsék és adatokat kérjenek le egy meglévő DXF dokumentumból. Kérjük, ne feledje, hogy jól működik megbízható forrásokból, például AutoCAD-ból vagy BricsCAD-ből származó DXF rajzokkal, és betölti a kisebb vagy nagyobb hibákkal rendelkező DXF fájlokat is. Könnyen hozzáférhet és iterálhat az összes DXF entitáson, és könnyen hozzáférhet egy meglévő entitás attribútumaihoz.

Hogyan lehet DXF fájlt betölteni Python könyvtáron keresztül?

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)

Szöveg kezelése DXF rajzokban Python segítségével

Az Ezdxf Python könyvtár teljes mértékben támogatja a szöveg DXF dokumentumokon belüli kezelését. A könyvtár különféle szövegszerkesztési funkciókat tartalmaz, például egyszerű egysoros szövegelem hozzáadását, alapvető szövegigazítást (felső, középső, alsó és alapvonal, középre igazítás, jobbra igazítás), szöveg illesztését, szabványos szövegstílusokat és vonaltípusokat, új szövegstílus hozzáadását, 3D szöveg használatát, standard betűtípusok használatát és így tovább.

Hogyan adhatok hozzá egyszerű egysoros szöveget Python API-n keresztül?

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