Diferenças entre edições de "Codificação usando entidades IFC"

Da wiki WIQI GEQUALTEC
Ir para: navegação, pesquisa
Linha 22: Linha 22:
 
=== HEADER ===
 
=== HEADER ===
 
A secção HEADER tem uma estrutura fixa, podendo ser constituída por 6 grupos, sendo que todas as estruturas de troca devem conter os grupos “FILE_DESCRIPTION”, “FILE_NAME”, “FILE_SCHEMA” e devem aparecer na ordem pela qual serão abaixo descritos. Instâncias dos grupos “FILE_POPULATION”, “SECTION_LANGUAGE” e “SECTION_CONTEXT” podem aparecer depois do “FILE_SCHEMA” apenas em arquivos de segunda edição. Nesta secção todos os campos podem incluir strings vazias, excepto o grupo “FILE_SCHEMA” e os dados no campo “time_stamp” que está incluído no grupo "FILE_NAME” <ref name ="ISO"> ISO.  ISO 10303-21:2002. In Part 21: Implementation methods: Clear text encodind of the exchange structure. (2002).</ref>.
 
A secção HEADER tem uma estrutura fixa, podendo ser constituída por 6 grupos, sendo que todas as estruturas de troca devem conter os grupos “FILE_DESCRIPTION”, “FILE_NAME”, “FILE_SCHEMA” e devem aparecer na ordem pela qual serão abaixo descritos. Instâncias dos grupos “FILE_POPULATION”, “SECTION_LANGUAGE” e “SECTION_CONTEXT” podem aparecer depois do “FILE_SCHEMA” apenas em arquivos de segunda edição. Nesta secção todos os campos podem incluir strings vazias, excepto o grupo “FILE_SCHEMA” e os dados no campo “time_stamp” que está incluído no grupo "FILE_NAME” <ref name ="ISO"> ISO.  ISO 10303-21:2002. In Part 21: Implementation methods: Clear text encodind of the exchange structure. (2002).</ref>.
 +
 +
'''FILE_DESCRIPTION''' - atribui informação acerca da definição de visualização base e também o nível de implementação, que identifica a especificação com a qual a codificação na estrutura de troca conforma (correntemente “2,1” para todos os ficheiros IFC, para mais informações recomenda-se a consulta da ISO 10303-21).
 +
 +
'''FILE_NAME''' - regista o nome do ficheiro IFC (podendo corresponder ao nome do arquivo num sistema de arquivos ou retractar os dados nesse arquivo), a data de criação do ficheiro (o tempo é definido no formato internacional segundo a ISO 8601), o nome do autor e organização a que pertence, a aplicação na qual o ficheiro foi criado e autorização (nome e endereço da pessoa que autorizou o arquivo).
 +
 +
'''FILE_SCHEMA''' – Especifica um esquema EXPRESS ou vários no caso de arquivos de segunda edição. Um esquema é um modelo de dados legível por um sistema informático, que descreve conjuntos de tipos de dados e suas relações.
 +
 +
'''FILE_POPULATION''' – Indica uma população válida (conjunto de instâncias de entidade) em conformidade com o esquema EXPRESS. Isto é feito através de recolha de dados a partir de várias secções de dados.
 +
 +
'''SECTION_LANGUAGE''' – Identifica a linguagem predefinida para os valores das strings na secção dos dados. O nome da linguagem deve aparecer codificado segundo a norma ISO 639, no campo de atributo default_language. Isto é necessário para os esquemas EXPRESS que não possuem a capacidade de especificar em que língua estão definidas as entidades e os seus atributos.
 +
 +
'''SECTION_CONTEXT''' – Identifica informações que descrevem os contextos nos quais são aplicáveis as instâncias codificadas na estrutura de troca.
 +
  
 
=== DATA ===
 
=== DATA ===
Linha 40: Linha 53:
 
[[Codificação usando entidades IFC: Exemplo 1|Simbologia Usada]]
 
[[Codificação usando entidades IFC: Exemplo 1|Simbologia Usada]]
  
[[Codificação usando entidades IFC: Exemplo 2|Exemplo 2]]
+
[[Codificação usando entidades IFC: Exemplo 2|HEADER]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 3|DATA – Dados do utilizador e da aplicação]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 4|DATA – Pontos cartesianos e direcções]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 5|DATA – Unidades]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 6|DATA – Projecto]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 7|DATA – Representação Geométrica]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 8|DATA – Elementos Estruturais]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 9|DATA – Elementos Arquitectónicos]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 10|DATA – Materiais e Propriedades]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 11|DATA – Modelo de Análise Estrutural]]
 +
 
 +
[[Codificação usando entidades IFC: Exemplo 12|DATA – Cargas Estruturais]]
 +
 
  
 
(under construction)
 
(under construction)
 
  
  
Linha 63: Linha 96:
 
== Ligações externas ==
 
== Ligações externas ==
  
 +
* [http://www.buildingsmart-tech.org/ifc/IFC4/final/html/annex/annex-b/alphabeticalorder_entities.htm Lista de Entidades IFC - buildingSMART]
 
* [http://www.slideshare.net/sparoes/apresentao-dissertao-srgio-pinho-o-modelo-ifc-como-agente-de-interoperabilidade Apresentação da tese no Slideshare]
 
* [http://www.slideshare.net/sparoes/apresentao-dissertao-srgio-pinho-o-modelo-ifc-como-agente-de-interoperabilidade Apresentação da tese no Slideshare]
 
* [http://www.joaorio.com/2013/ifc-interoperabilidade-bim-estruturas/ Post no sítio do João Rio]
 
* [http://www.joaorio.com/2013/ifc-interoperabilidade-bim-estruturas/ Post no sítio do João Rio]
* [http://www.buildingsmart-tech.org/ifc/IFC4/final/html/annex/annex-b/alphabeticalorder_entities.htm Lista de Entidades IFC - buildingSMART]
 
  
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
 
[[Categoria:BIM]]
 
[[Categoria:BIM]]
 
[[Categoria:IFC]]
 
[[Categoria:IFC]]

Revisão das 13h58min de 23 de outubro de 2013

O recurso à codificação usando Industry Foundation Classes (IFC) poderá constituir um importante meio para a melhoria das condições de interoperabilidade, permitindo também a automação de sistemas entre outras aplicações. O formato IFC usa um arquivo de texto simples, já que este formato é o único formato de dados digital verdadeiramente universal, dando origem a ficheiros com a extensão “*.txt”, “*.ifc” ou “*.ifcXML”

Quando se trabalha directamente com o esquema EXPRESS numa ferramenta de edição de texto, é inevitável falar-se em entidades (ou classes), pois no domínio IFC são as entidades que definem os comandos e acções capazes de criar informação que capta e descreve a indústria AEC/FM (Architecture, Engineering and Construction /Facility Management).



Descrição Semântica de IFC

Enquanto linguagem, o IFC usa um conjunto de expressões formadas de acordo com um conjunto de regras, o que define a gramática. Conhecendo-se os requisitos gramaticais, o conjunto de regras é inesgotável, permitindo que a partir do conceito teórico uma linguagem tenha a sua própria composição e definição estrutural pelo arranjo dos seus componentes, formando uma sequência de informação inteligível. No domínio da linguagem de programação, a descrição de como a linguagem é composta e quais são os seus constituintes é definida pela sua sintaxe e semântica, isto é, pelas regras de construção de frases e seu significado, que devem ser especificadas com precisão. A sintaxe é vista como uma compilação livre de contexto, sendo a semântica incumbida de optimizar o código e fazer a verificação dos tipos. A semântica de uma linguagem de programação e o seu mapeamento é compilada pelo Homem, criando o que se designa muitas vezes por linguagem de código (ou apenas código), cuja finalidade é a execução computacional, com especial vocação para a repetição e sistematização de acções [1].

No caso da linguagem utilizada pelo padrão IFC, o desenvolvimento e manutenção fica a cargo do “Model Support Group” (MSG), grupo implementado pela BuildingSMART. Para que uma linguagem permita a comunicação entre o emissor e o receptor, ambos devem comunicar da mesma forma, na medida em que o receptor seja capaz de reproduzir com exactidão as informações que lhe foram emitidas. Aplicando estes conceitos ao caso de estudo em causa, poder-se-á dizer que quando o emissor e o receptor não comunicam na mesma linguagem, o IFC funciona como tradutor, permitindo um entendimento entre a fonte e o destino. Esta é a finalidade que fomenta o IFC, a possibilidade de troca de informação por meio de uma linguagem comum [2].


Estrutura Interna de um Ficheiro IFC

Estrutura tipo de um ficheiro STEP [3]

Na codificação de um ficheiro IFC em formato de texto, a primeira linha e última linha de todos os arquivos IFC devem identificar a norma ISO 10303 cujo objectivo é estabelecer procedimentos e linguagem padrão para representação, interpretação e troca de informação, sendo que a primeira linha deve conter a referência “ISO-10303-21” e a última a referência “END-ISO-10303-21”. Esta referência evidência o formato de um arquivo STEP definido segundo a ISO 10303-21:2002, onde o formato de troca de dados STEP mais utilizado é o STEP-File, que devido à sua estrutura ASCII é fácil de ler com tipicamente uma instância por linha. Denote-se ainda que a ISO 10303-21 define o mecanismo de codificação na forma de representar os dados de acordo com um determinado esquema EXPRESS, padrão de linguagem para modelação de dados, baseando-se no EXPRESS mas constituindo uma variante [4].

O corpo de um arquivo que segue esta norma é dividido em duas secções, a secção “HEADER” e a secção “DATA”. Para se dar como concluída cada uma destas secções é usada uma string com o comando “ENDSEC;”.

HEADER

A secção HEADER tem uma estrutura fixa, podendo ser constituída por 6 grupos, sendo que todas as estruturas de troca devem conter os grupos “FILE_DESCRIPTION”, “FILE_NAME”, “FILE_SCHEMA” e devem aparecer na ordem pela qual serão abaixo descritos. Instâncias dos grupos “FILE_POPULATION”, “SECTION_LANGUAGE” e “SECTION_CONTEXT” podem aparecer depois do “FILE_SCHEMA” apenas em arquivos de segunda edição. Nesta secção todos os campos podem incluir strings vazias, excepto o grupo “FILE_SCHEMA” e os dados no campo “time_stamp” que está incluído no grupo "FILE_NAME” [4].

FILE_DESCRIPTION - atribui informação acerca da definição de visualização base e também o nível de implementação, que identifica a especificação com a qual a codificação na estrutura de troca conforma (correntemente “2,1” para todos os ficheiros IFC, para mais informações recomenda-se a consulta da ISO 10303-21).

FILE_NAME - regista o nome do ficheiro IFC (podendo corresponder ao nome do arquivo num sistema de arquivos ou retractar os dados nesse arquivo), a data de criação do ficheiro (o tempo é definido no formato internacional segundo a ISO 8601), o nome do autor e organização a que pertence, a aplicação na qual o ficheiro foi criado e autorização (nome e endereço da pessoa que autorizou o arquivo).

FILE_SCHEMA – Especifica um esquema EXPRESS ou vários no caso de arquivos de segunda edição. Um esquema é um modelo de dados legível por um sistema informático, que descreve conjuntos de tipos de dados e suas relações.

FILE_POPULATION – Indica uma população válida (conjunto de instâncias de entidade) em conformidade com o esquema EXPRESS. Isto é feito através de recolha de dados a partir de várias secções de dados.

SECTION_LANGUAGE – Identifica a linguagem predefinida para os valores das strings na secção dos dados. O nome da linguagem deve aparecer codificado segundo a norma ISO 639, no campo de atributo default_language. Isto é necessário para os esquemas EXPRESS que não possuem a capacidade de especificar em que língua estão definidas as entidades e os seus atributos.

SECTION_CONTEXT – Identifica informações que descrevem os contextos nos quais são aplicáveis as instâncias codificadas na estrutura de troca.


DATA

A secção DATA contém dados de aplicativos de acordo com um esquema EXPRESS específico, é nesta secção que as entidades são atribuídas ao ficheiro IFC. A sequência pela qual as entidades aparecem descriminadas na construção de um dado texto em código não corresponde obrigatoriamente à ordem pela qual serão identificadas pelo programa destino, isto significa que, em duas linhas de código consecutivas, a segunda string não tem necessariamente que depender ou ter alguma relação com a primeira. O IFC é um sistema de digitação solto que fornece múltiplos caminhos para introdução de objectos e não segue uma orientação específica, permitindo a criação de vários encadeamentos lógicos, dando assim grande flexibilidade e suporte a múltiplas representações


Definição de Entidade

Entidade (ou classe) define um conjunto de informação definida por atributos e restrições. Uma entidade tem uma estrutura bastante própria. É reconhecida no ficheiro IFC pelo seu identificador único que deve ser um número inteiro positivo (> 0), na forma “#número”. A finalidade e função dessa entidade é identificada pelo seu nome, que é representado por letras maiúsculas no código IFC. Repare-se que o nome dessa entidade é apenas válido dentro desse ficheiro IFC, pois se o conteúdo deste for exportado para um novo sistema, mesmo que não se efectuem quaisquer alterações, ao voltar-se a exportar o ficheiro para o IFC a partir desse sistema, verifica-se que o código do ficheiro é alterado, ou seja, há uma alteração e modificação das entidades para as mesmas instâncias. O nome da instância é usado também para referenciar outras entidades através de valores atribuídos ou membros agregados (atributo inverso), sendo que a instância referenciada poderá ser definida antes ou depois da instância onde é referida. Por fim as definições de atributos atribuem características à entidade IFC em causa. Os valores e definições desses atributos variam de entidade para entidade, pois definem parâmetros próprios para cada uma das diferentes entidades. Como já foi referido, esses parâmetros são definidos a priori pelo MSG (Model Support Group). Uma lista completa das entidades existentes, com links individuais que fazem a respectiva ligação à página que especifica a função, construção e relações de cada entidade pode ser encontrada em: buildingSMART Entities

Organização de uma entidade.png [3]


Exemplos Práticos

Nota: Os conteúdos apresentados são reforçados com base em exemplo práticos, para informações mais especificas deve ser consultada a seguinte referência bibliográfica: [5].


Simbologia Usada

HEADER

DATA – Dados do utilizador e da aplicação

DATA – Pontos cartesianos e direcções

DATA – Unidades

DATA – Projecto

DATA – Representação Geométrica

DATA – Elementos Estruturais

DATA – Elementos Arquitectónicos

DATA – Materiais e Propriedades

DATA – Modelo de Análise Estrutural

DATA – Cargas Estruturais


(under construction)


Keywords

BIM, IFC, Interoperability, Information management, Structures.

Referências Bibliográficas

  1. Gunter, C.A. Semantics of programming languages: structures and techniques: London (1992).
  2. Pazlar, Tomaz, and Ziga Turk. "Interoperability in practice: Geometric data exchange using the IFC standard." Electronic Journal of Information Technology in Construction no. 13:362-380. (2008).
  3. 3,0 3,1 Nour, M. Construction Product Data and Building Information Models: VDM Publishing. (2008).
  4. 4,0 4,1 ISO. ISO 10303-21:2002. In Part 21: Implementation methods: Clear text encodind of the exchange structure. (2002).
  5. S. Pinho, “O Modelo IFC como agente de interoperabilidade: Aplicação ao domínio das estruturas,” Universidade do Porto - Faculdade de Engenharia, 2013.

Ligações internas

Ligações externas