Neste artigo, demonstrarei como os dados das planilhas do Excel podem ser usados para desenhar objetos no AutoCAD usando Python.
Bibliotecas para trabalhar com Excel e AutoCAD em Python
Para esta demonstração em particular, estou usando pyautocad e as bibliotecas Python openpyxl. O módulo openpyxl Python me ajuda a buscar dados de arquivos existentes do Excel.
from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex
Buscando dados de arquivos do Excel para AutoCAD em Python
Para buscar dados de arquivos do Excel, preciso de duas variáveis. O primeiro é usado para armazenar a pasta de trabalho. A segunda variável é usada para armazenar a planilha atualmente ativa. Veja o código abaixo para esclarecimentos.
wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active
Neste exemplo básico, vou apenas conectar alguns pontos aleatórios usando o método AddPolyline do pyautocad. Os pontos são especificados no meu arquivo Excel. O arquivo Excel assume a forma de uma tabela. Eu mostro isso na captura de tela exibida abaixo.
Pelos artigos que publiquei anteriormente, sei que para criar uma polilinha do AutoCAD preciso de uma matriz de 3 elementos do tipo de dados double. É por isso que preciso iterar sobre cada linha da minha tabela enquanto a adiciono a uma lista. Esclareço isso no código abaixo.
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]
Agora que criei a lista, posso usá-la para criar polilinhas do AutoCAD sob medida .
Criando polilinha do AutoCAD com pyautocad
Finalmente, preciso converter a lista em um objeto aDouble (Array of doubles). Isso me permite usá-lo como um parâmetro de entrada ao chamar o método pyautocad AddPolyline. Este é o método que irá realmente desenhar a polilinha do AutoCAD . O código é exibido abaixo.
polygon = aDouble(l1)
acad.model.AddPolyline(polygon)
E foi isso que foi desenhado no AutoCAD depois de executar o código Python acima.
Como pode ser visto na imagem acima, uma polilinha foi criada, de acordo com os dados especificados no meu arquivo Excel.
Observações finais
Chegando ao fim, posso dizer que ao utilizar o conceito descrito por mim neste artigo os usuários do AutoCAD podem utilizar dados do Excel para criação de objetos do AutoCAD em Python. Além do openpyxl, os desenvolvedores de Python também podem considerar o uso de pandas . pandas é uma das bibliotecas Python mais populares para lidar com arquivos do Excel. Ele também suporta análises.
Em uma das minhas futuras postagens no blog do AutoCAD, discutirei como trabalhar com o objeto Tabela do AutoCAD usando Python. Para saber mais sobre essas técnicas de automação do AutoCAD, recomendo que você leia meus artigos anteriores. Além disso, estamos abertos para consulta técnica se contatados usando nosso formulário de contato . Em caso de dúvidas, use nossa caixa de comentários.
Leave a Reply