En este artículo, demostraré cómo se pueden usar los datos de las hojas de Excel para dibujar objetos en AutoCAD usando Python.
Bibliotecas para trabajar con Excel y AutoCAD en Python
Para esta demostración en particular, estoy usando pyautocad y las bibliotecas de Python openpyxl. El módulo openpyxl de Python me ayuda a obtener datos de archivos de Excel existentes.
from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex
Obtener datos de archivos de Excel para AutoCAD en Python
Para obtener datos de archivos de Excel, necesito dos variables. El primero se utiliza para almacenar el libro de trabajo. La segunda variable se utiliza para almacenar la hoja de trabajo actualmente activa. Consulte el código a continuación para obtener una aclaración.
wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active
En este ejemplo básico, solo conectaré algunos puntos aleatorios usando el método AddPolyline de pyautocad. Los puntos se especifican en mi archivo de Excel. El archivo de Excel toma la forma de una tabla. Lo muestro en la captura de pantalla que se muestra a continuación.

Por los artículos que publiqué anteriormente, sé que para crear una polilínea de AutoCAD necesito una matriz de 3 elementos de tipo de datos double. Es por eso que necesito iterar sobre cada fila en mi tabla mientras la agrego a una lista. Aclaro esto en el siguiente código.
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]
Ahora que he creado la lista, puedo usarla para crear una polilínea de AutoCAD personalizada .
Crear polilínea de AutoCAD con pyautocad
Finalmente, necesito convertir la lista en un objeto aDouble (Array of doubles). Esto me permite usarlo como parámetro de entrada al llamar al método pyautocad AddPolyline. Este es el método que realmente dibujará la polilínea de AutoCAD . El código se muestra a continuación.
polygon = aDouble(l1)
acad.model.AddPolyline(polygon)
Y esto es lo que se dibujó en AutoCAD después de ejecutar el código Python anterior.

Como se puede ver en la imagen de arriba, se creó una polilínea, de acuerdo con los datos especificados en mi archivo de Excel.
Observaciones finales
Llegando al final, puedo decir que al usar el concepto que describí en este artículo, los usuarios de AutoCAD pueden usar datos de Excel para la creación de objetos de AutoCAD en Python. Además de openpyxl, los desarrolladores de Python también pueden considerar usar pandas . pandas es una de las bibliotecas de Python de tendencia para manejar archivos de Excel. También admite análisis.
En una de mis futuras publicaciones de blog de AutoCAD, hablaré sobre cómo trabajar con el objeto Tabla de AutoCAD usando Python. Para obtener más información sobre estas técnicas de automatización de AutoCAD, le recomiendo que consulte mis artículos anteriores. Además, estamos abiertos a consultas técnicas si se contacta a través de nuestro formulario de contacto . En caso de cualquier pregunta, no dude en utilizar nuestro cuadro de comentarios.

Leave a Reply