Voltar ao Blog
RevitDynamoAutomaçãoParâmetros CompartilhadosExcel

Automatizando Parâmetros Compartilhados no Revit com Dynamo e Excel

Paulo Giavoni

Paulo Giavoni

Engenheiro & Especialista BIM

4 janeiro 20268 min read
Automatizando Parâmetros Compartilhados no Revit com Dynamo e Excel

O Desafio: Criando Parâmetros Compartilhados em Escala#

Criar parâmetros compartilhados no Revit é simples — quando você precisa de apenas um ou dois. Mas o que acontece quando você precisa criar 50 parâmetros para um projeto MEP complexo? Ou padronizar mais de 100 parâmetros no template da sua organização?

O processo manual se torna um pesadelo:

  • Abrir o arquivo de Parâmetros Compartilhados
  • Criar cada parâmetro um por um
  • Selecionar a categoria, grupo e tipo de dados corretos
  • Repetir... 50, 100 ou 200 vezes

É aqui que o Dynamo brilha. Mas aqui está o detalhe que confunde a maioria dos desenvolvedores: a API do Revit não aceita texto simples para tipos de parâmetros. Você não pode simplesmente digitar "Length" ou "Text" — você precisa de objetos Forge TypeId específicos.

Entendendo os Tipos de Parâmetros#

Antes de mergulhar na solução, vamos entender as duas especificações de tipo críticas:

Spec Type (Tipo de Dados)#

O Spec Type define que tipo de dados o parâmetro armazenará — texto, números, medidas, valores elétricos, etc.

Opções de Spec Type no Revit
Opções de Spec Type no Revit

Exemplos:

  • autodesk.spec:spec.string-2.0.0 → Texto
  • autodesk.spec.aec:length-2.0.0 → Medida de comprimento
  • autodesk.spec.aec.electrical:power-2.0.0 → Potência elétrica

Group Type (Posicionamento na UI)#

O Group Type determina em qual seção o parâmetro aparece no painel de Propriedades do Revit — Dimensões, Dados de Identidade, Elétrico, Mecânico, etc.

Opções de Group Type no Revit
Opções de Group Type no Revit

Exemplos:

  • autodesk.parameter.group:identityData-1.0.0 → Seção Dados de Identidade
  • autodesk.parameter.group:dimensions-1.0.0 → Seção Dimensões
  • autodesk.parameter.group:electrical-1.0.0 → Seção Elétrico

A Solução com Dynamo#

O insight chave é que o Excel armazena tudo como texto, mas a API do Revit requer tipos de objeto específicos. Nosso script Dynamo faz essa ponte convertendo strings de texto em objetos adequados da API do Revit.

Script Dynamo completo para criar parâmetros compartilhados
Script Dynamo completo para criar parâmetros compartilhados

Fluxo de Trabalho do Script#

O fluxo de trabalho se divide em 5 etapas claras:

1. Entrada de Dados (Caminho do Arquivo)

  • Localiza seu arquivo Excel contendo as definições de parâmetros
  • Simplesmente cole o caminho completo do arquivo Excel
  • Importante: Certifique-se de que o arquivo Excel está fechado antes de executar o script
Node de entrada de caminho de arquivo no Dynamo
Node de entrada de caminho de arquivo no Dynamo

2. Leitura do Excel (Data.ImportExcel)

  • Lê todas as linhas e colunas da sua planilha Excel
  • Todos os dados saem como texto simples (strings)
  • Esses dados brutos precisam ser convertidos para formatos compatíveis com o Revit

3. Conversão de Dados (List.Deconstruct + List.Transpose)

  • Separa cada coluna do Excel em listas individuais para processamento
  • Resulta em 6 listas separadas: nome, categoria, grupo, instância/tipo, grouptype, spectype
  • O Dynamo processa listas de forma mais eficiente que tabelas
Nodes de conversão de dados no Dynamo
Nodes de conversão de dados no Dynamo

4. Conversão Forge (Nodes TypeId)

  • Converte strings de texto do Excel em tipos de objeto adequados do Revit
  • SpecType.ByTypeId: Converte strings de spec type em objetos SpecTypeId
  • GroupType.ByTypeId: Converte strings de group type em objetos GroupTypeId
  • Category.ByName: Converte nomes de categorias (como "Walls") em objetos Category
Nodes de conversão Forge TypeId
Nodes de conversão Forge TypeId

5. Criação de Parâmetros (Parameter.CreateSharedParameter)

  • Cria os Parâmetros Compartilhados reais no seu projeto Revit
  • Recebe todos os dados convertidos das etapas anteriores
  • Os parâmetros aparecem imediatamente no seu projeto Revit
Node de criação de parâmetros com todas as entradas conectadas
Node de criação de parâmetros com todas as entradas conectadas

Estrutura do Template Excel#

Seu arquivo Excel deve ter exatamente estas 6 colunas nesta ordem exata:

1. parameter_Name — O nome que aparece nas Propriedades
Exemplos: ELEC_PANEL_RATING, STRUCT_BEAM_CAPACITY

2. category — Quais elementos Revit recebem este parâmetro
Exemplos: Walls, Doors, Electrical Equipment

3. groupName — Pasta personalizada na paleta de Propriedades
Exemplos: Electrical Analysis, Custom Dimensions

4. instance/Type — Parâmetro de Instância (TRUE) ou Tipo (FALSE)
Exemplos: TRUE, FALSE

5. grouptype — Seção de propriedade predefinida do Revit
Exemplo: autodesk.parameter.group:electrical-1.0.0

6. spectype — Tipo de dados que o parâmetro armazena
Exemplo: autodesk.spec:spec.string-2.0.0

Exemplo Funcional#

Aqui está um exemplo pronto para uso para parâmetros de equipamentos de elevador:

Text
1parameter_Name category groupName instance/Type grouptype spectype
2SRE_ELEVATOR_TYPE Specialty Equipment Specialty Equipment_SRE FALSE autodesk.parameter.group:identityData-1.0.0 autodesk.spec:spec.string-2.0.0
3SRE_ELEVATOR_STOPS Specialty Equipment Specialty Equipment_SRE TRUE autodesk.parameter.group:identityData-1.0.0 autodesk.spec.aec:number-2.0.0
4SRE_ELEVATOR_LOAD Specialty Equipment Specialty Equipment_SRE FALSE autodesk.parameter.group:identityData-1.0.0 autodesk.spec.aec:number-2.0.0

O que isso cria:

  • 3 parâmetros para a categoria Specialty Equipment
  • Grupo personalizado chamado "Specialty Equipment_SRE" no painel de Propriedades
  • Mistura de parâmetros de texto (TYPE) e numéricos (STOPS, LOAD)
  • Alguns de nível de instância (STOPS) e alguns de nível de tipo (TYPE, LOAD)

Referência Rápida: Tipos Comuns de Parâmetros#

Tipos Gerais#

Tipo

SpecType

Texto

spec.string-2.0.0

Número

spec.aec:number-2.0.0

Sim/Não

spec:spec.bool-1.0.0

Dimensões#

Tipo

SpecType

Comprimento

spec.aec:length-2.0.0

Área

spec.aec:area-2.0.0

Volume

spec.aec:volume-2.0.0

Específicos por Disciplina#

Tipo

SpecType

GroupType

Potência Elétrica

electrical:power-2.0.0

electrical-1.0.0

Temperatura

hvac:temperature-2.0.0

mechanical-1.0.0

Força Estrutural

structural:force-2.0.0

identityData-1.0.0

Nota: Todos os SpecTypes começam com autodesk.spec.aec. e GroupTypes com autodesk.parameter.group:

Dicas para o Sucesso#

Checklist Pré-Execução#

  • Arquivo Excel salvo e fechado
  • Caminho correto do arquivo no node "File Path"
  • Dados preenchidos seguindo exatamente o template
  • Revit aberto com um projeto ativo

Erros Comuns e Soluções#

Erro

Solução

"Cannot find file"

Verifique se o caminho está correto

"Invalid SpecType"

Use exatamente os códigos da lista Forge

"Parameter already exists"

O parâmetro já foi criado anteriormente

"Invalid Category"

O nome da categoria deve estar em inglês

  • Múltiplas categorias: Separe com ponto e vírgula: "Walls;Doors;Windows"
  • Nomenclatura única: Use prefixos para evitar conflitos: "SRE_", "MEP_", "STRUCT_"
  • Teste incrementalmente: Comece com 1-2 parâmetros antes de criar lotes grandes
  • Sempre faça backup: Salve seu projeto Revit antes de executar o script
  • Feche o Excel: Certifique-se de que seu arquivo Excel está fechado ao executar o Dynamo

Conclusão#

Automatizar a criação de parâmetros compartilhados economiza horas de trabalho manual tedioso. O insight chave é entender que o Revit requer objetos Forge TypeId adequados, não strings de texto simples. Com o template Excel e script Dynamo corretos, você pode criar centenas de parâmetros padronizados em segundos.

O script Dynamo completo e os templates Excel estão disponíveis em nosso repositório DynaGuide.

Tem dúvidas sobre automação de parâmetros? Deixe um comentário abaixo ou entre em contato com nossa equipe de suporte em support@unibim.io

Share:

Questions or Feedback?

I'd love to hear your thoughts on this article. Reach out directly and let's start a conversation.

Follow me on LinkedIn for more BIM tips and updates