Os pontos de atração são ótimos para experimentar padrões geométricos. Eles podem ser usados para criar alterações graduais em objetos com base em sua distância.
Este fluxo de trabalho ensinará a:
Criar, gerenciar e editar listas.
Mover pontos na visualização 3D usando manipulação direta.
Alterar o modo de execução.
Neste exercício, queremos criar um círculo (Objetivo) no qual a entrada de raio é definida por uma distância a um ponto próximo (Relação).
Um ponto que define uma relação com base na distância é normalmente denominado “Atração”. Aqui, a distância para o nosso Ponto de atração será usada para especificar o tamanho do círculo.
Faça o download do arquivo de exemplo clicando no link abaixo.
É possível encontrar uma lista completa de arquivos de exemplo no Apêndice.
Agora que temos nossos objetivos e relações desenhados, podemos começar a criar nosso gráfico. Precisamos dos nós que representarão a sequência de ações que o Dynamo executará. Vamos começar adicionando os seguintes nós: Número, Controle deslizante de números, Point.ByCoordinates, Geometry.DistanceTo, Circle.ByCenterPointRadius.
Entrada > Básico > Número
Entrada > Básico > Controle deslizante de números
Geometria > Pontos > Ponto > Por coordenadas(x,y,z)
Geometria > Modificadores > Geometria > DistanceTo
Geometria > Curvas > Círculo > ByCenterPointRadius
Agora que temos alguns nós, precisamos conectar as Portas dos Nós com Fios. Essas conexões definirão o fluxo de dados.
Número para Point.ByCoordinates
Controles deslizante de números para Point.ByCoordinates
Point.ByCoordinates (2) para DistanceTo
Point.ByCoordinates e DistanceTo para Circle.ByCenterPointRadius
Com o fluxo do programa definido, tudo o que precisamos fazer é informar ao Dynamo para executá-lo. Quando o nosso programa for executado (automaticamente ou ao clicar em Executar no modo manual), os dados passarão pelos fios e veremos os resultados na Visualização 3D.
(Clique em Executar): se a barra de execução estiver no Modo manual, será necessário clicar em Executar para executar o gráfico
Visualização do nó: passar o mouse sobre a caixa no canto inferior direito de um nó irá fornecer um pop-up dos resultados
Visualização 3D: se algum de nossos nós criar a geometria, veremos na Visualização 3D.
A geometria de saída no nó de criação.
Se o nosso programa estiver funcionando, deveremos ver um círculo na Visualização 3D que passa pelo nosso Ponto de atração. Isto é ótimo, mas podemos adicionar mais detalhes ou mais controles. Vamos ajustar a entrada para o Nó do círculo para que possamos calibrar a influência no raio. Adicione outro Controle deslizante de números ao espaço de trabalho e, em seguida, clique duas vezes em uma área em branco do espaço de trabalho para adicionar um nó de Bloco de código. Edite o campo no Bloco de código, especificando X/Y
.
Bloco de código
DistanceTo e Controle deslizante de números para Bloco de código
Bloco de código para Circle.ByCenterPointRadius
Iniciar a complexidade simples e de construção é uma forma eficaz de desenvolver nosso programa de forma incremental. Uma vez que ele esteja trabalhando para um círculo, vamos aplicar a potência do programa a mais de um círculo. Em vez de um ponto central, se utilizarmos um eixo de pontos e acomodarmos a alteração na estrutura de dados resultante, nosso programa agora criará muitos círculos, cada um com um valor de raio exclusivo definido pela distância calibrada para o Ponto de atração.
Adicione um nó Sequência de números e substitua as entradas de Point.ByCoordinates: clique com o botão direito do mouse em Point.ByCoordinates e selecione Amarra > Referência cruzada
Adicione um nó Aplainar após Point.ByCoordinates. Para aplainar uma lista completamente, deixe a entrada
amt
com o padrão-1
A visualização 3D será atualizada com um eixo de círculos
Às vezes, a manipulação numérica não é a abordagem correta. Agora é possível mover e puxar manualmente a geometria de ponto ao navegar na visualização 3D em segundo plano. Também podemos controlar outra geometria que foi construída por um ponto. Por exemplo, Sphere.ByCenterPointRadius é capaz de realizar a Manipulação direta também. Podemos controlar a localização de um ponto com base em uma série de valores X, Y e Z com Point.ByCoordinates. No entanto, com a abordagem de Manipulação direta, é possível atualizar os valores dos controles deslizantes movendo manualmente o ponto no modo Navegação de visualização 3D. Isso oferece uma abordagem mais intuitiva para controlar um conjunto de valores discretos que identificam a localização de um ponto.
Para usar a Manipulação direta, selecione o painel do ponto a ser movido: as setas aparecerão sobre o ponto selecionado.
Alterne para o modo Navegação de visualização 3D.
Passe o mouse sobre o ponto. Serão exibidos os eixos X, Y e Z.
Clique e arraste a seta colorida para mover o eixo correspondente, e os valores do Controle deslizante de números serão atualizados em tempo real com o ponto movido manualmente.
Observe que, antes da Manipulação direta, somente um controle deslizante foi conectado ao componente Point.ByCoordinates. Quando movemos manualmente o ponto na direção X, o Dynamo gera automaticamente um novo Controle deslizante de números para a entrada X.
Esta seção apresenta fluxos de trabalho simples para começar a usar o Dynamo.
suggested exercise
Criar um vaso paramétrico é uma ótima maneira de começar a aprender a usar o Dynamo.
Este fluxo de trabalho ensinará o seguinte:
Usar os controles deslizantes de número para controlar as variáveis no projeto.
Criar e modificar elementos geométricos usando nós.
Visualizar os resultados do projeto em tempo real.
Antes de começar com o Dynamo, vamos projetar o nosso vaso de forma conceitual.
Digamos que vamos projetar um vaso de argila que leve em conta as práticas de fabricação usadas por ceramistas. Os ceramistas normalmente usam uma roda de cerâmica para fabricar vasos cilíndricos. Em seguida, aplicando pressão em várias alturas do vaso, eles podem alterar a forma do vaso e criar diferentes projetos.
Podemos usar uma metodologia semelhante para definir o nosso vaso. Vamos criar quatro círculos com diferentes alturas e raios e depois uma superfície elevando esses círculos.
Faça o download do arquivo de exemplo clicando no link abaixo.
É possível encontrar uma lista completa de arquivos de exemplo no Apêndice.
Precisamos dos nós que representarão a sequência de ações que o Dynamo executará. Como sabemos que estamos tentando criar um círculo, vamos começar localizando um nó que faz isso. Use o campo Pesquisar ou navegue através da Biblioteca para localizar o nó Circle.ByCenterPointRadius e adicione-o ao espaço de trabalho
Pesquisar > “Círculo...”
Selecione > “ByCenterPointRadius”
O nó aparece no espaço de trabalho
Vamos dar uma olhada mais detalhada nesse nó. No lado esquerdo, encontram-se as entradas do nó (centerPoint e raio) e, no lado direito, a saída do nó (Círculo). Observe que as saídas têm uma linha azul clara. Isso significa que a entrada tem um valor padrão. Para obter mais informações sobre a entrada, passe o cursor do mouse sobre seu nome. A entrada raio precisa de uma entrada dupla e tem um valor padrão de 1.
Vamos manter o valor padrão de centerPoint, mas adicionaremos um Controle deslizante de número para controlar o raio. Como fizemos com o nó Circle.ByCenterPointRadius, use a biblioteca para procurar o Controle deslizante de número e adicioná-lo ao gráfico.
Esse nó é um pouco diferente do nó anterior, pois contém um controle deslizante. É possível usar a interface para alterar o valor de saída do controle deslizante.
É possível configurar o controle deslizante usando o botão do menu suspenso à esquerda do nó. Vamos limitar o controle deslizante a um valor máximo de 15.
Vamos colocá-lo à esquerda do nó Circle.ByCenterPointRadius e conectar ambos os nós selecionando a saída Controle deslizante de número e conectando-a à entrada Raio.
Também vamos alterar o nome do controle deslizante de número para “Raio superior”, clicando duas vezes no nome do nó.
Vamos continuar adicionando alguns nós e conexões à nossa lógica para definir o vaso.
Vamos copiar esses nós quatro vezes para que os círculos definam nossa superfície. Altere os nomes do Controle deslizante de número, como mostrado abaixo.
Os círculos são criados por um ponto central e um raio
Falta um parâmetro-chave para o nosso vaso: a altura. Para controlar a altura do vaso, criamos outro controle deslizante de número. Também adicionamos um nó Bloco de código. Os blocos de código podem ajudar durante a adição de fragmentos de código personalizados ao nosso fluxo de trabalho. Usaremos o bloco de código para multiplicar o controle deslizante de altura por diferentes fatores, para que possamos posicionar nossos círculos ao longo da altura do vaso.
Em seguida, usamos um nó Geometry.Translate para inserir círculos na altura desejada. Como queremos distribuir nossos círculos ao longo do vaso, usamos blocos de código para multiplicar o parâmetro de altura por um fator.
2. Os círculos são convertidos (movidos) por uma variável no eixo z.
Para criar uma superfície usando o nó Surface.ByLoft, precisamos combinar todos os nossos círculos convertidos em uma lista. Usamos List.Create para combinar todos os nossos círculos em uma única lista e, por fim, geramos a saída dessa lista para o nó Surface.ByLoft para visualizar os resultados.
Também vamos desativar a visualização em outros nós para exibir somente a exibição Surface.ByLoft.
3. Uma superfície é criada elevando os círculos convertidos.
Nosso fluxo de trabalho está pronto. Agora podemos usar os Controles deslizantes de número que definimos em nosso script para criar diferentes projetos de vasos.