AutoCAD Excel und Python Integration

In diesem Artikel werde ich zeigen, wie Daten aus Excel-Tabellen verwendet werden können, um Objekte in AutoCAD mit Python zu zeichnen.

Bibliotheken für die Arbeit mit Excel und AutoCAD in Python

Für diese spezielle Demonstration verwende ich Pyautocad und die Openpyxl-Python-Bibliotheken. Das Python-Modul openpyxl hilft mir, Daten aus einer vorhandenen Excel-Datei abzurufen.

from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex

Abrufen von Daten aus Excel-Dateien für AutoCAD in Python

Um Daten aus Excel-Dateien abzurufen, benötige ich zwei Variablen. Der erste wird verwendet, um die Arbeitsmappe zu speichern. Die zweite Variable wird verwendet, um das derzeit aktive Arbeitsblatt zu speichern. Siehe Code unten zur Verdeutlichung.

wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active

In diesem einfachen Beispiel werde ich nur einige zufällige Punkte mit der AddPolyline-Methode von pyautocad verbinden. Die Punkte sind in meiner Excel-Datei angegeben. Die Excel-Datei hat die Form einer Tabelle. Ich zeige es in dem unten angezeigten Screenshot.

Excel-Tabelle für AutoCAD-Polylinie mit pyautocad in Python

Aus den Artikeln, die ich zuvor veröffentlicht habe, weiß ich, dass ich zum Erstellen einer AutoCAD -Polylinie ein 3-Element-Array vom Datentyp Double benötige. Aus diesem Grund muss ich jede Zeile in meiner Tabelle durchlaufen, während ich sie zu einer Liste hinzufüge. Ich erkläre dies im folgenden Code.

l1 = []
for i in range(2, sh.max_row+1):
    for j in range(2, sh.max_column+1):
        cell = sh.cell(row=i, column=j)
        l1.append(cell.value)
print(l1)

O/p:
[125, 235, 0, 670, 217, 0, 105, 756, 0, 654, 789, 0, 125, 235, 0]

Nachdem ich die Liste erstellt habe, kann ich sie zum Erstellen maßgeschneiderter AutoCAD-Polylinien verwenden .

Erstellen von AutoCAD-Polylinien mit Pyautocad

Schließlich muss ich die Liste in ein Double-Objekt (Array of Doubles) konvertieren. Dadurch kann ich es als Eingabeparameter verwenden, wenn ich die pyautocad-Methode AddPolyline aufrufe. Dies ist die Methode, mit der die AutoCAD-Polylinie tatsächlich gezeichnet wird . Der Code wird unten angezeigt.

polygon = aDouble(l1)
acad.model.AddPolyline(polygon)

Und das wurde in AutoCAD gezeichnet, nachdem der obige Python-Code ausgeführt wurde.

AutoCAD-Polylinie gezeichnet mit Excel-Daten in Python

Wie auf dem Bild oben zu sehen ist, wurde eine Polylinie erstellt, gemäß den Daten, die in meiner Excel-Datei angegeben sind.

Abschließende Bemerkungen

Abschließend kann ich sagen, dass AutoCAD-Benutzer bei Verwendung des von mir in diesem Artikel beschriebenen Konzepts Daten aus Excel für die AutoCAD-Objekterstellung in Python verwenden können. Neben openpyxl können Python-Entwickler auch die Verwendung von pandas in Betracht ziehen. pandas ist eine der trendigen Python-Bibliotheken für den Umgang mit Excel-Dateien. Es unterstützt auch Analysen.

In einem meiner zukünftigen AutoCAD-Blogbeiträge werde ich erläutern, wie Sie mit dem AutoCAD-Tabellenobjekt unter Verwendung von Python arbeiten. Um mehr über solche AutoCAD-Automatisierungstechniken zu erfahren, würde ich Ihnen empfehlen, meine vorherigen Artikel durchzugehen. Wir sind auch offen für technische Beratung, wenn Sie uns über unser Kontaktformular kontaktieren . Bei Fragen können Sie gerne unser Kommentarfeld nutzen.

You May Also Like

Leave a Reply

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.