Diferenças entre edições de "Codificação usando entidades IFC"
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 | + | [[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] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[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).
Índice
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
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
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].
DATA – Dados do utilizador e da aplicação
DATA – Pontos cartesianos e direcções
DATA – Representação Geométrica
DATA – Elementos Arquitectónicos
DATA – Materiais e Propriedades
DATA – Modelo de Análise Estrutural
(under construction)
Keywords
BIM, IFC, Interoperability, Information management, Structures.
Referências Bibliográficas
- ↑ Gunter, C.A. Semantics of programming languages: structures and techniques: London (1992).
- ↑ 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,0 3,1 Nour, M. Construction Product Data and Building Information Models: VDM Publishing. (2008).
- ↑ 4,0 4,1 ISO. ISO 10303-21:2002. In Part 21: Implementation methods: Clear text encodind of the exchange structure. (2002).
- ↑ S. Pinho, “O Modelo IFC como agente de interoperabilidade: Aplicação ao domínio das estruturas,” Universidade do Porto - Faculdade de Engenharia, 2013.