Apresentação
Teve lugar na FEUP, no passado dia 10 de Julho de 2014, a apresentação do trabalho de tese de mestrado do João Pedro Sá com o título “Modelação de Estruturas em BIM – Desenvolvimento de uma ferramenta para medição automática”, e cujo o objectivo principal foi o desenvolvimento de um Serviço WEB IFC . O arguente foi o Prof. Hipólito Sousa, o Presidente do Júri foi o Prof. Abel Henriques, e os orientadores foram o Prof. João Poças Martins e eu João Rio.
O trabalho do João Pedro Sá vêm no seguimento do trabalho de compreensão da linguagem IFC em geral , e das estruturas em particular, iniciado por Bruno Ferreira e continuado por Sérgio Pinho.
Trabalho
O João Pedro foi capaz de aprender e interpretar a estrutura da informação estrutural de um modela na linguagem IFC e a partir dai programou um software capaz de ler um modelo IFC a partir de um ficheiro disponibilizado na internet, e desse modelo obter e devolver as medições parciais e totais dos elementos estruturais. Este programa foi montado na plataforma OpenG académica baseada na FEUP, desenvolvida pelo Prof. Miguel Castro e por mim, João Rio, mantido por Rui Barros, e a partir dai passou a funcionar como um Serviço WEB IFC, ou web service, cuja API está explicada com mais detalhe na tese e na própria apresentação. Resumindo, o web service desenvolvido permite obter medições de estruturas de modelos BIM em IFC sob a forma de conteúdo XML que pode ser depois lido em várias plataformas, por exemplo no Excel (2013), ou outras como Matlab, Python, Google Spreadsheets, etc.
WEB SERVICE API
Tomemos por exemplo o modelo simples BIM em IFC. Usando o serviço web, WS, do tipo REST, em que o endereço define o próprio pedido. Neste caso foram contempladas 2 tipos de pedido “filtered” e “global”, cada um com o seu endereço especifico:
e somando um único parâmetro, que é o endereço web do ficheiro que contém o modelo, por exemplo: https://www.dropbox.com/s/ufpjgt5fhdkz7kp/milimetrostekla.ifc?dl=1, é construído um pedido:
- http://openg.fe.up.pt/api/ifc/
filtered?address=https://www. dropbox.com/s/ufpjgt5fhdkz7kp/ milimetrostekla.ifc?dl=1 ou - http://openg.fe.up.pt/api/ifc/
global?address=https://www. dropbox.com/s/ufpjgt5fhdkz7kp/ milimetrostekla.ifc?dl=1
que devolvem um resultado em formato XML. O serviço para pedidos “filtered” foi devolvido de forma a devolver um resultado com formato XML cujo conteúdo pode ser filtrado sendo possível obter medições detalhadas do modelo como por exemplo as quantidades por material, por tipo de elemento estrutural ou para cada um dos elementos estruturais.
Ou então, usando ferramentas mais correntes para o engenheiro civil como o EXCEL 2013, utilizando a função WEBSERVICE (link1, link2) do EXCEL 2013 seguida da função FILTERXML. Por exemplo fazendo o pedido =WEBSERVICE(“http://openg.fe.up.pt/api/ifc/filtered?address=https://www.dropbox.com/s/ufpjgt5fhdkz7kp/milimetrostekla.ifc?dl=1″) na célula C8 obtém o resultado XML completo. Se depois quiser procurar um valor especifico das medições, por exemplo o volume da viga Beam1, então pode, noutra célula escrever =FILTERXML(C8;”result/body/properties/beam1/volume”) e obterá esse valor.
Se for feito um pedido ao serviço “global”, então são devolvidos os resultados igualmente em formato XML mas de forma a que possam ser montados numa tabela do EXCEL de forma automática, seguindo os 3 passos indicados na figura em baixo: