Home Artigos Entendendo um arquivo IFC

Entendendo um arquivo IFC

Fonte: Entendendo um arquivo .ifc . Autor: Arquiteto Everton Teles

Qual é a estrutura básica de um arquivo IFC?

Um arquivo .ifc é um modelo de dados em formato aberto para trocas de informações entre softwares, esta característica resulta em um arquivo que organiza os dados de uma maneira estruturada e legível a sistemas computacionais.

Podemos abrir um arquivo IFC em um editor de textos simples, como o bloco de notas, o gedit ou o Notepad ++, como na imagem a seguir:

A estrutura do arquivo

Para que estas informações façam sentido, é necessário que conheçamos sua estrutura sistêmica.

Como podemos ver, nota-se que ao abrirmos um arquivo .ifc, toda sua estrutura é escrita linha a linha, uma característica similar ao formato de troca de dados STEP-File, onde as informações são descritas seguindo a tipologia de uma instância por linha, facilitando sua leitura e interpretação.

Na primeira linha sempre haverá a seguinte inscrição: “ISO-10303-21” (sem as aspas). Isso dá referência da norma ISO-10303 ao software interpretador, que estabelece toda a padronização dos procedimentos, linguagem, interpretação e trocas de dados. E na última linha do arquivo vemos o encerramento deste bloco principal através da inscrição: “END-ISO-10303-21”,

Dentro deste bloco principal temos duas seções, a saber: HEADER e DATA. Vejamos agora o que contém o bloco Header:

“HEADER” : Esta Seção possui uma estrutura fixa, que carrega informações sobre o arquivo. Fazem parte obrigatoriamente desta seção os seguintes grupos:

FILE_DESCRIPTION = Grupo de Atributos que define a visualização base e o nível de implementação, especificando a codificação que o arquivo está conformado.
FILE_NAME = Grupo de atributos que carrega o nome do arquivo IFC; a data de criação (descrita no formato internacional, conforme ISO 8601); o nome do autor e a organização a que pertence; o software onde o IFC foi gerado bem como dados de autorização (nome e endereço da pessoa que autorizou o arquivo).
FILE_SCHEMA = Especifica um esquema EXPRESS (falaremos dele futuramente), que nada mais é do que um padrão de organização dos dados em um arquivo de modo a torná-lo legível por um sistema informacional.
Além destes três atributos obrigatórios, podem aparecer estes outros grupos:

FILE_POPULATION = Este atributo valida uma população, ou seja, um conjunto de dados ( ou instância de entidades) de acordo com o esquema EXPRESS definido no FILE_SCHEMA.
SECTION_LANGUAGE = Aqui é definida a linguagem que o esquema interpretará para campos de texto (strings), esta informação deve aparecer no atributo default_language e obedecer a ISO 639.
SECTION_CONTEXT = Guarda informações sobre os contextos das instâncias dentro do esquema;

DATA

Para entendermos a seção DATA (e o arquivo IFC de maneira geral), há de se compreender dois conceitos importantes da tecnologia da informação, que são entidade e instância:

Entidades:
“ Entidade é algo, concreto ou abstrato, incluindo associações entre entidades, abstraídos do mundo real e modelado em forma de tabela que guardarão informações no banco de dados.” 

Uma entidade abstrata geralmente é expressa por um verbo, por exemplo: comprar.

A entidade comprar armazena vários atributos que podem ser tabelados, como: objeto comprado, vendedor, preço, tipo de pagamento e etc.

Entidades concretas seriam todas as coisas que nos cercam, dotadas de atributos físicos, objetos, pessoas, natureza e etc., que também possuem atributos passíveis de serem modelados.

Uma entidade é uma generalização do tema a ser abordado, é a maneira de nós falarmos ao computador como ele vai entender e lidar com aquele tema. No âmbito da tecnologia da informação, também podemos nos referir a entidades como classes.

Instâncias
Se as entidades são uma generalização do assunto, uma instância é o elemento em si registrado nos moldes daquela entidade, ou seja, obedecendo seus atributos e comportamento. No âmbito da TI, também chamamos uma instância de objetos.

Arquivo IFC – Seção DATA

Neste nosso caso (IFC), o banco de dados é o próprio arquivo texto, e o formato da modelagem da entidade não é uma tabela, mas um formato próprio que veremos adiante.

Dentro do bloco DATA, delimitado pelas linhas DATA; e ENDSEC;, as entidades organizam-se em grupos ou Módulos. Estes módulos agregam entidades que detêm informações que contribuem para uma mesma finalidade, vamos a eles:

O primeiro módulo trata de informações relacionadas com o usuário, a aplicação que gerou o IFC.
O segundo módulo carrega informações dos pontos cartesianos e das direções, Aqui é identificado o ponto de origem e as direções dos eixos (dados por vetores), que servirão para orientação dos objetos futuramente.
O terceiro módulo traz a informação inerente às unidades do projeto, elas se aplicam a todos os objetos do arquivo, e representam unidades de comprimento, área, volume, força, ângulo e etc.
No quarto módulo, é apresentado as informações do projeto em si, este módulo é representado por uma entidade (classe) fundamental que sempre fará parte de um arquivo IFC: IfcProject. Esta entidade será a raiz de todos os outros elementos do projeto, porém não indica apenas um projeto de construção, mas pode indicar um projeto de engenharia, manutenção predial, coordenação de atividades e etc.
A sequência de informações que aparecerão no arquivo são inerentes ao projeto, tais como:

  • Localização.
  • Representação Geométrica.
  • Elementos Estruturais
  • Elementos Arquitetônicos.
  • Materiais e propriedades.
  • Modelo de Análise Estrutural.
  • Cargas Estruturais.

Cada um destes itens acima agrupa uma série de classes IFC.

Outro aspecto geral que é importante salientar acerca da seção DATA, é que cada instância de classe listada recebe um identificador numérico, representado por um número inteiro após o caractere #.

Simbologia

Ao abrirmos um arquivo IFC, e localizarmos a seção DATA, logo veremos as entidades instanciadas definidas pelo identificador ‘#’ (conforme no último artigo). Este caractere é apenas um das diversas simbologias que nos depararemos ao longo do arquivo. Então vamos entender cada uma delas:

# : É usado antes de um número inteiro para definir este número como identificador único de uma entidade.
$ : Indica um valor indefinido ao campo.
* : Indica um atributo omisso.
, : A vírgula faz a separação entre dois atributos em uma entidade. O separador de números decimais no IFC é o ponto (.).
‘ ‘ : O conteúdo entre dois apóstrofes é tratado como um texto alfanumérico.
. . : Um atributo entre pontos indica que trata-se de um atributo enumerado (ou seja é uma opção dentre uma lista de opções predefinidas). Devem sempre ser representados em letras MAIÚSCULAS.
( ) : Os parênteses definem os atributos de uma entidade. Dentro deles é que está toda informação relacionada a entidade em questão. Se aparecerem dentro de outros parênteses, significa que o atributo é um conjunto de outras informações.
/* */ : O conteúdo entre estes caracteres não será entendido como uma dado, ele serve apenas para comentários dentro do código.

A estrutura da entidade

Após termos visto os símbolos utilizados na estrutura de uma entidade (e seus significados), já conseguiremos compreender sua estrutura dentro da seção DATA.

O IFC segue o padrão STEP de estrutura de dados, onde cada entidade é representada em uma linha.

Sua estrutura é dividida em três partes principais, conforme esquema abaixo:

Parte 1 – Identificador Único:
Aqui a entidade é etiquetada com um identificador único, que deverá ser um número inteiro positivo maior que zero. Este identificador é sinalizado, como visto acima, com o caractere #, e suporta o máximo de 9 dígitos, ou seja, quase 1 bilhão de entidades.

Este identificador servirá de referência ao longo do arquivo. Por exemplo, temos uma entidade que representa o material de construção Tijolo, e seu ID é #1, quando a entidade parede alvenaria for declarada, o atributo referente ao material do núcleo pode ser configurado para #1, reduzindo assim o tamanho final do arquivo (e também o consumo de memória após a leitura pelo interpretador).

Parte II – Nome da Entidade:
Após o identificador, temos expresso o nome da entidade, representado todo em letras maiúsculas,

Todas entidades iniciam-se pelo prefixo IFC, justaposto ao seu nome, de acordo com o esquema EXPRESS.

Parte III – Atributos.
Como visto acima, os atributos estão contidos dentro de parênteses, e eles aparecem logo após o nome da entidade. Cada atributo pode conter um ou mais valores, seguindo as regras da simbologia acima.

  • Introdução ao IFC

    A importância da Informação em BIM Os Arquitetos e projetistas precisam mudar a mentalidad…
  • O que é o IFC, o principal ingrediente do openBIM?

    O nascimento do formato IFC Em 1996, 11 parceiros criaram a IAI (International Alliance of…
Carregar mais artigos relacionados
Load More In Artigos
Comments are closed.

Leia também

Como o Bimsync está trabalhando remotamente?

Escrito por Leonardo Cunha, CTO da Catenda Aqui na Catenda, usamos o Bimsync como nossa fe…