Engenheiros amam eficiência, não há dúvida sobre isso. Quando notamos a repetição, normalmente buscamos um método para automação. Como um dos principais fornecedores de automação de engenharia, temos observado o desejo de criar processos cada vez mais eficientes como uma bola de neve ao longo dos anos.

Uma das ferramentas mais populares no mundo do design paramétrico é o Grasshopper 🦗 … Um Rhino3d 🦏 plugar – Sim, nomes de animais parecem ser um tema comum por aqui! Vemos isso como uma ferramenta geradora de modelo extremamente poderosa, é por isso que temos uma integração totalmente funcional com o Grasshopper através do SkyCiv – Plugin Grasshopper.

Rhino é um poderoso software de modelagem 3D que fornece uma API bem documentada para todas as suas entidades de modelagem. Grasshopper é uma linguagem de programação visual, significado, você pode soltar vários “componentes” na janela de visualização que tem uma tarefa específica. Você então alimenta a saída de um componente para outro componente. Em termos de programação, Os componentes do Grasshopper são funções. Existem centenas de componentes integrados para você começar, mas o melhor é que você pode criar o seu próprio usando Python, C #, VB, ou ainda mais simplesmente, uma combinação de componentes existentes.

Portanto, aperte o cinto e vamos criar o equivalente ao script "Hello World" dos engenheiros estruturais; um galpão de moldura de portal!

Vamos dividir isso em duas seções:

  1. Como criar a geometria de um galpão de moldura de portal usando o Grasshopper;
  2. Converter a geometria em uma estrutura SkyCiv para análise.

No final da fase 1, você terá um script paramétrico que gera a geometria básica de uma estrutura de portal que pode ser vista abaixo.

Grasshopper Rhino UI

Figura 1. Um script simples do Grasshopper para criar a geometria de um galpão de moldura de portal.

Tutorial



Primeiras coisas primeiro, dirija-se ao Página de download do Rhino3d e baixe e instale o pacote certo para o seu computador. No momento da escrita, estamos usando Rhino7.

Agora abra o Rhino e crie um novo projeto a partir do “modelos padrão” seção. Provavelmente também Objetos Grandes – pés ou Objetos Grandes – Metros, Vou trabalhar com medidores, mas isso não fará nenhuma diferença durante a primeira fase. Agora você deve ter uma janela de visualização dividida em 4 visões diferentes, se você preferir uma vista única, apenas clique em perspectiva.

Próximo, lançar o Grasshopper, pode ser encontrado no menu padrão ou digitando “Grasshopper” no campo de comando.

Gafanhoto aberto

Figura 2. Lançamento do gafanhoto.

Agora podemos começar a adicionar componentes à visualização Grasshopper. Isso pode ser feito de algumas maneiras, se você sabe o nome do componente, basta tocar na barra de espaço ou clicar duas vezes em qualquer lugar na visualização do Grasshopper, digite o nome, e aperte enter. alternativamente, você pode clicar em um componente no menu e, em seguida, clicar onde deseja colocá-lo.

Vamos por uma tangente rápida para nos familiarizarmos com a IU.

Comece adicionando um controle deslizante de número: barra de espaço → “controle deslizante de número” → inserir. Isso fará com que um controle deslizante caia na visualização com um limite inferior de “0”, um limite superior de “1”, e um tamanho de etapa de “0,001”. Você pode clicar duas vezes no controle deslizante para ajustar esses parâmetros, mas há uma maneira mais rápida! Barra de espaço → “0..30,00” → entrar. Isso criará um controle deslizante com um limite inferior de “0,00”, um limite superior de “30,00”, e um tamanho de etapa de “0,01” (porque usamos “30,00”). 0.00..30 alcançaria o mesmo resultado.

gafanhoto deslizante

Figura 3. Controle deslizante de gafanhoto.

Outra boa ferramenta é o Painel ferramenta, esta é essencialmente uma nota adesiva que exibirá o valor de saída de um componente. O atalho para o painel é uma aspa simples seguida pelo seu conteúdo. Então agora toque no barra de espaço → “→ entrar e você terá um painel. Arraste o nó de saída do seu controle deslizante de número e solte-o no nó de entrada do painel. Agora você verá o valor da atualização do controle deslizante no painel conforme o desliza!

Próximo, Adicione o Construir Ponto componente. Você verá um ponto aparecer na janela Rhino na origem do sistema de coordenadas. Conecte o valor do controle deslizante a uma ou mais das coordenadas do ponto (diretamente ou através do painel) e você poderá mover o ponto com o controle deslizante, incrível certo? Você pode desconectar os fios segurando Ctrl (ou Cmd) e redesenhando-os. Ao clicar em um componente no Grasshopper, como um ponto de construção, vai aparecer verde no Rhino.

Tente conectar dois pontos com uma linha; dica: dê uma olhada no Curva → Primitiva cardápio. Sem linha, isso é algo como o que você deve experimentar agora.

Criação de nós com gafanhoto

Figura 4. Plotando pontos em Rhino3d de Grasshopper.

Agora que você se familiarizou com o básico, vamos começar a criar o galpão! Referenciando figura 1, vamos trabalhar nosso caminho através de cada grupo definido pelos recipientes coloridos, começando com o grupo de cor violeta mais à esquerda.

Tolet

Normalmente é onde eu começaria com um script, é semelhante às suas declarações de variáveis ​​no topo do seu código. Pense em qual parâmetro você gostaria de usar e precisa, definir a geometria. Vá em frente e crie seus controles deslizantes, pratique o atalho!

  1. Largura do Edifício – a distância de coluna a coluna dos portais.
  2. Altura da beirada – A altura das colunas.
  3. Altura do cume – A altura a partir do solo para o cume.
  4. Etapa – A distância entre cada portal.
  5. Portais – O número de portais, note que este é um número inteiro: espaço → 1..20 → entrar.

Observação: Se você gostaria de organizar o script (altamente recomendado), você pode arrastar e selecionar vários itens, em seguida, clique com o botão direito no espaço vazio e agrupe os itens. O componente que mostra "Controles" é chamado de Rabisco. Você pode clicar com o botão direito do mouse no grupo verde e personalizá-lo como quiser.

laranja

Nos grupos laranja, estamos calculando outras variáveis ​​que precisaremos com base na entrada. Este também é um bom momento para apresentar o Retransmissão. Clique duas vezes em um fio para adicionar um relé, eles são úteis para manter tudo organizado e permitir ramificações. Clique duas vezes no relé novamente para removê-lo.

O primeiro componente é o Expressão componente que nos permite conectar algumas variáveis, escreva uma expressão matemática e passe o resultado (R) Fora. Se você aumentar o zoom, uma e botão aparecerá para adicionar ou remover mais variáveis ​​para o componente. Este é o caso de muitos outros componentes também. Clique duas vezes no componente e digite x / 2 no campo de expressão. Agora temos a metade do vão que nos ajudará a traçar a linha de cume.

No segundo grupo laranja, estamos usando o Series componente para criar uma série de números que nos fornecerá uma coordenada Y para cada portal. As entradas para o componente da série são “começar” (S), “tamanho do passo” (N), e “contar” (C). Se não fornecermos S com uma entrada, o padrão será 0. Confirme isso movendo o mouse sobre o S. Conecte o controle deslizante de etapas a N e o controle deslizante de Portals a C. Acene sobre a saída da série ou apenas conecte-o ao painel confiável para ver os valores de saída. Agora temos uma série de posições Y, mas ... Grasshopper está interpretando esses valores simplesmente como números, não coordenadas Y. Converta esta matriz de números em vetores Y, enviando-os para um Unidade Y componente, barra de espaço → Y → entrar. Agora dê uma olhada na saída e você verá que os números foram processados ​​em coordenadas. Observe que o fio de saída do componente em série é mais grosso. Isso indica que existem vários valores na saída (uma matriz) não apenas um único valor.

Componente da série Grasshopper

Figura 5. Criação de uma série de coordenadas.

Azul

No grupo azul, estamos traçando os pontos que compõem o primeiro portal; cinco pontos por portal. Adicione cinco dos Construir Ponto componentes que usamos anteriormente e tente conectar as entradas corretas. Usar figura 1 para uma referência se você ficar preso. Você pode clicar com o botão direito do mouse no componente para atribuir a ele um rótulo. Você pode precisar desligar Desenhar ícones para exibir o nome do componente em vez do ícone. Isso pode ser encontrado no exibição cardápio (o menu de exibição da janela, não o menu de exibição do Grasshopper!).

Agora você deve ser capaz de usar os controles deslizantes para ajustar os nós do portal.

Cor de rosa

Você já deve ter percebido, existem milhões de maneiras de alcançar nosso objetivo e muitas que podem ser mais eficientes. O caminho que estamos tomando, Decidi que era uma boa opção, pois manterá os vários elementos geométricos em componentes separados e introduzirá algumas ferramentas diferentes para que não acabemos com um componente que produza um grande, bagunça confusa de itens.

No Mover componente. Este componente leva geometria (G) e movimento (T). É inteligente o suficiente para saber que se você fornecer vários movimento valores, deve iterá-los e aplicar cada um deles ao parâmetro de geometria. Conecte cada um de nossos pontos de portal acompanhados por nossa série de vetores Y e você verá vários portais em uma linha. Ajuste o controle deslizante de Passo e Portal para ver a mudança.

Observe como se você clicar em um de seus componentes de ponto na zona azul, você verá um ponto no Rhino, então clique no Mover componente que alimenta e você verá um ponto verde na mesma posição mais os outros. Isso é importante! Cada componente é não ajustando o componente anterior, em vez de, está criando uma duplicata, em seguida, ajustando essa duplicata. Agora temos nossas linhas de pontos, arraste e destaque todos os componentes do grupo azul, clique com o botão direito no espaço vazio, e selecione visualização desligada, não precisamos mais ver isso no Rhino. Estas opções também podem ser encontradas no menu redondo ao clicar com o botão do meio. Se você estiver usando um mouse mágico, poderá obter este menu com opção + barra de espaço.

Verde

Na seção verde, conectamos o cume e os pontos do beiral com um PolyLine. Isso levará uma lista ordenada de vértices (V) e traçar uma linha através deles. O outro parâmetro (C) indica se a linha deve fechar, ou seja, conecte o ponto final ao primeiro. Você pode conectar um Boolean Toggle nisso, no entanto, não vamos. As duas linhas que conectam as bases da coluna são provavelmente redundantes, então você pode deixá-las de fora.

Amarelo

Nesta secção, estamos criando as linhas de coluna e viga. Há um pouco de magia complexa usada aqui, então não seja muito duro consigo mesmo se você não entendeu da primeira vez.

Começando do fim, a PolyLine componente precisa de uma lista ordenada de pontos para conectar. Para a primeira coluna, temos uma fileira de pontos ao longo do solo e uma fileira de pontos ao longo do beiral. Precisamos manipular esses dados em grupos de dois pontos, o ponto inicial de cada coluna, e ponto final. Podemos usar o Unir componente para reunir essas duas linhas de pontos, então alimente as duas linhas no Unir componente e, em seguida, no PolyLine componente, você notará que uma forma Z é criada. Isso ocorre porque naturalmente, a Unir componente irá apenas combinar as duas listas em uma, lista maior. Acene sobre o Unir entrada e você verá algo como “Dados 1 como Árvore”, isso significa que precisamos converter nossa matriz de pontos em uma árvore antes de executar a fusão. Clique com o botão direito em D1 e D2 no Unir componente e clique em “Enxerto” para cada, uma ⬆️ aparecerá próximo a cada entrada. Agora as colunas parecem boas ... mas por quê? Conecte o Unir saída em um painel e, em seguida, observe a diferença conforme você liga e desliga o enxerto.

Árvore de dados do gafanhoto

Figura 6. Dados da árvore mesclada.

Sem mergulhar muito fundo, “enxerto” pegará uma lista de itens e os colocará em seus próprios grupos, cada grupo poderia conter uma lista. Então, quando tentamos fundir duas árvores, cada um dos quais contém a mesma quantidade de grupos, irá fundir grupos com o mesmo índice.

Vá em frente e conecte a coluna e as vigas. aqui, olá galpão!

Pensamentos finais

Agora vimos como o Grasshopper é amigável e extraordinariamente poderoso. Com um pouco de prática, você será capaz de criar um script como este em meia hora. Imagine as possibilidades se você alocar alguns recursos decentes. Cuidado com a parte 2 onde vamos usar o Plug-in SkyCiv Grasshopper para executar uma análise estrutural no galpão.