I denne artikel vil jeg demonstrere, hvordan data fra Excel-ark kan bruges til at tegne objekter på AutoCAD ved hjælp af Python.
Biblioteker til at arbejde med Excel og AutoCAD i Python
Til denne særlige demonstration bruger jeg pyautocad og openpyxl Python-bibliotekerne. Openpyxl Python-modulet hjælper mig med at hente data fra eksisterende Excel-filer.
from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex
Henter data fra Excel-filer til AutoCAD i Python
For at hente data fra Excel-filer har jeg brug for to variabler. Den første bruges til at gemme projektmappen. Den anden variabel bruges til at gemme det aktuelt aktive regneark. Se nedenstående kode for afklaring.
wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active
I dette grundlæggende eksempel vil jeg bare forbinde nogle tilfældige punkter ved hjælp af AddPolyline-metoden fra pyautocad. Punkterne er angivet i min Excel-fil. Excel-filen har form af en tabel. Jeg viser det på skærmbilledet nedenfor.
Fra de artikler, jeg publicerede tidligere, ved jeg, at for at skabe en AutoCAD -polylinje har jeg brug for et 3-elements array af datatype double. Det er derfor, jeg er nødt til at gentage hver række i min tabel, mens jeg tilføjer den til en liste. Jeg præciserer dette i koden nedenfor.
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]
Nu hvor jeg har oprettet listen, kan jeg bruge den til at lave skræddersyet AutoCAD polyline .
Oprettelse af AutoCAD polyline med pyautocad
Til sidst skal jeg konvertere listen til et aDouble (Array of doubles) objekt. Dette giver mig mulighed for at bruge det som en inputparameter, når jeg kalder AddPolyline pyautocad-metoden. Dette er den metode, der rent faktisk vil tegne AutoCAD-polylinjen . Koden vises nedenfor.
polygon = aDouble(l1)
acad.model.AddPolyline(polygon)
Og dette er, hvad der blev tegnet i AutoCAD efter at have udført ovenstående Python-kode.
Som det kan ses af billedet ovenfor, blev der oprettet en polylinje, i overensstemmelse med de data, der er angivet i min Excel-fil.
Afsluttende bemærkninger
Når det er slut, kan jeg sige, at når de bruger konceptet beskrevet af mig i denne artikel, kan AutoCAD-brugere bruge data fra Excel til AutoCAD-objektoprettelse i Python. Udover openpyxl kan Python-udviklere også overveje at bruge pandaer . pandas er et af de populære Python-biblioteker til at håndtere Excel-filer. Det understøtter også analyser.
I et af mine fremtidige AutoCAD blogindlæg vil jeg diskutere, hvordan man arbejder med AutoCAD Table-objektet ved hjælp af Python. For at lære mere om sådanne AutoCAD automatiseringsteknikker, vil jeg anbefale dig at gennemgå mine tidligere artikler. Vi er også åbne for teknisk rådgivning, hvis de kontaktes via vores kontaktformular . I tilfælde af spørgsmål er du velkommen til at bruge vores kommentarfelt.
Leave a Reply