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
    • Espaço 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
    • Reprodutor do Dynamo
    • Pacotes úteis
    • Recursos
  • 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 Modelo de nó – 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
  • Geração de geometria vs. triangulação
  • Uso de memória
  • API do Revit
Edit on GitHub
Export as PDF
  1. Práticas recomendadas

Trabalhar de forma eficiente com grandes conjuntos de dados no Dynamo

PreviousGerenciar o programaNextExemplos de fluxos de trabalho

Last updated 1 month ago

Esta página apresenta algumas regras práticas para trabalhar de forma eficiente com grandes conjuntos de dados no Dynamo. Será possível usar as dicas para identificar gargalos nos gráficos, de modo que o gráfico seja executado em minutos, em vez de horas.

Conteúdo:

  • Geração de geometria vs. triangulação

  • Uso de memória

  • API do Revit

Geração de geometria vs. triangulação

No Dynamo, criar uma peça geométrica e desenhá-la são dois eventos completamente diferentes. Em geral, criar geometria é muito mais rápido e usa menos memória do que desenhar o objeto. Você pode pensar na geometria como uma lista de medidas para criar um terno, enquanto a triangulação é o próprio terno. Você pode dizer muita coisa sobre o terno com base em suas medidas: qual o comprimento dos braços, quanto custa, etc., mas quase sempre é preciso ver e experimentar o terno pronto para ver se está bem ou não. Da mesma forma, com a geometria não triangulada, é possível determinar sua caixa delimitadora, área, volume; interseccioná-la com outra geometria; e exportá-la para o SAT ou Revit. No entanto, quase sempre é preciso triangular a geometria para ter uma ideia se ela está correta ou não.

Se o gráfico do Dynamo tiver muitos objetos e estiver lento durante a execução, você poderá remover as etapas de triangulação do gráfico para acelerar as coisas.

Os nós de geometria no Dynamo são sempre triangulados*. Isso deixa você com duas opções para trabalhar com geometria não triangulada: nós Python e nós Sem toque. Contanto que você não retorne um objeto de geometria do nó Python ou Sem toque, a geometria não será triangulada. Por exemplo, se o gráfico tiver vários nós de ponto, conectados a vários nós de linha, conectados a vários nós de elevação, conectados a vários nós de espessura, a geometria será triangulada em cada etapa. Em vez disso, será possível agrupar essa lógica em um nó Python ou Sem toque e retornar apenas o objeto final do nó.

Para obter mais informações sobre o uso dos nós Sem toque, consulte a seção deste Manual.

Uso de memória

Se você não estiver mais triangulando a geometria, poderá encontrar um gargalo de memória devido ao acúmulo excessivo de geometria. Objetos geométricos no Dynamo consomem uma quantidade pequena, mas não insignificante, de memória na criação. Se você estiver trabalhando com centenas de milhares ou milhões de objetos, isso poderá se acumular e causar falha no Dynamo ou no Revit. Na versão 2.5 e posterior do Dynamo, isso é feito implicitamente, descartando os objetos não usados, mas se você estiver usando uma versão anterior à 2.5, uma maneira de evitar a criação de muita geometria será descartar os objetos quando terminar de usá-los. Por exemplo, digamos que você estivesse criando centenas de milhares de NurbsCurves, cada uma exigindo dezenas de pontos. Uma maneira de criá-las é por meio de uma lista bidimensional no Dynamo e alimentá-la em um nó NurbsCurve.ByPoints. No entanto, isso requer a criação de milhões de pontos. Outra maneira é usar um nó Python ou Sem toque. Nesse nó, é possível criar uma dúzia de pontos, alimentá-los em NurbsCurve.ByPoints e depois descartar a dúzia de pontos com a chamada do método .Dispose(). Para obter mais informações sobre o uso dos nós Sem toque, consulte a seção deste Manual. Descartar os objetos de geometria depois de criá-los pode reduzir drasticamente a quantidade de memória usada em determinadas circunstâncias e, embora façamos isso para os usuários do Dynamo 2.5 e versões posteriores, recomendamos que o usuário ainda descarte a geometria explicitamente, se o caso de uso exigir a redução de memória em um momento determinado. Consulte para saber mais sobre os novos recursos de estabilidade incluídos no Dynamo 2.5

API do Revit

Se você estiver descartando objetos agressivamente em um nó Sem toque ou Python e ainda tiver problemas de memória ou desempenho, poderá ser necessário ignorar o Dynamo completamente e criar objetos Revit diretamente por meio da API. Por exemplo, você pode analisar um arquivo Excel para obter informações de pontos e usar essas informações para criar XYZ e outros elementos do Revit por meio de sua API. Neste ponto, o Revit se tornará o maior gargalo, o que não pode ser evitado.

Desenvolvimento do Dynamo
Desenvolvimento do Dynamo
Melhorias na estabilidade da geometria do Dynamo