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

Atvērtā koda Python bibliotēka AutoCAD DXF izveidei

Bezmaksas Python CAD bibliotēka AutoCAD DXF failu izveidei, lasīšanai un manipulēšanai. Izstrādātāji var lasīt un rakstīt ASCII DXF un bināro DXF modeļu failus.

Kas ir Ezdxf bibliotēka?

Programmatūras izstrādātāji var strādāt ar AutoCAD DXF failiem savās Python programmās, pateicoties spēcīgajai atvērtā pirmkoda Python AutoCAD DXF bibliotēkai Ezdxf. AutoCAD izmanto plaši izmantoto DXF (zīmēšanas apmaiņas faila) failu tipu, lai apmainītos ar datiem ar citām CAD programmām. Bibliotēka atbalsta lielāko daļu DXF formāta funkciju, vienlaikus atvieglojot izstrādātāju darbu, slēpjot sarežģītās DXF nianses no programmētājiem.

Lietojumprogrammām specifiskus datus var iegult trešo pušu programmas, izmantojot Ezdxf bibliotēku. Iespēja izveidot DXF failus, rediģēt DXF, rakstīt esošos DXF dokumentus, testēt ar CPython un Pypy3, saglabāt trešo pušu DXF saturu, izmantot papildu C paplašinājumus CPython un daudzas citas funkcijas ir ļoti svarīgas DXF dokumentu pārvaldībai. Ir pieejami arī citi papildinājumi, taču tie ir jāielādē atsevišķi, jo tie netiek automātiski instalēti pamata iestatīšanas laikā.

Atvērtā pirmkoda Ezdxf bibliotēka atbalsta vairākas DXF versijas, tostarp R12, R2000, R2004, R2007, R2010, R2013 un R2018. Turklāt tā atbalsta vecākas DXF versijas nekā R12 un DXF versijas R13 un R14 tikai lasīšanas režīmā. Ezdxf bibliotēkas lietošanu regulē MIT licence.

Previous Next

Darba sākšana ar Ezdxf

Vienkāršākais veids, kā instalēt Ezdxf pakotni, ir izmantot pip. Tajā ir iekļauti papildu C paplašinājumi no PyPI kā binārie riteņi. Lūdzu, izmantojiet šo komandu, lai nodrošinātu vienmērīgu instalēšanu.

Instalējiet Ezdxf, izmantojot pip

pip install ezdxf 

Kompilēto koplietojamo bibliotēku varat lejupielādēt no Github krātuves.

Darbs ar daudzstūri, izmantojot Python 3D bibliotēku

Daudzstūris ir divdimensiju forma ar taisnām malām. Daudzstūru modelēšana ir pieeja objektu modelēšanai, attēlojot vai tuvinot to virsmas, izmantojot daudzstūru režģus. Atvērtā pirmkoda Python bibliotēka Ezdxf ļauj programmatūras izstrādātājiem izveidot daudzstūrus katram sakraušanas punktam, izmantojot tikai pāris Python koda rindas. Tas ir ļoti noderīgi 3D printeros, kuru programmaparatūra neizlabo mazus caurumu izmērus.

AutoCAD DXF failu izveide, izmantojot Python

Atvērtā pirmkoda Python Ezdxf ir iekļauts pilnīgs atbalsts AutoCAD DXF dokumentu lasīšanai un rakstīšanai Python lietojumprogrammās. Bibliotēka izveido jaunus DXF dokumentus ar ļoti nelielu satura apjomu, kas nozīmē, ka tiek iekļauti tikai tie resursi, kas ir absolūti nepieciešami, piemēram, līniju tipi, teksta stili un citi. Ir iespējams arī atvērt esošu DXF failu un viegli modificēt tā saturu.

Kā izveidot jaunu DXF zīmējumu, izmantojot Python bibliotēku?

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

Atvērt un lasīt AutoCAD DXF rasējumus, izmantojot Python

Atvērtā koda Python Ezdxf bibliotēka ļauj programmatūras izstrādātājiem atvērt, ielādēt un iegūt datus no esoša DXF dokumenta, izmantojot tikai pāris Python koda rindiņas. Lūdzu, atcerieties, ka tā labi darbojas ar DXF rasējumiem no uzticamiem avotiem, piemēram, AutoCAD vai BricsCAD, un ielādēs DXF failus ar nelieliem vai lieliem defektiem. Jūs varat viegli piekļūt un iterēt pāri visām DXF vienībām, kā arī viegli piekļūt esošo vienību atribūtiem.

Kā ielādēt DXF failu, izmantojot Python bibliotēku?

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)

Kā apstrādāt tekstu DXF rasējumos, izmantojot Python

Ezdxf Python bibliotēka ir nodrošinājusi pilnīgu atbalstu teksta apstrādei DXF dokumentos. Bibliotēkā ir iekļautas dažādas teksta apstrādes funkcijas, piemēram, vienkāršas vienas rindas teksta vienības pievienošana, pamata teksta izlīdzināšana, piemēram, (augšā, vidū, apakšā un bāzes līnija, novietojums centrā, pa labi), teksta pielāgošana, standarta teksta stili un līniju tipi, jauna teksta stila pievienošana, 3D teksta izmantošana, standarta fontu izmantošana utt.

Kā pievienot vienkāršu vienas rindiņas tekstu, izmantojot 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")
 
 Latviski