Dynamo
Primer for v2.0
Français
Français
  • À propos
  • Introduction
    • Qu’est-ce que Dynamo et comment fonctionne-t-il ?
    • Manuel d’utilisation du guide, communauté et plate-forme Dynamo
  • Configuration de Dynamo
  • Interface utilisateur
    • Espace de travail
    • Bibliothèque
  • Nœuds et fils
  • Nœuds et concepts essentiels
    • Index des nœuds
    • Géométrie pour la conception informatique
      • Présentation de la géométrie
      • Vecteur, plan et système de coordonnées
      • Points
      • Courbes
      • Surfaces
      • Solides
      • Maillages
    • Blocs de construction des programmes
      • Données
      • Math
      • Logique
      • Chaînes
      • Couleur
    • Conception avec des listes
      • Qu’est-ce qu’une liste
      • Utilisation des listes
      • Listes de listes
      • Listes à n dimensions
    • Dictionnaires dans Dynamo
      • Qu’est-ce qu’un dictionnaire ?
      • Nœuds de dictionnaire
      • Dictionnaires dans les blocs de code
      • Cas d’utilisation de Revit
  • Packages et nœuds personnalisés
    • Nœuds personnalisés
      • Présentation des nœuds personnalisés
      • Création d’un nœud personnalisé
      • Publication dans votre bibliothèque
    • Packages
      • Présentation des packages
      • Étude de cas de package – Mesh Toolkit
      • Développement d'un package
      • Publication d’un package
      • Importation Zero-Touch
  • Dynamo pour Revit
    • La connexion Revit
    • Sélection
    • Édition
    • Création
    • Personnalisation
    • Documentation
  • Dynamo for Civil 3D
    • La connexion de Civil 3D
    • Mise en route
    • Bibliothèque de nœuds
    • Exemples de workflows
      • Routes
        • Positionnement des lampadaires
      • Terrain
        • Positionnement des services
      • Réseaux techniques
        • Renommer des structures
      • Rail
        • Zone de dégagement
      • Topographie
        • Gestion des groupes de points
    • Concepts avancés
      • Liaison d’objet
      • Python et Civil 3D
    • Lecteur Dynamo
    • Packages utiles
    • Ressources
  • Codage dans Dynamo
    • Nœuds Code Block et DesignScript
      • Qu’est-ce qu’un bloc de code ?
      • Syntaxe DesignScript
      • Raccourci
      • Fonctions
    • Géométrie avec DesignScript
      • Concepts de base de la géométrie DesignScript
      • Primitives géométriques
      • Calcul vectoriel
      • Courbes : points de contrôle et interpolés
      • Conversion, rotation et autres transformations
      • Surfaces : interpolation, points de contrôle, lissage, révolution
      • Définition des paramètres géométriques
      • Intersection et ajustement
      • Opérations booléennes géométriques
      • Générateurs de points Python
    • Python
      • Nœuds Python
      • Python et Revit
      • Configuration de votre propre gabarit Python
    • Changements relatifs au langage
  • Conseils d’utilisation
    • Stratégies de graphiques
    • Stratégies de script
    • Références concernant la création et la gestion des scripts
    • Gestion de votre programme
    • Utilisation efficace de jeux de données volumineux dans Dynamo
  • Exemples de workflows
    • Workflows de mise en route
      • Vase paramétrique
      • Points d’attraction
    • Index de concept
  • Guide du développeur
    • Générer Dynamo à partir de la source
      • Générer DynamoRevit à partir de la source
      • Gestion et mise à jour des dépendances dans Dynamo
    • Développer pour Dynamo
      • Mise en route
      • Étude de cas Zero-Touch : nœud grille
      • Exécuter des scripts Python dans des nœuds Zero-Touch (C#)
      • Aller plus loin avec le Zero-Touch
      • Personnalisation avancée des nœuds Dynamo
      • Utilisation de types COM (interopérabilité) dans les packages Dynamo
      • Étude de cas de modèle de nœud : interface utilisateur personnalisée
      • Mise à jour des packages et des bibliothèques Dynamo pour Dynamo 2.x
      • Mise à jour des packages et des bibliothèques Dynamo pour Dynamo 3.x
      • Extensions
      • Définition de l’organisation des packages personnalisés pour Dynamo 2.0+
      • Interface en ligne de commande Dynamo
      • Intégration Dynamo
      • Développement pour Dynamo pour Revit
      • Publier un package
      • Générer un package à partir de Visual Studio
      • Extensions en tant que packages
    • Demandes de tirage
    • Test des attentes
    • Exemples
  • Annexe
    • Questions fréquemment posées
    • Programmation visuelle et Dynamo
    • Ressources
    • Informations sur la nouvelle version
    • Packages utiles
    • Fichiers d’exemple
    • Carte d’intégration de l’hôte
    • Télécharger le PDF
    • Raccourcis clavier de Dynamo
Powered by GitBook
On this page
  • Génération de géométrie et maillage par approximation
  • Utilisation de la mémoire
  • API Revit
Edit on GitHub
Export as PDF
  1. Conseils d’utilisation

Utilisation efficace de jeux de données volumineux dans Dynamo

PreviousGestion de votre programmeNextExemples de workflows

Last updated 1 month ago

Cette page vous présente quelques règles empiriques pour travailler efficacement avec des jeux de données volumineux dans Dynamo. Vous devriez pouvoir utiliser les conseils pour identifier les goulots d’étranglement dans vos graphes, afin qu’ils s’exécutent en quelques minutes, plutôt qu’en plusieurs heures.

Sommaire :

  • Génération de géométrie et maillage par approximation

  • Utilisation de la mémoire

  • API Revit

Génération de géométrie et maillage par approximation

Dans Dynamo, la création d’un morceau de géométrie et l’élaboration de son dessin sont deux événements complètement différents. En général, la création d’une géométrie est beaucoup plus rapide et consomme moins de mémoire que l’élaboration du dessin de l’objet. Vous pouvez considérer la géométrie comme une liste de mesures pour fabriquer un costume, tandis que le maillage par approximation représente le costume en lui-même. Vous pouvez en dire beaucoup sur le costume d’après ses mesures : la longueur des bras, son prix, etc. mais vous devez presque toujours aller voir et essayer le costume fini pour vérifier s’il vous va bien. De même, avec une géométrie sans maillage par approximation, vous pouvez déterminer sa zone de délimitation, son aire et son volume, l’intersecter avec d’autres géométries et l’exporter au format SAT ou Revit. Cependant, vous devez presque toujours mettre la géométrie en maillage par approximation pour savoir si elle est correcte ou non.

Si votre graphe Dynamo contient de nombreux objets et qu’il ralentit pendant son exécution, vous pourrez peut-être supprimer les étapes de maillage par approximation de votre graphe pour accélérer le processus.

Les nœuds de géométrie dans Dynamo sont toujours mis en maillage par approximation*. De cette façon, deux possibilités s’offrent à vous pour travailler avec une géométrie sans maillage : les nœuds Python et les nœuds ZeroTouch. Tant que vous ne renvoyez pas d’objet géométrique à partir de votre nœud Python ou ZeroTouch, la géométrie ne sera pas mise en maillage par approximation. Par exemple, si votre graphe comporte plusieurs nœuds de point, connectés à plusieurs nœuds de ligne, connectés à plusieurs nœuds de lissage, connectés à plusieurs nœuds d’épaississement, la géométrie sera mise en maillage par approximation à chaque étape. Au lieu de cela, vous pouvez regrouper cette logique dans un nœud Python ou ZeroTouch et renvoyer uniquement l’objet final à partir du nœud.

Vous trouverez plus d’informations sur l’utilisation des nœuds ZeroTouch dans la section de ce guide.

Utilisation de la mémoire

Si vous ne mettez plus de géométrie en maillage par approximation, vous risquez d’aboutir à un goulot d’étranglement dans la mémoire en raison d’une accumulation excessive de géométrie. Dans Dynamo, les objets géométriques consomment une quantité mineure, mais non négligeable, de mémoire lors de leur création. Si vous travaillez avec des centaines de milliers ou des millions d’objets, cette consommation peut s’accumuler et provoquer le blocage de Dynamo ou de Revit. Dans les versions 2.5 et ultérieures de Dynamo, ce phénomène est géré implicitement en supprimant les objets inutilisés, mais si vous utilisez une version antérieure à la version 2.5, pour éviter de créer trop de géométrie, il est possible de supprimer les objets lorsque vous avez terminé de les utiliser. Par exemple, supposons que vous créiez des centaines de milliers de courbes NURBS, nécessitant chacune des dizaines de points. Pour les créer, vous pouvez notamment utiliser une liste en 2 dimensions dans Dynamo et l’introduire dans un nœud NurbsCurve.ByPoints. Mais pour cela, vous devez créer des millions de points. Autrement, vous pouvez aussi utiliser un nœud Python ou ZeroTouch. Dans ce nœud, vous pouvez créer une douzaine de points, les introduire dans NurbsCurve.ByPoints, puis les éliminer avec l’appel de méthode .Dispose(). Vous trouverez plus d’informations sur l’utilisation des nœuds ZeroTouch dans la section de ce guide. L’élimination de vos objets de géométrie après leur création peut réduire considérablement la quantité de mémoire que vous utilisez dans certaines circonstances et, bien que nous proposions cette option aux utilisateurs de Dynamo 2.5 et versions ultérieures, nous recommandons à l’utilisateur de continuer à éliminer la géométrie explicitement, si le cas d’utilisation nécessite de réduire la mémoire à un moment donné. Reportez-vous à la rubrique .

API Revit

Si vous supprimez de manière agressive des objets dans un nœud ZeroTouch ou Python et que vous rencontrez toujours des problèmes de mémoire ou de performances, il peut être nécessaire de contourner complètement Dynamo et de créer des objets Revit directement via l’API. Par exemple, vous pouvez analyser un fichier Excel à la recherche d’informations sur des points, que vous utilisez ensuite pour créer des fichiers XYZ et d’autres éléments Revit par le biais de leur API. À ce stade, Revit deviendra le goulot d’étranglement ultime, ce qui ne peut être évité.

Développement pour Dynamo
Développement pour Dynamo
Améliorations apportées à la stabilité de la géométrie Dynamo pour en savoir plus sur les nouvelles fonctions de stabilité introduites dans Dynamo 2.5