Arquivo IFC e sua arquitetura: IfcPropertyDefinition
Como ler um arquivo IFC, alterar e adicionar propriedades aos objetos: conheça IfcPropertyDefinition e a estrutura de dados IFC
O artigo de hoje vai apresentar o terceiro pilar do esquema de dados para arquivo IFC (Industry Foundation Classes): o IfcPropertyDefinition,
ou seja, as propriedades imaginadas como informações compartilhadas entre várias entidades de objetos. Nos artigos precedentes, já falamos sobre o IfcObjectDefinition
e oIfcRelationship.
Vamos ver o que é o IfcPropertyDefinition
e como adicionar, excluir e editar as propriedades de um modelo informativo no formato IFC com um editor IFC avançado.
Arquitetura de um arquivo IFC
O esquema IFC representa um sistema de armazenamento para organizar organicamente as informações relativas a um objeto da construção e garantir que esse patrimônio de informações seja acessível ao longo do tempo e sem vínculos. O arquivo IFC é um modelo composto por centenas de entidades organizadas hierarquicamente.
A estrutura do IFC está baseado em 3 conceitos fundamentais, que definem:
IfcObjectDefinition
, ou seja, as entidades;IfcRelationship
, ou seja, as relações entre as entidades;IfcPropertyDefinition
, ou seja, as propriedades associadas às entidades.

Gráfico da composição do esquema de dados IFC
Confira os 3 artigos sobre a arquitetura IFC:
- IfcObject (parte 1 da arquitetura IFC)
- IfcRelationship (parte 2 da arquitetura IFC)
- IfcPropertyDefinition (parte 3 da arquitetura IFC).
IfcPropertyDefinition
IfcPropertyDefinition
permite generalizar todas as propriedades que podem ser atribuídas aos objetos. Essa generalização permite definir conjuntos de propriedades ou de tipos de objetos (type object). As propriedades definem as informações compartilhadas entre várias instâncias de objetos.
A partir dessas propriedades, criam-se as seguintes:
IfcPropertySetDefinition
, que permite a generalização do conjunto de propriedades;IfcPropertySet
, que representa o recipiente que contém todas as propriedades, definidas e classificadas por meio do nome. Os conjuntos de propriedades são relacionados aos objetos(IfcObject)
por meio da relaçãoIfcRelDefinedByProperties
;IfcProperty
, que define a generalização dos tipos de propriedades a serem associadas aos objetos IFC, e depende de um conjunto de propriedades.

Arquitetura arquivo IFC | Gráfico da árvore IfcPropertyDefinition
IfcProperty
é dividido em:
IfcComplexProperty
, utilizado para definir propriedades complexadas a serem gerenciadas dentro de um conjunto de propriedades;IfcSimpleProperty
, que classifica as propriedades atribuídas para cada objetos. Os subtipos deIfcSimpleProperty
estabelecem as várias maneiras para configurar um valor da propriedade.

Arquitetura arquivo IFC | Gráfico descrição IfcSimpleProperty
IfcSimpleProperty
A IfcSimpleProperty
se ramifica em 6 subtipos diferentes, que já vamos ver.
IfcPropertySingleValue
É possível atribuir um valor específico para esta propriedade, que é composta pelos elementos:
- Name
- Nominal Value
- Type (através do IfcValue)
- Unit
Por exemplo, se quiser descrever as propriedades de uma porta produzida pelo “Produtor A” com espessura de 4 cm e transmitância térmica de 2,6w/(m² K), conseguimos:
IfcPropertyEnumeratedValue
IfcPropertyEnumeratedValue
define uma propriedade cujo valor foi definido a partir de lista de valores enumerados. A lista se encontra dentro da classe IfcPropertyEnumerated
, que representa o subtipo IfcPropertyEnumeratedValue.
É composta pelos elementos:
- Name
- Value (EnumerationValue)
- Type
- IfcPropertyEnumeratio
conforme imagem abaixo.

Esquema exemplo do IfcPropertyEnumeratedValue
IfcPropertyBoundedValue
Define uma propriedade que possui dois valores limite: o primeiro valor diz respeito ao limite superior, enquanto o segundo trata do limite inferior.
É composta pelos elementos:
- Name
- UpperBoundValue
- LowerBoundValue
- Type
- Unit
Essa propriedade detecta, por exemplo, os limites de gabarito ou de peso de um objeto a ser transportado para um ponto do canteiro de obra.

Esquema de exemplo do IfcPropertyBoundedValue
IfcPropertyTableValue
Define uma propriedade à qual estão atribuídos dois elencos de valores, que compõem uma tabela com duas colunas. Os valores da primeira coluna definem o âmbito de aplicação dos valores da segunda.
É composta pelos elementos:
- DefiningValues
- DefiningValueType
- DefingUnit
Por exemplo, através de uma tabela é possível indicar os valores da perda de transmissão sonora dentro de um certo intervalo.

Esquema exemplo do IfcPropertyTableValue
IfcPropertyReferenceValue
Atribui um valor à propriedade através de uma ligação com propriedades complexas, pré-definidas dentro do esquema IFC.
IfcPropertyListValue
Define uma propriedade à qual foram atribuídos vários valores, tomados de um elenco preciso e ordenado: a ordem de visualização dos valor é significativa. Cada valor dentro do elenco é único e não é possível duplicá-lo.
É composta pelos elementos:
- Name
- ListValue
- Type
- Unit
Por exemplo, essa propriedade permite indicar as dimensões, dentro de um certo elenco, a serem atribuídas para realizar um item específico.

Esquema exemplo IfcPropertyListValue
Para visualizar as propriedades de uma entidade em um modelo 3D, é possível utilizar um simples visualizador BIM online e gratuito. É suficiente:
- carregar o arquivo IFC na na nuvem do usBIM;
- abrir o arquivo;
- selecionar a entidade;
- ler as propriedades dessa entidade na caixa de ferramentas à direita.
Exemplos de propriedades associadas às entidades
As imagem que seguem mostram exemplos de propriedades associadas às entidades.
Na imagem abaixo selecionamos um elemento do modelo. A caixa de ferramentas à direita apresenta as propriedades associadas a essa entidade.

Imagem 1 | Leitura das propriedades gerais de um elemento
A segunda imagem mostra como editar, excluir ou adicionar as propriedades das entidades, por exemplo as da parede incluídas no IfcWallStandardCase
.

Imagem 2 | Editar, incluir, excluir as propriedades de um elemento
A terceira imagem mostra como verificar as propriedades adicionadas na caixa de ferramentas à direita da tela.

Imagem 3 | Visualização das propriedades inseridas e/ou editadas