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.

Carregar mais artigos relacionados
Load More In Artigos
Comments are closed.

Leia também

Uma experiência de ensino do planejamento e gestão de projeto colaborativo em BIM para um hospital Covid

Apresentação da experiência no evento BIM SC de 22 outubro de 2020   Trabalhos dos gr…