Dynamo
Primer for v2.0
Português (Brasil)
Português (Brasil)
  • Sobre
  • Introdução
    • O que é o Dynamo e como ele funciona?
    • Guia do Usuário do Primer, Comunidade e plataforma do Dynamo
  • Configuração do Dynamo
  • Interface do usuário
    • Área de trabalho
    • Biblioteca
  • Nós e fios
  • Nós e conceitos essenciais
    • Índice de nós
    • Geometria do projeto computacional
      • Visão geral da geometria
      • Vetor, plano e sistema de coordenadas
      • Pontos
      • Curvas
      • Superfícies
      • Sólidos
      • Malhas
    • Os blocos de construção de programas
      • Dados
      • Matemática
      • Lógica
      • Sequências de caracteres
      • Cor
    • Projetar com listas
      • O que é uma lista?
      • Trabalhar com listas
      • Listas de listas
      • Listas n-dimensionais
    • Dicionários no Dynamo
      • O que é um dicionário
      • Nós de dicionário
      • Dicionários em blocos de código
      • Casos de uso do Revit
  • Nós e pacotes personalizados
    • Nós personalizados
      • Introdução ao nó personalizado
      • Criar um nó personalizado
      • Publicar na biblioteca
    • Pacotes
      • Introdução aos pacotes
      • Estudo de caso do pacote – Kit de ferramentas de malha
      • Desenvolver um pacote
      • Publicar um pacote
      • Importação sem toque
  • Dynamo para Revit
    • A conexão do Revit
    • Selecionar
    • Editar
    • Criar
    • Personalizar
    • Documentação
  • Dynamo for Civil 3D
    • Conexão do Civil 3D
    • Guia de Introdução
    • Biblioteca de nós
    • Exemplos de fluxos de trabalho
      • Estradas
        • Posicionamento de postes de luz
      • Terra
        • Posicionamento de serviço
      • Utilitários
        • Renomear estruturas
      • Ferrovia
        • Estrutura da altura livre
      • Levantamento topográfico
        • Gerenciamento de grupo de pontos
    • Tópicos avançados
      • Vinculação de objetos
      • Python e Civil 3D
    • Dynamo Player
    • Pacotes úteis
    • Recursos
  • Dynamo no Forma Beta
    • Configurar o Dynamo Player no Forma
    • Adicionar e compartilhar gráficos no Dynamo Player
    • Executar gráficos no Dynamo Player
    • O Dynamo calcula diferenças de serviço com o Dynamo Desktop
  • Codificação no Dynamo
    • Blocos de código e DesignScript
      • O que é um bloco de código
      • Sintaxe do DesignScript
      • Abreviação
      • Funções
    • Geometria com o DesignScript
      • Conceitos básicos da geometria DesignScript
      • Primitivas geométricas
      • Matemática de vetores
      • Curvas: interpoladas e pontos de controle
      • Transformações de conversão, de rotação e outras
      • Superfícies: interpoladas, pontos de controle, elevação, revolução
      • Parametrização geométrica
      • Interseção e aparar
      • Booleanos geométricos
      • Geradores de pontos do Python
    • Python
      • Nós do Python
      • Python e Revit
      • Configurar seu próprio modelo Python
    • Alterações de linguagem
  • Práticas recomendadas
    • Estratégias de gráfico
    • Estratégias de script
    • Referência dos scripts
    • Gerenciar o programa
    • Trabalhar de forma eficiente com grandes conjuntos de dados no Dynamo
  • Exemplos de fluxos de trabalho
    • Fluxos de trabalho de introdução
      • Vaso paramétrico
      • Pontos de atração
    • Índice conceitual
  • Manual do Desenvolvedor
    • Compilar o Dynamo da origem
      • Compilar o DynamoRevit da origem
      • Gerenciar e atualizar dependências no Dynamo
    • Desenvolvimento do Dynamo
      • Guia de Introdução
      • Estudo de caso sem toque – Nó de grade
      • Executar scripts Python em nós Sem toque (C#)
      • Aprofundar o conhecimento sobre o nó Sem toque
      • Personalização avançada de nós do Dynamo
      • Usar tipos COM (interoperabilidade) em pacotes do Dynamo
      • Estudo de caso do NodeModel – Interface do usuário personalizada
      • Atualizar os pacotes e as bibliotecas do Dynamo para Dynamo 2.x
      • Atualizar os pacotes e as bibliotecas do Dynamo para Dynamo 3.x
      • Extensões
      • Definir a organização de pacotes personalizados no Dynamo 2.0 e superior
      • Interface de linha de comando do Dynamo
      • Integração do Dynamo
      • Desenvolvimento do Dynamo para Revit
      • Publicar um pacote
      • Compilar um pacote do Visual Studio
      • Extensões como pacotes
    • Solicitações de extração
    • Expectativas de testes
    • Exemplos
  • Apêndice
    • Perguntas frequentes
    • Programação visual e Dynamo
    • Recursos
    • Notas de versão
    • Pacotes úteis
    • Arquivos de exemplo
    • Mapa de integração do hospedeiro
    • Fazer o download do PDF
    • Atalhos de teclado do Dynamo
Powered by GitBook
On this page
  • Objetivo
  • Principais conceitos
  • Compatibilidade de versão
  • Conjunto de dados
  • Solução
  • Obter os dados do Excel
  • Obter as linhas de recurso do corredor
  • Gerar os sistemas de coordenadas
  • Criar as referências de bloco
  • Resultado
  • Bônus: Visualização no Dynamo
  • Ideias
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. Exemplos de fluxos de trabalho
  3. Estradas

Posicionamento de postes de luz

PreviousEstradasNextTerra

Last updated 1 month ago

Um dos muitos casos de uso excelentes do Dynamo é posicionar objetos separados dinamicamente ao longo de um modelo de corredor. Geralmente, os objetos precisam ser posicionados em localizações independentes das montagens inseridas ao longo do corredor, o que é uma tarefa muito entediante para ser realizada manualmente. E, quando a geometria horizontal ou vertical do corredor muda, isso introduz uma quantidade significativa de retrabalho.

Objetivo

Principais conceitos

  • Ler dados de um arquivo externo (neste caso, Excel)

  • Organizar dados em dicionários

  • Usar sistemas de coordenadas para controlar a posição/escala/rotação

  • Posicionar referências de bloco

  • Visualizar a geometria no Dynamo

Compatibilidade de versão

Este gráfico será executado no Civil 3D 2020 e versões superiores.

Conjunto de dados

Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.

É melhor que o arquivo do Excel seja salvo no mesmo diretório que o gráfico do Dynamo.

Solução

Apresentamos a seguir uma visão geral da lógica no gráfico.

  1. Ler o arquivo do Excel e importar os dados para o Dynamo

  2. Obter as linhas de recurso da linha base do corredor especificada

  3. Gerar os sistemas de coordenadas ao longo da linha de recurso do corredor nas estacas desejadas

  4. Usar os sistemas de coordenadas para posicionar referências de bloco no espaço do modelo

Vamos começar

Obter os dados do Excel

Neste gráfico de exemplo, vamos usar um arquivo do Excel para armazenar os dados que o Dynamo usará para posicionar as referências de bloco dos postes de luz. A tabela tem a aparência a seguir.

Usar o Dynamo para ler dados de um arquivo externo (como um arquivo do Excel) é uma ótima estratégia, especialmente quando os dados precisam ser compartilhados com outros membros da equipe.

Os dados do Excel são importados para o Dynamo da seguinte maneira.

Agora que temos os dados, precisamos dividi-los por coluna (Corredor, Linha base, PointCode etc.) para que possam ser usados no restante do gráfico. Uma forma comum de fazer isso é usar o nó List.GetItemAtIndex e especificar o número de índice de cada coluna que desejamos. Por exemplo, a coluna Corredor está no índice 0, a coluna Linha base está no índice 1 etc.

Parece bom, certo? Mas há um problema potencial com essa abordagem. E se a ordem das colunas no arquivo do Excel for alterada no futuro? Ou uma nova coluna for adicionada entre duas colunas? Nesses casos, o gráfico não funcionará corretamente e exigirá uma atualização. Podemos tornar o gráfico à prova de futuro colocando os dados em um Dicionário, com os cabeçalhos de coluna do Excel como chaves e o resto dos dados como valores.

Se os dicionários forem algo novo para você, veja a seção Dicionários no Dynamo.

Isso torna o gráfico mais resiliente porque permite flexibilidade ao alterar a ordem das colunas no Excel. Enquanto os cabeçalhos de coluna permanecerem os mesmos, os dados poderão ser recuperados do dicionário usando sua chave (ou seja, o cabeçalho da coluna), que é o que fazemos em seguida.

Obter as linhas de recurso do corredor

Agora que temos os dados do Excel importados e prontos para serem usados, vamos começar a usá-los para obter algumas informações do Civil 3D sobre os modelos de corredor.

  1. Selecione o modelo de corredor pelo nome.

  2. Obtenha uma linha base específica dentro do corredor.

  3. Obtenha uma linha do recurso na linha base pelo código de ponto.

Gerar os sistemas de coordenadas

O que vamos fazer agora é gerar Sistemas de coordenadas ao longo das linhas de recurso do corredor nos valores de estaca que especificamos no arquivo do Excel. Esses sistemas de coordenadas serão usados para definir a posição, a rotação e a escala das referências de bloco dos postes de luz.

Se os sistemas de coordenadas forem algo novo para você, veja a seção Vetor, plano e sistema de coordenadas.

Observe o uso de um bloco de código para rotacionar os sistemas de coordenadas, dependendo do lado em que eles estejam da linha base. Isso pode ser obtido usando uma sequência de vários nós, mas esse é um bom exemplo de uma situação em que é mais fácil escrever manualmente.

Se os blocos de código forem algo novo para você, veja a seção Blocos de código e DesignScript.

Criar as referências de bloco

Está quase. Temos todas as informações necessárias para podermos realmente posicionar as referências de bloco. A primeira coisa a fazer é obter as definições de bloco que desejamos usando a coluna BlockName do arquivo do Excel.

A partir daí, a última etapa é criar as referências de bloco.

Resultado

Quando você executar o gráfico, deverá ver novas referências de bloco mostradas no espaço do modelo ao longo do corredor. E aqui está a parte interessante – se o modo de execução do gráfico estiver definido como Automático e você editar o arquivo do Excel, as referências de bloco serão atualizadas automaticamente.

Você pode ler mais sobre os modos de execução de gráficos na seção Interface do usuário.

Veja um exemplo de como executar o gráfico usando o Reprodutor do Dynamo.

Se o Reprodutor do Dynamo for algo novo para você, veja a seção Dynamo Player.

Bônus: Visualização no Dynamo

Pode ser útil visualizar a geometria do corredor no Dynamo para fornecer contexto. Este modelo específico tem os sólidos do corredor já extraídos no espaço do modelo, então vamos levá-los para o Dynamo.

Mas há algo mais que precisamos considerar. Os sólidos são um tipo de geometria relativamente “pesada”, o que significa que essa operação diminuirá a velocidade do gráfico. Seria bom se houvesse uma maneira simples de escolher se desejamos visualizar os sólidos ou não. A resposta óbvia é desconectar o nó Corridor.GetSolids, mas isso produzirá avisos para todos os nós a jusante, o que é um pouco confuso. Essa é uma situação em que o nó ScopeIf realmente se destaca.

  1. Observe que o nó Object.Geometry tem uma barra cinza na parte inferior. Isso significa que a visualização do nó está desativada (acessível clicando com o botão direito do mouse no nó), o que permite que GeometryColor.ByGeometryColor evite “brigar” com outra geometria por prioridade de exibição na visualização do plano de fundo.

  2. O nó ScopeIf basicamente permite executar seletivamente uma ramificação inteira de nós. Se a entrada test for falsa, nenhum nó conectado ao nó ScopeIf será executado.

Veja o resultado na visualização do plano de fundo do Dynamo.

Ideias

Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.

Adicione uma coluna de rotação ao arquivo do Excel e use-a para controlar a rotação dos sistemas de coordenadas.

Adicione deslocamentos horizontais ou verticais ao arquivo do Excel para que os postes de luz possam se desviar da linha de recurso do corredor, se necessário.

Em vez de usar um arquivo do Excel com valores de estaca, gere os valores de estaca diretamente no Dynamo usando uma estaca inicial e um espaçamento típico.

Posicionar referências de bloco de postes de luz ao longo de um corredor em valores de estaca especificados em um arquivo do Excel.

Missão cumprida.

🎯
🎉
232KB
Roads_CorridorBlockRefs (1).dyn
54MB
Roads_CorridorBlockRefs.dwg
12KB
LightPoles.xlsx
Estrutura da tabela de arquivos do Excel
Importação de dados do Excel para o Dynamo
Colocar os dados do Excel em um dicionário
Recuperação de dados do dicionário
Obtenção dos sistemas de coordenadas ao longo das linhas de recurso do corredor
Obtenção das definições de bloco que desejamos do documento
Criação das referências de bloco no espaço do modelo
Realização de atualizações no arquivo do Excel e visualização rápida dos resultados no Civil 3D
Execução do gráfico usando o Reprodutor do Dynamo e visualização dos resultados no Civil 3D
Visualização da geometria do corredor no Dynamo