Rotina para exportação automática de todas as suas tabelas de quantitativo do Revit para o Excel

Exportando quantitativos do Revit para Excel

Final de semana está ai e você tá na fase final de entrega daquele seu projetinho né? Tá morrendo de vontade de se livrar disso logo pra ir pro bar com os amigos relaxar, mas ainda tem toda a parte chata e trabalhosa de ficar exportando cada quadro de quantitativo individualmente do Revit para o Excel. Pois tenho uma boa notícia para você meu amigo, com esse código do Dynamo, você vai poupar aquela meia horinha final e chata do trabalho.

Então vamos deixar de conversa e começar a trabalhar!

Caso não tenha o Dynamo Instalado, basta clicar no link e fazer o download o Dynamo, na opção da esquerda.

Para abrirmos o Dynamo depois dele estar instalado basta acessar a guia Manage>Dynamo

Para começarmos, precisamos nos certificar de que nós temos instalado em nossa máquina os seguintes pacotes:

  • BimorphNodes
  • BumbleBee

Não sabe como fazer isso? É simples, na barra superior do Dynamo, procure por Packages (Pacotes), em seguida vá em Search for a Package.

No menu seguinte é só procorar pelos Pacotes BimorphNodes e BumbleBee e instalá-los. Caso encontre algum erro, pode ser que seu Dynamo não esteja atualizado. Use o link para baixar a versão mais atual.

Na seta Lateral, basta selecionar a opção install latest version.

Também precisamos mudar o modo de execução do Dynamo de automático para manual. Este modo de execução está localizado no canto inferior esquerdo da tela

Agora Podemos começar a montar o nosso código

 

Na Guia Libraries, iremos clicar na seta ao lado do Nome Revit e expandir a seleção, dentro dela iremos selecionar a opção Selection e expandir novamente, chegando a seguinte Tela:

Neste Caso Utilizaremos os Nodes “Element Types” e “All Elements of Type”. Basca clicar e arrastar os itens para a área de trabalho. No node Element Types, na janela de cascata, iremos encontrar a categoria dos Quantitativos (ViewSchedule em inglês) e em seguida conectaremos este nó ao nó All Elements of Category.

Agora precisaremos utilizar o Node bimorph.GetScheduleData, que está localizado no grupo BimorphNodes > Revit>Schedules> Bimorph.GetScheduleData.

Conectaremos o Nó All Elements of Category a este Nó. Obtendo o seguinte resultado:

Se você é novo no Dynamo, deve estar se perguntando: “E como esta lista abaixo do Node All elements of type apareceu?”

Ao colocar o mouse em cima da parte inferior do nó aparecerá uma versão contraída desta lista, para expandi-la basta apertar sobre o botão em forma de pino que aparce.
No caso de meu projeto, tenho 12 quadros de quantitativo, na ultima linha da lista anterior podemos ver isso. (Ele é o valor entre Parenteses). Lembre-se: você precisa estar com o projeto do Revit aberto e ter gerado tabelas de quantitativos.

Prosseguindo com a rotina teremos que selecionar o Node BB data, localizado em

Archi-lab_Bumblebee > Write > BBData.

Este Node possui 3 entradas

SheetName: Nome da planilha do Excel, por padrão o nome utilizado é Planilha1, será este o valor que iremos inserir neste campo. – Digitaremos “Planilha1”

Origin: Ponto de Origem para a Inserção dos dados. Neste Caso usarei a primeira Célula do Excel, A célula A1. – Digitaremos “A1”

Data: Dados a serem inseridos na planilha – Digitaremos “l[0]”

 

Para inserirmos os dados é simples, basta inserirmos code blocks – os quais são inseridos ao darmos um clique duplo sobre qualquer ponto sobre a tela do Dynamo – e conectarmos estes aos valores de entrada do BB Data

É indispensável a utilização de aspas para escrevermos texto nos code blocks, se não a utilizarmos, o dynamo não irá reconhecer estes valores como texto.

Mas o que diabos é aquele l[0] conectado a entrada Data do BB Data. Calma jovem, este é o primeiro elemento da nossa lista que contém as tabelas dos quantitativos. Lembrando que como várias linguagens de programação, o primeiro elemento de uma sequencia no Dynamo é sempre o numero 0.

Por enquanto o nosso código está assim. Para as demais planilhas de quantitativo, precisaremos repetir a lógica da imagem 6. Para facilitar, podemos dar ctrl+c nos nós da figura 6 e ctrl+v fazendo as alterações necessárias dos nós que entram no campo Data (acrescentando um pra cada nova planilha. Por exemplo l[1] para o quantitativo 2, l[2] para o quantitativo 3 e assim sucessivamente), e o ponto de origem de cada nova planilha no Excel. Como cada quantitativo tem uma quantidade de elementos diferente, sugiro usar 30 linhas para cada tabela de quantitativo. Lembrando que dependendo no número de itens do seu projeto, poderemos ter muito mais linhas para cada um. Existe a possibilidade de configurar essa exportação de forma mais organizada, mas não é o escopo desse post. Assim a nossa rotina ficaria da seguinte forma:

Agora precisaremos agrupar todos estes valores em um único nó. Para isto usaremos o Nó List.Create (você pode pesquisar pelo nó na janela da esquerda) e ligaremos os Resultados do BB Data a ele. Lembre-se se clicar em +, no nó List.Create para adicionar o número de entradas relativa ao número de saídas do BB Data. Depois usaremos o nó WriteExcel Localizado no mesmo local do Nó BB Data. Este pede uma série de entradas. Sendo que a mais importante deles é o arquivo excel a ser impresso os dados. Para isto, é necessário que você salve uma tabela em branco do excel em uma pasta do seu computador.

 

Os dados são preenchidos da seguinte modo ( os nós utilizados podem ser encontrados na ferramenta de busca do Dynamo).

Por último, e não menos importante, devemos criar uma forma de atualizarmos automaticamente esta planilha excel, pois podemos fazer alterações em nosso projeto. Para isto precisaremos limpar os dados desta planilha do excel, usaremos o nó Clear Contents do pacote BumbleBeee e o configuramos da seguinte forma.

PS: PARA O CÓDIGO FUNCIONAR, ESTE ULTIMO CÓDIGO PRECISA ESTAR LOCALIZADO ACIMA DO CÓDIGO DE ESCREVER OS DADOS. DA SEGUINTE FORMA.

  

Agora que a nossa rotina está pronta, basta apertar o Run ou EXECUTAR, no canto inferior da esquerdo da tela para executar a rotina.
OBS: Salve o arquivo excel em branco antes de executar a rotina, caso contrário ele poderá ser lido como Read-Only e o código não funcionará. Após executar o comando verifique qualquer erro no nó “Watch

 

 

A Equipe BIMExperts fez o teste da rotina antes da publicação. Essa é uma rotina básica, que pode ser aprimorada para uma melhor organização das linhas e colunas dentro do excel.

Ramoon Nóbrega Bandeira

Ramoon Nóbrega Bandeira é Engenheiro Civil formado pela Universidade Federal da Paraíba em 2016 e aluno da 2° Edição do International Master BIM Manager da Zigurat Global Institute of Technology. Teve seu primeiro contato com o BIM ainda quando era estagiário, quando teve a oportunidade de aprender Civil 3D e aplica-lo para realizar um trabalho de Manutenção de Barragems.

4 comentários em “Rotina para exportação automática de todas as suas tabelas de quantitativo do Revit para o Excel

  • 01/07/2017 em 3:08 PM
    Permalink

    olá… ficou uma dúvida. o código de limpeza está sendo aplicado apenas a uma tabela “planilha 1”, eu consigo fazer para todas?
    PS: conheço pouco no dynamo

    Resposta
    • 01/07/2017 em 3:21 PM
      Permalink

      outra coisa… o nome já existe na tabela, não consigo aproveitar essa informação? e associar ao nome que segue para o excel?

      Resposta
      • 18/07/2017 em 10:49 AM
        Permalink

        “Sim. Porém… isso complicaria um pouco… teria que fazer algumas alterações no código do Dynamo pra isso aparecer lá…” – Ramoon Bandeira.

        Resposta
    • 18/07/2017 em 10:47 AM
      Permalink

      “Da, é só copiar todo o grupo de limpar a planilha e mudar só o nome da aba. Assim ele vai limpar as outras abas automaticamente.” – Resposta do nosso colega Ramoon.

      Resposta

Dúvidas, sugestões ou comentários?

Translate »
%d blogueiros gostam disto: