Por que arquitetura paramétrica? – Parte 2

Em continuidade ao artigo passado intitulado “Por que arquitetura paramétrica?”, o Dynamo é abordado rapidamente neste texto. Esta ferramenta de programação visual open-source permite criar algoritmos de uma forma interativa e diretamente aplicada ao Building Information Modeling. Você pode ler mais sobre o Dynamo e sua associação com o Revit clicando aqui .

Um módulo genérico pré-fabricado composto por paredes, pilares e vigas foi separado para exemplificar alguns comandos básicos, mas que podem abrir caminhos para automação de processos futuramente. O código apresenta como criar paredes de drywall no perímetro, dispor os pilares segundo regras, vigas de bordas no piso e no topo e, por último, como acrescentar as vigas internas somente se o vão interno for maior que uma determinada medida.

Com o objetivo de resolver um problema complexo, um código sempre é subdividido em  partes menores que podem ser estudadas separadamente. Do mesmo modo, sua lógica de construção parte de onde se quer chegar e quais as informações necessárias para os resultados esperados. Assim, neste exemplo, o código foi separado por partes e, em cada uma delas, sinta-se à vontade para “ler as imagens” dos códigos do início para o fim ou ao contrário.

10
Código completo para criação do módulo pré-fabricado

1. Paredes

 

O código foi iniciado inserindo o Wall.ByCurveAndHeight que permite o desenho a partir de uma curva. Neste caso, um retângulo foi construído como referência a partir de integer sliders para a largura e para o comprimento. Antes de conectá-lo como referência para o desenho da parede, é necessário explodi-la em quatro curvas distintas.  O nó usado para a modelagem de uma parede pede também a entrada da altura, o nível associado e o tipo de parede. Especificamente para a altura foi acrescentado um nó de soma para corrigir as alturas das paredes segundo as alturas das vigas usadas posteriormente.

01

2. Pilares

Para a colocação dos pilares, fez-se necessário o desenho de uma curva de referência na qual foram dispostos pontos para as bases dos pilares. Para tanto, este trecho do código foi iniciado por meio de um offset com um valor equivalente a metade da largura do pilar mais a metade da espessura da parede. Em seguida, essa curva foi explodida em quatro segmentos com o Geometry.Explode e depois subdividida por meio de uma regra de porcentagem segundo cada comprimento de segmento de curva por meio do nó Curve.SplitByParameter. Para cada curva, foi extraído um ponto no seu final, sendo essa lista de pontos transladada para baixo (-z) na mesma medida da altura da viga. Garantiu-se, assim, que as vigas da base do módulo chegariam na lateral do pilar. Por fim, linhas para o eixo dos pilares foram criadas a partir dos pontos. O trecho é finalizado com o nó StructuralFraming.ColumnByCurve.

02.PNG

3. Vigas

A curva base utilizada para a colocação dos pilares foi movida para cima (z) segundo o valor do integer slider da altura (aquele mesmo utilizado nas paredes). A curva foi explodida permitindo que os novos segmentos se tornem referências para as vigas nas bordas superiores. Para as vigas no piso, por sua vez, foram utilizadas as mesmas curvas de referência para os pilares.

03

4. Condicional para as vigas internas

Uma condicional foi estabelecida para as vigas internas na cobertura: elas só existiriam se a medida lateral fosse maior que 7m. Para tanto, o comprimento das quatro curvas foi obtido formando uma única lista. Em seguida, o comprimento da curva em questão foi extraído com o nó List.FirstItem e, por último, foi retornado uma condição “verdadeiro” se o comprimento é maior que 7 e falso se é menor por meio do nó de maior ou igual,. Esse recurso permite que a parte seguinte do código “ligue” ou “desligue” segundo uma condicional.

04

5. Vigas internas

Inicialmente, a curva de referência dos pilares foi usada como ponto de partida. Foram separadas as curvas de maior comprimento por meio do List.Slice. Essas curvas foram movidas para as posições corretas e os pontos iniciais e finais foram obtidos para linhas que seriam as curvas de referência das vigas. Para classificar os pontos desta maneira, a lista foi novamente dividida usando o List.Slice e o List.GetItemAtIndex.

05

Partindo dos pontos separados em duas listas foi possível utilizá-los como pontos iniciais e finais de uma curva de referência. Por fim, a condicional explicada anteriormente é inserida. Assim, as vigas são modeladas se o vão for maior que 7m.

06

Considerações finais

O código apresentado exemplifica o potencial da associação de parâmetros, sejam eles inputs do usuário sejam valores obtidos ao longo algoritmo. Retrabalhos são evitados cruzando informações de diferentes categorias. Do mesmo modo, condicionais podem ser criadas automatizando processos que seriam feitos manualmente.

Uma rápida extração de desenhos e quantitativos para infinitas possibilidades são potencializadas com a integração do BIM com o processo algorítmico. As aplicações são diversas. Elas podem ser tanto sobre modelagem (como o exemplo), workflow ou documentação. Um oceano de possibilidades.

verley_assinatura_wordpress

 

Um comentário em “Por que arquitetura paramétrica? – Parte 2

Adicione o seu

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: