Civil & Structural Engineering
How to Use Revit’s Dynamo for Automated Parameter Updates
Table of Contents
Compreender o Dynamo e seu papel na Revit Automation
O Dynamo é um ambiente de programação visual que se integra nativamente com o Autodesk Revit. Permite aos usuários criar lógica personalizada através de uma interface baseada em nós, eliminando a necessidade de codificação tradicional ao desbloquear o poder total da API Revit. Quando se trata de atualizar parâmetros entre centenas ou milhares de elementos, o Dynamo transforma o que seria um processo manual tedioso em uma operação de um clique. Ao alavancar o Dynamo, arquitetos, engenheiros estruturais e designers de PEM podem aplicar padrões de design, propagar mudanças instantaneamente e eliminar os erros que inevitavelmente se arrastam durante a entrada de dados manuais.
A ferramenta funciona ao permitir- lhe juntar nós que representam entradas, operações e saídas de dados. Cada nó desempenha uma função específica: selecionar elementos, parâmetros de leitura, realizar cálculos ou escrever valores de volta ao modelo. As conexões entre nós definem o fluxo de dados. Esta abordagem visual torna a automação acessível até mesmo para membros da equipe que não têm um fundo de programação. Como resultado, o Dynamo tornou- se uma habilidade essencial para qualquer profissional do BIM que procura simplificar as atualizações repetitivas dos parâmetros.
Este artigo irá explicar-lhe todo o processo de utilização do Dynamo para atualizações automatizadas de parâmetros, desde a configuração inicial até técnicas avançadas. Quer esteja a actualizar horários de sala, parâmetros de descolagem de materiais ou propriedades de instância familiar, irá aprender a criar scripts robustos e reutilizáveis que salvam horas de trabalho.
Começando: configurando o Dynamo para automação de parâmetros
Instalar e lançar o Dynamo
Antes de poder iniciar a automatização das actualizações dos parâmetros, é necessário ter a versão correcta do Dynamo instalada. As versões mais modernas do Revit (2019 e posterior) incluem o Dynamo como um componente integrado. Para verificar, navegue até ao botão Gerenciar e procure o botão Dynamo[. Se não o vir, poderá ter de baixar a última versão estável da página Dynamo Compila]. Após a instalação, reinicie o Revit e assegure que o Dynamo add-in aparece na fita.
Quando você clica no botão Dynamo, abre- se uma nova área de trabalho. A interface consiste num painel de biblioteca à esquerda (contendo todos os nós disponíveis), numa área central onde você constrói o seu programa e numa barra de ferramentas para executar, salvar e gerenciar o seu trabalho. Para as atualizações de parâmetros, você irá trabalhar principalmente com nós da categoria Revit[ (especialmente sob Elementos[] e Parâmetro[]) assim como Data[] nós para manipular valores.
Compreender a Biblioteca Revit Node
A biblioteca de nó do Dynamo é organizada hierarquicamente. As categorias mais importantes para automação de parâmetros incluem:
- Seleção:] Nós como , , e permite definir quais elementos modificar.
- Elemento: Nós como e são as ferramentas principais para parâmetros de leitura e escrita.
- Data: Os nós para números, strings, listas e condicionais ajudam a construir valores de entrada dinâmicos.
- Math/Logic: Operadores, fórmulas e nós de comparação permitem que você computa novos valores de parâmetros com base em dados existentes.
Ficar confortável com estes nós é o primeiro passo para criar scripts de automação eficazes. Você pode procurar nós digitando palavras-chave na barra de pesquisa de bibliotecas.
Construindo um script de atualização de parâmetros: Passo a passo
Vamos criar um script prático que atualiza o Comentários parâmetro de todos Portas[] no modelo Revit atual. O objetivo é definir o campo Comentários para o número de marca da porta. Este é um requisito comum para gerar agendamentos.
Passo 1: Selecione os elementos do alvo
Na área de desenho do Dynamo, adicione um nó para [[ FLT: 5]] (encontrado em Revit & gt; Selection). Clique na lista de categorias e escolha [[ FLT: 0]] Portas[[ [ FLT: 1]]]. Este nó irá enviar uma lista de todas as instâncias de portas no documento ativo.
Passo 2: Leia os dados existentes do parâmetro
Adicionar um nó chamado [[FLT: 6]] da categoria de elementos Revit & gt;. Ligar o resultado do nó de selecção da categoria à entrada [[FLT: 7]] deste nó. Para a entrada [[FLT: 8]], digite o texto [[FLT: 0]]"Mark"[[FLT: 1]] (exacta ortografia, case- sensitive). Este nó irá extrair o valor de marca para cada porta.
Passo 3: Escreva o novo valor do parâmetro
Adicionar um nó chamado [[ FLT: 9]] (Revit & gt; Element). Ligue a lista original de elementos da porta (saída do Passo 1) à entrada [[ FLT: 10]]. Ligue a lista de valores de Marca (saída do Passo 2) à entrada [[ FLT: 11]]. Para a entrada [[ FLT: 12]], digite [[ FLT: 0]"Comentários"[[[ FLT: 1]]. Isto diz ao Dynamo para atribuir o número de Marca de cada porta ao seu campo de Comentários.
Passo 4: Execute o script
Antes de correr, verifique sempre se existem erros ao olhar para as bolhas de antevisão em cada nó. Se vir ícones de aviso vermelhos, verifique se os nomes dos parâmetros estão correctos e se a categoria do elemento existe no modelo. Uma vez satisfeita, carregue no botão [[FLT: 0]] Executar [[FLT: 1]]] (o ícone de reprodução) na barra de ferramentas. O Dynamo irá atualizar todos os parâmetros de comentários da porta instantaneamente.
Passo 5: Verificar os Resultados
Volte para Revit e verifique as propriedades de qualquer porta. O campo Comentários deve agora conter o número de marca da porta. Você também pode gerar um cronograma para confirmar que a automação funcionou em todo o projeto.
Técnicas Avançadas: Condicionais, Loops e Tipos de Dados
O script básico acima funciona bem para atualizações simples, mas projetos do mundo real muitas vezes exigem lógica mais sofisticada. Aqui estão métodos avançados para expandir suas capacidades de automação.
Usando Declarações Condicionais
Às vezes, você só deseja atualizar parâmetros em elementos que atendam a critérios específicos. Por exemplo, você pode querer definir o parâmetro Avaliação de Fogo das portas apenas se a sua largura for maior que 900 mm. Para conseguir isso, você precisa de um ramo condicional.
- Comece lendo o parâmetro Largura] de cada porta usando .
- Use um nó Code Block com uma condição como . Isto produz uma lista de booleanos.
- Adicionar um nó . Ligar a lista de portas à entrada e à lista booleana à entrada . A saída contém apenas portas que satisfazem a condição.
- Em seguida, aplique a atualização do parâmetro apenas para essa lista filtrada.
Percorrendo Dados Complexos
O Dynamo lida automaticamente com loops quando você conecta listas a entradas de nó. Mas, às vezes, você precisa iterar sobre dados aninhados, como por exemplo, atualizar parâmetros para todos os andares de um edifício de vários andares, onde cada andar tem um conjunto diferente de salas. O nó ] permite- lhe aplicar uma função a cada sublista. Por exemplo, você pode criar um nó personalizado (ou usar nós de script Python) para realizar uma atualização de parâmetros específica por andar.
Manuseando diferentes tipos de dados
Os parâmetros em Revit podem ser texto, números, inteiros, comprimentos, áreas, volumes ou valores sim/não. Os nós Dynamo convertem automaticamente tipos comuns, mas você deve ter cuidado com unidades. Para os parâmetros de comprimento, você precisa fornecer valores em unidades internas Revit (pés). Uma armadilha comum está tentando definir um parâmetro de comprimento usando um número simples como 1, 0 esperando que ele seja 1 metro – em vez disso, ele se torna 1 pé. Use o nó [[ FLT:20]]] ou unidades definidas explicitamente usando uma combinação de [[ FLT: 21]] e [[ FLT: 22]]. Para os parâmetros sim/ não, use valores booleanos true/false.
Usando nós de script em Python para lógica complexa
Quando a interface visual do nó se tornar demasiado complicada para manipulações avançadas de parâmetros, você poderá inserir um Node Python Script. Isto lhe dará acesso completo à API Revit. Por exemplo, você poderá escrever um script Python que lê a caixa limite de uma instância familiar e atualiza o seu O parâmetro Elevação[] baseado na sua altura acima do nível de base. Os nós Python também lhe permitem implementar o tratamento de erros e loops personalizados que excedem as capacidades padrão do Dynamo. A documentação Revit API[ é uma referência valiosa ao construir scripts Python.
Exemplos práticos de atualizações automáticas de parâmetros
Exemplo 1: Atualizando parâmetros de sala de uma planilha do Excel
Muitas empresas mantêm dados de sala no Excel. O Dynamo pode ler esses dados e atualizar automaticamente os parâmetros de sala Revit. Use o nó Data.ImportExcel[ (exigirá o pacote Data-Shapes) para ler uma planilha. Em seguida, combine linhas para salas por um parâmetro chave como Número. Para cada linha, use ] no elemento correspondente para atualizar campos como Nome, Ocupancy[[, ou Departamento.
Isto garante que o modelo Revit sempre reflete os dados do último programa.
Exemplo 2: Atualizações do parâmetro de descolagem de materiais
Em modelos estruturais, você pode precisar definir o parâmetro Material] para vigas de aço com base no tamanho delas. Crie um script que leia o parâmetro Tipo Mark[] de cada viga, procure o material correspondente de um dicionário (usando o bloco de código ou mapeamento de listas), e atualize o parâmetro Material Estrutural[]. Este tipo de automação é especialmente valioso quando alternar entre diferentes padrões de projeto ou fornecedores de materiais.
Exemplo 3: Atualizações de Parâmetros de Tipo de Instância Familiar
Às vezes, você precisa modificar parâmetros de tipo (compartilhados em todas as instâncias de um tipo de família) em vez de parâmetros de instância. O Dynamo pode lidar com isso selecionando primeiramente os tipos de família usando nós como . Depois use com o nome do parâmetro tipo. Por exemplo, você pode atualizar o parâmetro tipo Largura de todos os tipos de família “Desk-1200” para 1500 mm. Como isso afeta todas as instâncias desse tipo, a mudança se propaga instantaneamente pelo modelo.
Melhores práticas para automação de parâmetros confiável
Para garantir que seus scripts Dynamo funcionem sem problemas e produzam resultados corretos, siga estas diretrizes:
- Teste em uma cópia: Sempre execute qualquer novo script em uma porção duplicada ou isolada do modelo primeiro. Um pequeno erro em uma atualização de parâmetros pode corromper dados em milhares de elementos.
- Use nomes de parâmetros explícitos: Os nomes de parâmetros são sensíveis a maiúsculas e devem corresponder exatamente ao que é mostrado nas propriedades do tipo Revit. Use o nó Elemento.GetParameterValueByName] com uma string codificada para verificar se o nome funciona antes de escrever.
- Group nodes logicamente: Use Group (Ctrl+G) para organizar seu script em regiões: seleção, dados de entrada, lógica e saída. Isso torna a depuração e reutilização mais fácil.
- Adicionar comentários: Clique com o botão direito do mouse na tela para adicionar notas que explicam cada seção. Isso é inestimável quando você revisita um script meses depois ou compartilha-o com colegas.
- [[ FLT: 0]]Salvar como nó personalizado: [[ FLT: 1]] Se você se encontrar repetindo o mesmo padrão de atualização de parâmetros, crie um nó personalizado (Arquivo & gt; Novo Nó Personalizado). Dessa forma, você poderá reutilizá- lo em projetos sem reconstruir.
- Erros de mão graciosamente: Use nós como e assista antevisões para entradas nulas. Nos nós Python, enrole operações críticas em blocos de tentativa-exceto.
Benefícios de Atualizações de Parâmetros Automatizando com Dynamo
As vantagens desta abordagem vão além de simples economias de tempo. Aqui estão os principais benefícios que você pode esperar ao incorporar Dynamo em seu fluxo de trabalho Revit:
- Consistência: As atualizações automatizadas aplicam a mesma lógica a cada elemento, eliminando a variabilidade que vem com entrada manual de dados. Isto é fundamental para detecção de choques, decolagem de quantidades e coordenação com outras disciplinas.
- Velocidade: O que leva horas clicando através de propriedades pode ser feito em segundos. Um script que atualiza 5000 parâmetros de porta é executado em menos de um minuto.
- Scalabilidade: À medida que os modelos crescem, as atualizações manuais se tornam cada vez mais impraticáveis.Os scripts Dynamo lidam com qualquer número de elementos sem degradação no desempenho.
- Reversibilidade: Quando você executa um script, você pode facilmente desfazer as alterações (Ctrl+Z) em Revit, desde que você não tenha fechado o modelo. Isso lhe dá uma rede de segurança que muitas vezes falta no manual de edições.
- Auditabilidade: Um script de Dynamo salvo torna-se um registro das mudanças que foram feitas e por quê. Isso é útil para a garantia de qualidade e para o treinamento de novos membros da equipe.
- Integração com dados externos: O Dynamo pode ler a partir do Excel, CSV, bancos de dados e até mesmo APIs web. Isso permite que você empurre dados ao vivo para seus parâmetros Revit, mantendo o modelo sempre atualizado.
Conclusão: Transformar seu fluxo de trabalho revit em uma vantagem competitiva
O Dynamo de Dominação para atualizações automatizadas de parâmetros é um gateway para um nível muito maior de eficiência BIM. O investimento inicial na aprendizagem da interface de nó e lógica básica paga-se muitas vezes, especialmente em projetos de grande escala onde a consistência paramétrica é primordial. Seguindo a abordagem passo a passo aqui descrita e incorporando gradualmente lógica condicional, scripting Python e fontes de dados externas, você pode eliminar a drugduração da manipulação manual de parâmetros.
Lembre-se de começar pequeno: automatize um parâmetro em uma categoria, depois expanda. Salve seus scripts como nós personalizados e construa uma biblioteca pessoal de ferramentas de automação. Compartilhe-os com sua equipe e encoraje uma cultura de melhoria contínua. O futuro do trabalho Revit é automatizado, e Dynamo é a chave que desbloqueia esse futuro.
Para mais aprendizado, explore o oficial Dynamo Primer] e a extensa biblioteca de scripts de amostra disponíveis em Dynamo Nodes. Com a prática, você vai se encontrar abrindo o Dynamo instintivamente sempre que você enfrentar uma tarefa repetitiva de atualização de parâmetros.