Βιβλιοθήκη Python ανοιχτού κώδικα για δημιουργία DXF στο AutoCAD

Δωρεάν βιβλιοθήκη Python CAD για δημιουργία, ανάγνωση και χειρισμό αρχείων AutoCAD DXF. Οι προγραμματιστές μπορούν να υποστηρίξουν ανάγνωση και εγγραφή για ASCII DXF και δυαδικά μοντέλα DXF.

Τι είναι η Βιβλιοθήκη Ezdxf;

Οι προγραμματιστές λογισμικού μπορούν να εργαστούν με αρχεία AutoCAD DXF μέσα στα δικά τους προγράμματα Python χάρη στην ισχυρή βιβλιοθήκη Ezdxf AutoCAD DXF ανοιχτού κώδικα Python. Το AutoCAD χρησιμοποιεί τον ευρέως χρησιμοποιούμενο τύπο αρχείου DXF (αρχείο ανταλλαγής σχεδίων) για την ανταλλαγή δεδομένων με άλλα προγράμματα CAD. Η βιβλιοθήκη υποστηρίζει την πλειονότητα των χαρακτηριστικών της μορφής DXF, ενώ παράλληλα διευκολύνει την εργασία των προγραμματιστών, αποκρύπτοντας τις περίπλοκες περιπλοκές του DXF από τους προγραμματιστές.

Τα δεδομένα που αφορούν συγκεκριμένες εφαρμογές μπορούν να ενσωματωθούν από προγράμματα τρίτων χρησιμοποιώντας τη βιβλιοθήκη Ezdxf. Η δυνατότητα δημιουργίας αρχείων DXF, επεξεργασίας DXF, εγγραφής υπαρχόντων εγγράφων DXF, δοκιμής με CPython και Pypy3, διατήρησης περιεχομένου DXF τρίτων, χρήσης προαιρετικών επεκτάσεων C για CPython και πολλών άλλων λειτουργιών είναι κρίσιμες για τη διαχείριση εγγράφων DXF. Διατίθενται και άλλα πρόσθετα, ωστόσο πρέπει να φορτωθούν ξεχωριστά, καθώς δεν εγκαθίστανται αυτόματα κατά τη βασική εγκατάσταση.

Αρκετές εκδόσεις DXF, συμπεριλαμβανομένων των R12, R2000, R2004, R2007, R2010, R2013 και R2018, υποστηρίζονται από τη βιβλιοθήκη ανοιχτού κώδικα Ezdxf. Επιπλέον, υποστηρίζει παλαιότερες εκδόσεις DXF από την R12 και τις εκδόσεις DXF R13 και R14 σε λειτουργία μόνο για ανάγνωση. Η άδεια MIT διέπει τη χρήση της βιβλιοθήκης Ezdxf.

Previous Next

Ξεκινώντας με το Ezdxf

Ο ευκολότερος τρόπος για να εγκαταστήσετε το πακέτο Ezdxf είναι χρησιμοποιώντας το pip. Περιλαμβάνει τις προαιρετικές επεκτάσεις C από το PyPI ως δυαδικούς τροχούς. Χρησιμοποιήστε την ακόλουθη εντολή για ομαλή εγκατάσταση.

Εγκατάσταση Ezdxf μέσω pip

pip install ezdxf 

Μπορείτε να κατεβάσετε την μεταγλωττισμένη κοινόχρηστη βιβλιοθήκη από το αποθετήριο Github.

Εργασία με Πολύγωνο μέσω της Βιβλιοθήκης Python 3D

Ένα πολύγωνο είναι ένα δισδιάστατο σχήμα με ευθείες πλευρές. Η πολυγωνική μοντελοποίηση είναι μια προσέγγιση για τη μοντελοποίηση αντικειμένων αναπαραστώντας ή προσεγγίζοντας τις επιφάνειές τους χρησιμοποιώντας πλέγματα πολυγώνων. Η Βιβλιοθήκη Python ανοιχτού κώδικα Ezdxf επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν πολύγωνα για κάθε σημείο στοίβας με μόνο μερικές γραμμές κώδικα Python. Είναι πολύ ωφέλιμο σε τρισδιάστατους εκτυπωτές των οποίων το υλικολογισμικό δεν διορθώνει τα μικρά μεγέθη οπών.

Δημιουργία Αρχείου AutoCAD DXF μέσω Python

Το Ezdxf ανοιχτού κώδικα Python έχει συμπεριλάβει πλήρη υποστήριξη για την ανάγνωση και τη σύνταξη εγγράφων AutoCAD DXF μέσα σε εφαρμογές Python. Η βιβλιοθήκη δημιουργεί τα νέα έγγραφα DXF με πολύ μικρή ποσότητα περιεχομένου, πράγμα που σημαίνει ότι περιλαμβάνονται μόνο οι απολύτως απαραίτητοι πόροι, όπως τύποι γραμμών, στυλ κειμένου και άλλα. Είναι επίσης δυνατό να ανοίξετε ένα υπάρχον αρχείο DXF και να τροποποιήσετε το περιεχόμενό του με ευκολία.

Πώς να δημιουργήσετε ένα νέο σχέδιο DXF μέσω της βιβλιοθήκης 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")
 

Άνοιγμα & Ανάγνωση Σχεδίων AutoCAD DXF μέσω Python

Η βιβλιοθήκη Python Ezdxf ανοιχτού κώδικα επιτρέπει στους προγραμματιστές λογισμικού να ανοίγουν, να φορτώνουν και να λαμβάνουν δεδομένα από ένα υπάρχον έγγραφο DXF με μόνο μερικές γραμμές κώδικα Python. Λάβετε υπόψη ότι λειτουργεί καλά για σχέδια DXF από αξιόπιστες πηγές όπως το AutoCAD ή το BricsCAD και θα φορτώσει αρχεία DXF με μικρά ή μεγάλα ελαττώματα. Μπορείτε εύκολα να αποκτήσετε πρόσβαση και να επαναλάβετε όλες τις οντότητες DXF και να αποκτήσετε εύκολα πρόσβαση στα χαρακτηριστικά μιας υπάρχουσας οντότητας.

Πώς να φορτώσω αρχείο DXF μέσω της βιβλιοθήκης 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)

Πώς να χειρίζεστε κείμενο σε σχέδια DXF μέσω Python

Η βιβλιοθήκη Ezdxf Python παρέχει πλήρη υποστήριξη για τον χειρισμό κειμένου μέσα σε έγγραφα DXF. Η βιβλιοθήκη έχει συμπεριλάβει διάφορες λειτουργίες για την επεξεργασία κειμένου, όπως προσθήκη απλής οντότητας κειμένου μίας γραμμής, βασική στοίχιση κειμένου όπως (πάνω, μέση, κάτω και γραμμή βάσης, αριστερά στο κέντρο, δεξιά), προσαρμογή κειμένου, τυπικά στυλ κειμένου και τύποι γραμμών, προσθήκη νέου στυλ κειμένου, χρήση τρισδιάστατου κειμένου, χρήση γραμματοσειρών stand και ούτω καθεξής.

Πώς να προσθέσετε απλό κείμενο μίας γραμμής μέσω του 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")
 
 Ελληνικά