Voltar ao Blog
IFCBIMQualidadePythonGoogle Colab

Dashboard de Análise de Qualidade IFC: automatizando validação de modelos BIM com Python e Google Colab

Paulo Giavoni

Paulo Giavoni

Engenheiro & Especialista BIM

27 janeiro 202612 min read
Dashboard de Análise de Qualidade IFC: automatizando validação de modelos BIM com Python e Google Colab

Introdução#

No universo da Modelagem da Informação da Construção (BIM), qualidade de dados não é um diferencial — é a fundação sobre a qual projetos bem-sucedidos são construídos. Arquivos IFC de baixa qualidade levam a falhas de coordenação, retrabalho caro e equipes frustradas. No entanto, verificações manuais de qualidade são demoradas, inconsistentes e frequentemente ignoradas sob pressão de prazo.

E se você pudesse validar seus modelos IFC em minutos, gratuitamente, sem instalar nenhum software?

É exatamente isso que o IFC Quality Analysis Dashboard entrega. Construído em Python e projetado para rodar no Google Colab, esta ferramenta executa 10 verificações abrangentes de qualidade baseadas em ISO 19650 e padrões da buildingSMART — oferecendo insights instantâneos sobre a saúde do seu modelo.

Dashboard de Análise de Qualidade IFC
Dashboard de Análise de Qualidade IFC

O que o dashboard analisa?#

A ferramenta realiza 10 verificações automáticas de qualidade, cada uma focando um aspecto crítico da qualidade de dados BIM:

1. Informações do Projeto (Conformidade ISO 19650)#

Verifica a presença de metadados essenciais do projeto:

  • Nome do Projeto
  • Descrição
  • Fase
  • Histórico do Proprietário (aplicação de autoria, organização)

Por que importa: Sem informações adequadas do projeto, modelos se tornam arquivos órfãos sem contexto. Isso é fundamental para gestão de informação e trilhas de auditoria.

2. Hierarquia de Estrutura Espacial#

Valida a estrutura lógica: Site → Building → Storey → Space

Verifica:

  • Presença de IfcSite, IfcBuilding, IfcBuildingStorey
  • Espaços órfãos (não atribuídos a nenhum pavimento)
  • Relações de contenção adequadas

Por que importa: A estrutura espacial permite análise baseada em ambientes, entrega para FM e navegação adequada no modelo. Sem ela, seu modelo é apenas uma coleção de geometria flutuante.

3. Completude de Propriedades#

Garante que elementos tenham propriedades obrigatórias:

  • Name
  • Description
  • ObjectType
  • Tag
  • GlobalId

Por que importa: Propriedades alimentam tabelas, quantitativos e extração de dados. Propriedades ausentes = informação ausente a jusante.

4. Sistemas de Classificação#

Detecta atribuições de classificação:

  • Uniclass 2015
  • OmniClass
  • Uniformat
  • MasterFormat
  • NRM / SfB

Por que importa: Classificação permite estimativa de custo padronizada, vinculação de especificações e análises entre projetos. É essencial para interoperabilidade de dados.

5. Convenções de Nomenclatura#

Identifica nomes problemáticos de elementos:

  • Nomes vazios
  • Nomes genéricos ("Default", "Unnamed", "New")
  • Caracteres inválidos

Por que importa: Nomenclatura consistente permite busca, filtragem e automação. Nomenclatura ruim cria confusão e quebra processos a jusante.

6. Validação de Geometria#

Verifica:

  • Elementos sem representação geométrica
  • Elementos sem posicionamento (ObjectPlacement)

Por que importa: Elementos sem geometria são invisíveis mas ainda existem no banco de dados, causando quantitativos fantasma e problemas de coordenação.

7. Atribuição de Tipos#

Verifica se elementos estão atribuídos a Tipos (IfcRelDefinesByType)

Por que importa: Tipos permitem gestão eficiente do modelo — altere um tipo, atualize todas as instâncias. Sem tipos, você está gerenciando milhares de objetos individuais.

8. Atribuição de Materiais#

Verifica associações de materiais (IfcRelAssociatesMaterial)

Por que importa: Materiais conduzem visualização, levantamento de quantitativos, análise térmica e estimativa de custos. Sem material = sem quantitativos de material.

9. Unicidade do GlobalId#

Detecta GlobalIds duplicados em todos os produtos

Por que importa: GlobalId é o identificador único para elementos IFC. Duplicatas causam corrupção de dados, falhas de mesclagem e pesadelos de rastreamento.

10. Cobertura de Property Sets#

Analisa a cobertura de Pset_ e Qto_ entre elementos

Por que importa: Property sets contêm os dados ricos que tornam BIM valioso — especificações de desempenho, quantidades, dados do fabricante. Baixa cobertura = baixo valor de dados.


Como Usar o Dashboard#

O notebook já está pronto para uso. Basta abrir, fazer uma cópia e executar:

Abrir IFC Quality Analysis Dashboard no Google Colab

Passo 1: Fazer uma Cópia#

Acesse o link acima e clique em File → Save a copy in Drive para ter sua própria versão editável.

Passo 2: Executar#

Pressione Shift + Enter para executar cada célula. O script irá:

  1. Instalar pacotes necessários (ifcopenshell, plotly, pandas)
  2. Solicitar upload do seu arquivo IFC
  3. Analisar o modelo
  4. Exibir um dashboard interativo
  5. Mostrar uma tabela de relatório detalhado

Passo 3: Interpretar Resultados#

  • ✅ Aprovado (≥80%): Atende padrões de qualidade
  • ⚠️ Atenção (50-79%): Precisa de atenção
  • ❌ Crítico (menos que 50%): Problemas críticos a resolver

Passo 4: Exportar (Opcional)#

Baixe os resultados como JSON para documentação ou análise posterior.

Compartilhar Seu Notebook#

  1. Clique no botão Share (canto superior direito)
  2. Configure General access para "Anyone with the link"
  3. Escolha nível de permissão (Viewer/Editor)
  4. Compartilhe o link com sua equipe

Vantagens#

Completamente Gratuito#

Sem taxas de licença, sem assinaturas, sem custos ocultos. Google Colab fornece recursos de computação gratuitos.

Baseado em Nuvem#

Não requer instalação de software. Funciona em qualquer dispositivo com navegador — Windows, Mac, Linux, até tablets.

Open Source#

O código é transparente e modificável. Adapte aos seus requisitos específicos, adicione verificações customizadas ou integre com seus workflows.

Execução Rápida#

Analisa modelos com mais de 100.000 elementos em menos de um minuto. Processamento paralelo e algoritmos eficientes.

Dashboard Visual#

Gráficos interativos Plotly tornam resultados fáceis de entender e apresentar para stakeholders.

Baseado em Padrões#

Verificações alinhadas com ISO 19650, diretrizes buildingSMART e melhores práticas da indústria — não regras arbitrárias.

Reproduzível#

Mesmo código, mesmo modelo, mesmos resultados. Perfeito para documentação QA e trilhas de auditoria.

Colaborativo#

Compartilhe notebooks Colab instantaneamente com membros da equipe. Todos veem a mesma análise.


Limitações e Problemas Conhecidos#

Restrições de Tamanho de Arquivo#

Google Colab tem limites de memória (~12GB RAM para tier gratuito). Arquivos IFC muito grandes (mais de 500MB) podem causar erros de memória.

Solução alternativa: Use Colab Pro para mais recursos, ou divida modelos grandes.

Suporte a Versões IFC#

A ferramenta usa IfcOpenShell, que suporta IFC2x3 e IFC4. Arquivos IFC2x2 antigos ou recursos experimentais IFC4.3 podem ter problemas.

Sem Análise de Geometria#

A versão atual verifica presença de geometria mas não valida qualidade de geometria (colisões, duplicatas, objetos pequenos). Isso requereria bibliotecas de visualização e significativamente mais tempo de processamento.

Limites de Detecção de Classificação#

Referências de classificação são detectadas, mas a ferramenta não valida se o código de classificação está correto segundo as tabelas do sistema de classificação.

Persistência de Sessão#

Sessões do Google Colab expiram após inatividade. Você precisará fazer re-upload de arquivos e re-executar se a sessão expirar.

Sem Análise Incremental#

Cada execução é independente. A ferramenta não rastreia mudanças entre versões do modelo (análise delta).

Apenas Inglês#

A interface e relatórios estão atualmente apenas em inglês.


Arquitetura Técnica#

Text
1┌─────────────────────────────────────────────────────────┐
2│ Google Colab │
3│ ┌───────────────────────────────────────────────────┐ │
4│ │ Python Runtime │ │
5│ │ ┌─────────────┐ ┌─────────────┐ ┌───────────┐ │ │
6│ │ │IfcOpenShell │ │ Pandas │ │ Plotly │ │ │
7│ │ │ IFC Parser │ │ Data Tables │ │ Charts │ │ │
8│ │ └──────┬──────┘ └──────┬──────┘ └─────┬─────┘ │ │
9│ │ │ │ │ │ │
10│ │ v v v │ │
11│ │ ┌─────────────────────────────────────────────┐ │ │
12│ │ │ IFCQualityAnalyzer Class │ │ │
13│ │ │ • 10 métodos de verificação de qualidade │ │ │
14│ │ │ • Estatísticas de elementos │ │ │
15│ │ │ • Agregação de resultados │ │ │
16│ │ └─────────────────────────────────────────────┘ │ │
17│ └───────────────────────────────────────────────────┘ │
18│ │ │
19│ v │
20│ ┌───────────────────────────────────────────────────┐ │
21│ │ Dashboard Interativo │ │
22│ │ • Medidor de score geral │ │
23│ │ • Gráfico de barras por verificação │ │
24│ │ • Gráfico de pizza de status │ │
25│ │ • Distribuição de elementos │ │
26│ └───────────────────────────────────────────────────┘ │
27└─────────────────────────────────────────────────────────┘

Metodologia de Pontuação#

Cada verificação retorna uma pontuação de 0-100%:

Faixa de PontuaçãoStatusSignificado
80-100%✅ AprovadoAtende padrões de qualidade
50-79%⚠️ AtençãoAceitável mas precisa melhorar
0-49%❌ CríticoProblemas críticos requerendo ação

O Score Geral é a média aritmética das 10 verificações.

Exemplos de Pontuação#

Completude de Propriedades:

Text
1Score = (Elementos com todas as propriedades obrigatórias / Total de elementos) × 100

Classificação:

Text
1Score = (Elementos com classificação / Total de elementos) × 100

Unicidade do GlobalId:

Text
1Score = 100 - (Contagem de duplicados × 10)
2Mínimo: 0

Exemplo do Mundo Real: Arquivo Exemplo Autodesk Revit 2024#

Para demonstrar o dashboard em ação, analisamos o projeto exemplo Snowdon Towers do Autodesk Revit 2024 — um modelo arquitetônico abrangente com quase 1 milhão de entidades IFC.

Informações do Arquivo#

Text
1FILE_NAME: Export_20251219_134125.ifc
2SCHEMA: IFC4
3APPLICATION: Autodesk Revit 2024 (ENU) - IFC 24.3.10.22
4PROJECT: 7765328-33-A - Snowdon Towers
5PHASE: Construction Documents
6ENTITIES: 993,331
7ELEMENTS: 8,301 em 22 categorias

Resultados da Análise#

Resultados da análise do dashboard
Resultados da análise do dashboard
VerificaçãoScoreStatusProblemas
Info do Projeto90%✅ AprovadoDescrição ausente
Estrutura Espacial100%✅ AprovadoOK
Propriedades0%❌ Crítico8.301 elementos sem propriedades obrigatórias
Classificação54%⚠️ Atenção3.763 elementos sem classificação
Nomenclatura28%❌ Crítico5.928 elementos com problemas de nomenclatura
Geometria99%✅ Aprovado83 elementos com problemas de geometria
Atribuição de Tipo90%✅ Aprovado801 elementos sem tipo
Materiais88%✅ Aprovado967 elementos sem material
GlobalId Único100%✅ AprovadoOK
Property Sets100%✅ AprovadoOK

Score Geral: 74,9% (7 aprovados, 1 atenção, 2 críticos)

Distribuição de Elementos#

O modelo contém 8.301 elementos em 22 categorias IFC:

Tipo de ElementoContagem
IfcWall2.442
IfcMember1.625
IfcBuildingElementProxy994
IfcOpeningElement766
IfcPlate462
IfcLightFixture447
IfcFurniture345
IfcColumn258
Outros962

Insights da Análise#

O que Está Funcionando Bem:

  • ✅ Estrutura espacial perfeita (Site → Building → Storeys)
  • ✅ 100% de cobertura de property sets
  • ✅ Sem GlobalIds duplicados
  • ✅ 99% de completude de geometria
  • ✅ Sistema de classificação Uniformat detectado

Áreas para Melhoria:

  • Propriedades: Todos os 8.301 elementos estão faltando pelo menos uma propriedade obrigatória (Name, Description, ObjectType, Tag). Isso é comum em exportações do Revit onde campos Description e Tag são frequentemente deixados vazios.
  • Nomenclatura: 71% dos elementos têm problemas de nomenclatura — provavelmente nomes genéricos como "Basic Wall" ou nomes com caracteres especiais.
  • ⚠️ Classificação: Apenas 54% dos elementos têm classificação Uniformat. Os 3.763 elementos não classificados podem incluir mobiliário, acessórios e aberturas que não foram classificados no Revit.

Principais Conclusões#

Esta análise revela um padrão comum: modelos Revit frequentemente têm excelente geometria e estrutura mas carecem de metadados ricos. O modelo é perfeitamente utilizável para visualização e coordenação, mas precisaria de enriquecimento significativo de dados para:

  • Levantamentos quantitativos automatizados (classificações ausentes)
  • Entrega para FM (descrições ausentes)
  • Vinculação de especificações (nomenclatura incompleta)

Este é exatamente o tipo de insight que ajuda equipes a priorizar seus esforços de melhoria de dados BIM.


Casos de Uso#

1. Validação de Entregáveis do Modelo#

Antes de submeter modelos a clientes ou fazer upload para CDE, execute a verificação de qualidade para garantir conformidade com requisitos de troca.

2. Gates de Revisão de Projeto#

Integre verificações de qualidade em gates de etapa. Modelos devem passar limiares mínimos antes de progredir.

3. Recebimento de Modelo de Contratada#

Ao receber modelos de subcontratadas, verifique qualidade antes de incorporar em modelos de coordenação.

4. Treinamento e Educação#

Use o dashboard para ensinar padrões BIM. Estudantes podem ver exatamente quais elementos falham e por quê.

5. Melhoria de Processos#

Rastreie scores de qualidade ao longo do tempo para medir melhoria da equipe e identificar problemas recorrentes.

6. Avaliação de Licitações#

Compare qualidade de modelo entre diferentes licitantes ou opções de projeto.


Melhorias Futuras#

Aprimoramentos planejados para versões futuras:

  • Detecção de Colisões: Verificação básica de interferência geométrica
  • Validação de Quantidades: Comparar quantidades do modelo com tabelas
  • Regras de Verificação Customizadas: Regras de validação definidas pelo usuário via config JSON
  • Análise de Tendências: Rastrear qualidade através de múltiplas versões do modelo
  • Suporte Multi-idioma: Interface em Português, Italiano, Espanhol
  • Exportação de Relatório PDF: Relatórios formatados para documentação
  • Integração API: Conectar com plataformas CDE (ACC, Trimble Connect, etc.)

Conclusão#

O IFC Quality Analysis Dashboard democratiza o controle de qualidade BIM. O que antes requeria software caro e expertise especializada agora está disponível para qualquer pessoa com um navegador web.

Qualidade não é opcional em BIM — é a fundação da confiança.

Cada elemento mal nomeado, cada classificação ausente, cada espaço órfão corrói a confiança no modelo. Esta ferramenta dá visibilidade a esses problemas antes que se tornem problemas no canteiro.

Experimente hoje. Faça upload do seu arquivo IFC, execute a análise e veja onde seus modelos se posicionam. Os resultados podem surpreender você.

Vale lembrar que a qualidade do arquivo IFC começa com uma boa exportação. Para modelos complexos, especialmente aqueles com múltiplos links, recomenda-se usar ferramentas especializadas que garantam exportações consistentes e completas. Se você trabalha com modelos federados no Revit, este guia prático pode ajudar a otimizar seu fluxo de trabalho.


Recursos#


Tem dúvidas ou sugestões? O código está aberto para colaboração. Faça fork, melhore, compartilhe.

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