Blog / BIM & Construction Management

Rhino & Grasshopper para alavancar os fluxos de trabalho BIM entre diferentes aplicações

A procura por soluções de projeto mais sustentáveis, diferenciadas e rentáveis têm fomentado o redesenho de fluxos de trabalho tradicionais, impulsionado por um número cada vez maior de software especializado – incluindo simulação, prototipagem e fabricação digital. Neste artigo, veremos como o Rhinoceros + Grasshopper podem fomentar a interoperabilidade entre aplicações e intervenientes, alavancando fluxos de trabalho com BIM mais abrangentes e diversificados.

A indústria AEC (Arquitectura, Engenharia e Construção) é sinónimo de interdisciplinaridade, onde várias áreas do conhecimento e domínio técnico cooperam e conciliam esforços para concretizar um objectivo comum.

Tal implica métodos de trabalho distintos focados em aspectos complementares de um projecto, com equipas das várias áreas a recorrer a técnicas e ferramentas distintas e altamente especializadas (o que se reflecte no uso de software diferente). Recentemente, temos assistido à integração de mecanismos de sincronização de conteúdos entre aplicações, com um software a disponibilizar plugins ou add-ons para outras aplicações que facilitam e “homogenizam” a comunicação de dados entre estas e o software inicial.

O Twinmotion  é um exemplo, fornecendo plugins específicos para várias aplicações (Rhino, Revit, Archicad, etc.) que permitem a sincronização de modelos (e tipos de materiais associados) entre estas aplicações de autoria CAD/BIM e este software de renderização em tempo real de forma imediata, evitando problemas de importação/exportação e permitindo que alterações aos modelos sejam reflectidas de forma imediata no software de visualização. Este tipo de integração facilita e potencia fluxos de trabalho específicos, permitindo a realização de acertos e modificações de forma mais célere e com menos erros.

Neste artigo veremos como o Rhino, agora na versão 7, pode ser usado extensiva e criativamente para conciliar e potenciar fluxos de trabalho complementares, respeitantes a domínios técnicos diferentes da indústria AEC. O Rhino 3D necessita de poucas apresentações: é um software de modelação 3D de elevada precisão, adorado em áreas tão distintas como a engenharia naval, design de produtos, arquitetura, fabricação digital, etc. Uma das suas maiores vantagens tem sido a abertura à comunidade de utilizadores, incentivando e apoiando o desenvolvimento de plugins e add-ons (a maior parte gratuitos) que foram aumentando largamente o espectro de funcionalidades disponíveis nas diversas áreas, que são distribuídos através da plataforma Food4Rhino (Figura  1). 

Rhino Grasshopper

Figura 1 - A plataforma food4Rhino contém mais de 670 add-ons para o Rhino e Grasshopper, a maioria gratuitos. O desenvolvimento da plataforma de programação visual Grasshopper (parte integrante do Rhino desde a versão 6), veio facilitar a automatização de procedimentos, geração e parametrização de conteúdos através da conexão de componentes pelos utilizadores. Note-se que tanto o Rhino e o Grasshopper permitem (e encorajam) o recurso à programação textual/scripting para criar novos plugins/componentes, seja em C#, VB script e/ou Python (IronPython, para ser mais preciso).

Nativamente o Rhino já facilitava a interoperabilidade entre aplicações, uma vez que é capaz de importar conteúdos provenientes de um número elevado de aplicações e exportar para um número ainda maior de formatos (Figura  2), sendo por vezes utilizado como ferramenta de conversão de ficheiros entre aplicações.

Rhino Grasshopper

Figura 2 - Formatos disponíveis para importação e exportação no Rhino 7 (créditos da imagem: autor)

Rhino Grasshopper

Figura 3 - Exemplo de integração de informação SIG num fluxo de trabalho em Rhino (créditos da imagem: autor) O desenvolvimento recente da tecnologia Rhino.Inside amplifica de forma dramática a inclusão do Rhino e Grasshopper em fluxos de trabalho correntes. Esta tecnologia foi introduzida com a versão WIP (work in progress) do Rhino 7 e permite que o Rhino e o Grasshopper corram directamente dentro da aplicação “host” (Figura  4), sendo o caso mais paradigmático o Rhino.Inside Revit. Isso permite tirar partido total das potencialidades do Rhino (e seus add-ons) bem como o desenvolviemento de algoritmos e procedimentos com acesso directo às funcionalidades do Revit (por exemplo), tornando acessível a utilização de add-ons de análise estrutural e/ou ambiental, tais como o Karamba 3D e o LadyBug Tools.

Rhino Grasshopper

Figura 4 - Implementação da tecnologia Rhino.Inside (créditos da imagem: autor) A Figura  5 ilustra um fluxo de trabalho possível tirando partido da tecnologia Rhino.Inside Revit e de múltiplos add-ons disponíveis para: leitura de ficheiros SIG ou importação/escrita de dados SIG em bases de dados (usando o Slingshot), análise estrutural (Karamba 3D / Geometry Gym), integração directa com o Tekla Structures e Graphisoft Archicad, interface web para controlo paramétrico (ShapeDiver), modelação 3D em VR (Mindesk) e visualização em Realtime Rendering e VR (Twinmotion). Com os sistemas eficientemente interligados, as alreações realizadas numa aplicação podem ser facilmente sincronizadas com as restantes aplicações, sem necessidade de recorrer à exportação e importação de ficheiros.

Rhino Grasshopper

Figura 5 - Exemplo de fluxo de trabalho aumentado pela tecnologia Rhino.Inside e add-ons do Rhino+Grasshopper (créditos da imagem: autor) Além do uso directo do Rhino + Grasshopper com outras aplicações, seja usando o Rhino.Inside ou add-ons específicos para cada aplicação, como acontece com o Archicad e com o Tekla Structures, é também possível aproveitar os recursos geométricos e algorítmicos do Rhino e Grasshopper (mais add-ons) programaticamente e sem necessitar de instalar o Rhino! Para isso a McNeel disponibiliza a biblioteca Rhino3dm (opensource) para .NET, Cpython e JavaScript, permitindo a criação de aplicações e scripts capazes de ler e escrever ficheiros 3dm, além de fornecer acesso a algumas funcionalidades de criação e edição de geometrias, bem como manipulação de layers e outras funcionalidades. Para operações geométricas mais complexas, tais como operações booleanas ou conversão de geometrias para meshes, a McNeel criou um novo serviço baseado na nuvem que apresentam como “Geometry as a Service” – o Rhino Compute. Esta solução dá acesso aos SDK (Software Development Kit) do Rhino e Grasshopper através de uma API Rest, permitindo a execução de tarefas coputacionalmente exigentes de forma distribuída e online.

Rhino Grasshopper

Figura 6 - Rhino3dm e Rhino Compute (créditos da imagem: autor) Desta forma, o Rhino e o Grasshopper podem ser utilizados de forma quase transversal como plataforma de interligação e interoperabilidade entre diferentes disciplinas na AEC, além de facilitarem o acesso a ferramentas computacionais com capacidade para potenciar ou optimizar diferentes partes de um projecto – através de processos de simulação e (re)parametrização (costumizáveis). Podem ainda ser combinados e partilhados com diferentes intervenientes de um projecto através de plataformas online tais como a Hypar e a Spekle: a primeira permitindo a criação e partilha de sistemas de projecto através da combinação de (pequenos) algoritmos em Grasshopper, enquanto que a última funciona como uma ferramenta de partilha de dados e controlo de versões para a indústria AEC.  Seja como ferramenta de leitura e conversão de ficheiros, como infraestrutura de desenho e optimização computacional, como “cavalo de Tróia” geométrico e gerativo, seja como interface de sincronização e articulação entre aplicativos ou como kit de desenvolvimento para novas aplicações e serviços (distribuídos ou não) para a indústria AEC, o Rhino e o Grasshopper fornecem um vasto leque de alternativas e de fluxos de trabalho inovadores com o potencial para dinamizar a indústria. Referências:

  1. https://www.unrealengine.com/en-US/twinmotion/plugins

  2. https://www.rhino3d.com/

  3. https://www.food4rhino.com/

  4. https://www.grasshopper3d.com/

  5. https://www.rhino3d.com/features/rhino-inside/

  6. https://www.rhino3d.com/features/rhino-inside-revit/

  7. https://www.food4rhino.com/app/slingshot

  8. https://www.karamba3d.com/

  9. https://geometrygym.wordpress.com/

  10. https://teklastructures.support.tekla.com/not-version-specific/en/ext_grasshopperteklalink

  11. https://graphisoft.com/downloads/addons/interoperability/rhino

  12. https://www.shapediver.com/

  13. https://mindeskvr.com/rhino/

  14. https://www.rhino3d.com/features/rhino3dm/

  15. https://developer.rhino3d.com/guides/#compute

  16. https://hypar.io/

  17. https://speckle.systems/

  Autor: Rui de Klerk, Especialista em Design e Computação / Generative + Parametric BIM

Autor

Rui de Klerk

Product Developer na geoFluxus

Especialista em Design e Computação / Generative + Parametric BIM