Por dentro do IFC: entidades, relações e arquivos
Um guia visual para entender como o esquema IFC organiza elementos, pavimentos, materiais, propriedades e posicionamento espacial em arquivos de intercâmbio.
Nesta página
- Esquema, formato e arquivo: três níveis diferentes
- Versões e terminologia
- Camadas e herança: de IfcRoot a IfcWall
- O que há dentro de um arquivo IFC
- Elementos, tipos e partes
- Relações: o que conecta as instâncias
- Estrutura espacial e posicionamento
- Materiais e propriedades
- Como usar esta leitura em uma verificação de modelo
- Fonte e limites
Este subartigo aprofunda openBIM: dos requisitos à modelagem e à verificação. Enquanto o artigo principal mostra o fluxo de trabalho, aqui examinamos o que existe dentro de um arquivo IFC e como seus dados se conectam.
O IFC (Industry Foundation Classes) é um padrão aberto de estruturação e intercâmbio de informação de construção. Ele define entidades como IfcWall, seus atributos e as relações entre objetos. O arquivo exportado registra instâncias dessas entidades em um formato serializado. A especificação IFC4.3 da buildingSMART é a referência para conferir a definição formal de cada classe.
Esquema, formato e arquivo: três níveis diferentes
O esquema de dados define quais classes, atributos e regras existem. Uma MVD (Model View Definition) delimita um subconjunto para um uso de intercâmbio. O formato de arquivo determina como as instâncias são gravadas. O resultado pode ser, por exemplo, um arquivo STEP com extensão .ifc ou um arquivo XML com extensão .ifcxml.
O formato STEP Physical File, definido na ISO 10303-21, é o mais comum nas trocas IFC. Seu esquema é expresso na linguagem EXPRESS, da ISO 10303-11. Como o arquivo .ifc é texto, é possível inspecionar seus registros em um editor. Isso ajuda a diagnosticar uma exportação, embora a leitura manual não substitua um validador. A versão XML usa um XSD para definir a estrutura correspondente.
O exemplo de IfcWall permite comparar os dois modos de gravação. No XML, os atributos aparecem como elementos e referências. No STEP, a entidade surge como uma linha com valores ordenados: o identificador # aponta para outras instâncias do mesmo arquivo, enquanto o GlobalId identifica o objeto no modelo. O símbolo $ indica um campo omitido ou não definido naquela posição.
Para revisar uma exportação: confira primeiro a versão declarada no cabeçalho, depois a classe do elemento, seu GlobalId, sua representação e as referências para propriedades e estrutura espacial. Um identificador #256 é interno àquele arquivo; não é um identificador persistente entre exportações.
Versões e terminologia
O manual traça a evolução de IFC1.0 até IFC4.3 e apresenta a notação Major.Minor.Addendum.Corrigendum. Mudanças major podem alterar a compatibilidade; versões minor ampliam funcionalidades dentro do núcleo compatível. A figura é um panorama histórico da edição de 2024, não um quadro de suporte atual de cada aplicação.
Uma versão nova passa por propostas, revisão técnica, construção de consenso e validação de software. Para a nomenclatura e os lançamentos, consulte a lista de especificações IFC e o processo de desenvolvimento de padrões da buildingSMART.
Convém separar termos que costumam ser confundidos:
| Termo | Significado prático |
|---|---|
| Entidade ou classe | Categoria definida no esquema, como IfcWall ou IfcDoor. |
| Instância | Uma parede ou porta concreta registrada no arquivo. |
| Atributo | Campo previsto para a entidade, como GlobalId, Name ou ObjectPlacement. |
| Quantidade | Medida associada ao objeto; pode ser agrupada em um conjunto Qto_. |
| Propriedade | Informação descritiva; pode integrar um conjunto Pset_. |
| Relação | Entidade que conecta objetos, materiais, tipos ou estruturas espaciais. |
As definições de termos e a introdução ao esquema permitem aprofundar essas distinções.
Camadas e herança: de IfcRoot a IfcWall
O esquema organiza suas classes em camadas. O núcleo contém definições gerais e relações. A camada de interoperabilidade reúne elementos compartilhados por disciplinas. A camada de domínio especializa objetos para áreas como arquitetura, estruturas e instalações. A camada de recursos disponibiliza definições reutilizáveis, como geometria, materiais e unidades. Essa divisão ajuda a localizar a responsabilidade de cada conceito no esquema.
As classes também formam uma hierarquia de herança. Uma IfcWall herda atributos de IfcBuiltElement, IfcElement, IfcProduct, IfcObject, IfcObjectDefinition e IfcRoot. Por isso, a documentação de uma parede inclui atributos declarados em vários níveis, não apenas na página da classe IfcWall.
No exemplo, GlobalId vem de IfcRoot; ObjectPlacement e Representation vêm de IfcProduct; Tag, de IfcElement; e PredefinedType especializa IfcWall. A documentação da entidade IfcWall permite consultar os atributos, regras e tipos válidos. O nome de algumas classes mudou entre versões, então compare o modelo com o esquema indicado no cabeçalho do arquivo.
O que há dentro de um arquivo IFC
Uma leitura útil separa cinco conjuntos: conteúdo geral, estrutura espacial, elementos, recursos e relações. IfcProject fornece o contexto do projeto e as unidades. A estrutura espacial organiza terreno, edifício e pavimentos; elementos como paredes se vinculam a ela. Materiais, classificações e propriedades complementam os elementos por meio de relações explícitas.
Em um arquivo STEP, HEADER identifica, entre outros dados, o esquema da exportação. DATA contém as instâncias numeradas como #12 e #256; essas referências conectam registros dentro do arquivo. Ver uma propriedade ou um material isolado no texto não prova que esteja atribuído ao elemento esperado: é preciso seguir a relação correspondente.
Elementos, tipos e partes
IfcElement reúne classes para componentes físicos. O IFC4.3 ampliou o conjunto para infraestrutura, inclusive elementos como IfcBearing, IfcCourse e IfcRail. Usar uma classe específica, quando a ferramenta a suporta, comunica mais informação do que recorrer genericamente a um objeto substituto.
PredefinedType refina a classe sem substituí-la: uma parede continua IfcWall, mas pode ser declarada, por exemplo, MOVEABLE ou USERDEFINED. Um tipo, como IfcWallType, pode concentrar informação comum a várias instâncias. Partes de um elemento composto podem ser representadas com IfcBuildingElementPart e agrupadas por IfcRelAggregates.
Relações: o que conecta as instâncias
IfcRelationship é a base de famílias de relações. IfcRelAssociates vincula informações como materiais; IfcRelDefines associa tipos e propriedades; IfcRelDecomposes expressa relações parte–todo; IfcRelConnects liga componentes. Os atributos Relating... e Related... indicam os papéis de cada ponta. A árvore de relações IFC detalha as especializações.
Uma porta em uma parede ilustra por que a geometria visível não basta. A parede se relaciona com uma abertura por IfcRelVoidsElement; a porta preenche essa abertura por IfcRelFillsElement. O pavimento contém o elemento por IfcRelContainedInSpatialStructure. Essas relações registram significados diferentes e precisam ser verificadas separadamente. Veja a definição de IfcRelFillsElement.
Relações também podem associar recursos a processos: o exemplo do manual conecta uma equipe de carpinteiros a uma tarefa de estruturação de parede por IfcRelAssignsToProcess. A definição dessa relação esclarece os papéis dos objetos.
Estrutura espacial e posicionamento
Em edifícios, a hierarquia usual é IfcSite → IfcBuilding → IfcBuildingStorey. IfcRelAggregates constrói essa hierarquia; IfcRelContainedInSpatialStructure atribui um elemento a um local espacial principal. Se um componente atravessa pavimentos, IfcRelReferencedInSpatialStructure pode referenciá-lo adicionalmente, sem criar uma segunda contenção principal. A documentação da estrutura espacial e de IfcRelContainedInSpatialStructure traz as regras formais.
Contenção e posição geométrica são coisas distintas. A primeira diz a que parte da estrutura o elemento pertence; a segunda diz onde ele está. Em edifícios, IfcLocalPlacement encadeia as origens do terreno, do edifício, do pavimento e do componente. Uma parede pode, assim, ter coordenadas locais pequenas e estar corretamente posicionada no projeto por meio da cadeia de referências.
Em infraestrutura linear, o IFC4.3 acrescenta entidades espaciais como IfcRoad, IfcRailway e partes de instalações. IfcAlignment descreve o alinhamento; um sinal pode ser localizado por distância ao longo desse eixo e por deslocamentos lateral e vertical. Esse modo de referência é diferente de atribuir apenas coordenadas cartesianas independentes ao objeto.
Materiais e propriedades
Um elemento se associa a um material por IfcRelAssociatesMaterial. O material pode ser simples, em camadas ou organizado de outra forma prevista pelo esquema. Ele também pode ter propriedades próprias. Em uma revisão, vale confirmar se o material está realmente vinculado ao elemento e se as propriedades pertencem ao material ou ao componente correto.
As propriedades de um componente podem ser atribuídas à instância, a um tipo, a uma parte ou ao material, conforme o significado da informação. Um IfcPropertySet agrupa propriedades do objeto; IfcMaterialProperties agrupa propriedades do material. A escolha afeta a consistência e a reutilização: se uma característica descreve o material, duplicá-la em todas as paredes pode criar divergências. A referência de conjuntos de propriedades mostra as definições padronizadas.
O trecho termina lembrando que o esquema também inclui, por exemplo, IfcGroup para agrupar objetos e IfcAnnotation para anotações 2D. Quando uma troca falha, a investigação deve verificar requisitos, versão, vista de intercâmbio e comportamento real dos importadores/exportadores; a existência de uma classe no esquema, por si só, não garante que cada aplicação a processe corretamente.
Como usar esta leitura em uma verificação de modelo
- Confirme o esquema e a vista de intercâmbio declarados no arquivo.
- Localize a instância pela classe e pelo
GlobalId. - Confira a estrutura espacial e a cadeia de posicionamento.
- Siga as relações até tipo, material, propriedades e quantidades.
- Compare o resultado com os requisitos de informação do projeto e com a especificação oficial IFC4.3.
Essa sequência é uma síntese editorial do capítulo. Ela ajuda a encontrar a origem de uma informação ausente ou mal posicionada, mas não substitui a validação automatizada nem os critérios de aceitação definidos no empreendimento.
Fonte e limites
Tradução e adaptação editorial das páginas 75–105 de BIMcert Handbook: Basic Knowledge openBIM (2024). As figuras técnicas fornecidas foram reproduzidas com seu conteúdo original, sem as legendas numeradas da imagem; as legendas acessíveis desta página são editoriais. O artigo usa a perspectiva e os exemplos IFC4.3 do manual, sem afirmar suporte atualizado de um software específico.































































