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
  • Version bêta de Dynamo dans Forma
    • Configurer Dynamo Player dans Forma
    • Ajouter et partager des graphes dans Dynamo Player
    • Exécuter des graphes dans Dynamo Player
    • Différences entre les services de calcul Dynamo et Dynamo Desktop
  • 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 for 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
  • Exercice : Nœuds personnalisés pour le mappage UV
  • Partie I : Commencer par un graphique
  • Partie II : Du graphique au nœud personnalisé
Edit on GitHub
Export as PDF
  1. Packages et nœuds personnalisés
  2. Nœuds personnalisés

Création d’un nœud personnalisé

PreviousPrésentation des nœuds personnalisésNextPublication dans votre bibliothèque

Last updated 2 years ago

Dynamo propose plusieurs méthodes de création de nœuds personnalisés. Vous pouvez créer des nœuds personnalisés à partir de zéro, à partir d'un graphique existant ou de façon explicite en C#. Dans cette section, vous allez découvrir comment créer un nœud personnalisé dans l'interface utilisateur de Dynamo à partir d'un graphique existant. Cette méthode est idéale pour nettoyer l'espace de travail, ainsi que pour regrouper une séquence de nœuds à réutiliser ailleurs.

Exercice : Nœuds personnalisés pour le mappage UV

Partie I : Commencer par un graphique

Dans l'image ci-dessous, un point d'une surface est mappé sur une autre surface à l'aide des coordonnées UV. Ce concept va vous permettre de créer une surface de panneaux qui référence des courbes dans le plan XY. Dans le cadre de la construction de panneaux, vous allez créer ici des panneaux quadrilatéraux. En utilisant la même logique, vous pouvez créer un grand nombre de panneaux avec le mappage UV. C’est une excellente opportunité pour le développement de nœuds personnalisés, car vous pourrez répéter un processus similaire plus facilement dans ce graphique ou dans d’autres workflows Dynamo.

Téléchargez le fichier d’exemple en cliquant sur le lien ci-dessous.

Vous trouverez la liste complète des fichiers d'exemple dans l'annexe.

  1. Code Block : utilisez cette ligne pour créer une plage de 10 nombres entre -45 et 45 45..45..#10;

  2. Point.ByCoordinates : connectez la sortie du nœud Code Block aux entrées « x » et « y » et définissez la liaison sur Référence croisée. Vous devez maintenant avoir une grille de points.

  3. Plane.ByOriginNormal : connectez la sortie « Point » à l’entrée « origin » pour créer un plan au niveau de chacun des points. Le vecteur normal par défaut de (0,0,1) est utilisé.

  4. Rectangle.ByWidthLength : connectez les plans de l’étape précédente à l’entrée « plan », puis utilisez un nœud Code Block avec une valeur de 10 pour spécifier la largeur et la longueur.

Vous devez maintenant voir une grille de rectangles. Mappez ces rectangles sur une surface cible à l’aide des coordonnées UV.

  1. Polygon.Points : connectez la sortie du nœud Rectangle.ByWidthLength de l’étape précédente à l’entrée « polygon » pour extraire les points de coin de chaque rectangle. Il s’agit des points que vous allez mapper sur la surface cible.

  2. Rectangle.ByWidthLength : utilisez un nœud Code Block avec une valeur de 100 pour spécifier la largeur et la longueur d’un rectangle. Il s’agit de la limite de la surface de base.

  3. Surface.ByPatch : connectez le nœud Rectangle.ByWidthLength de l’étape précédente à l’entrée « closedCurve » pour créer une surface de base.

  4. Surface.UVParameterAtPoint : connectez la sortie « Point » du nœud Polygon.Points et la sortie « Surface » du nœud Surface.ByPatch pour renvoyer le paramètre UV à chaque point.

Maintenant que vous avez une surface de base et un ensemble de coordonnées UV, importez une surface cible et mappez les points entre les surfaces.

  1. File Path : sélectionnez le chemin d’accès au fichier de la surface à importer. Le type de fichier doit être .SAT. Cliquez sur le bouton « Parcourir… » et accédez au fichier UVmapping_srf.sat à partir du fichier .zip téléchargé ci-dessus.

  2. Geometry.ImportFromSAT : connectez le chemin d’accès au fichier pour importer la surface. Vous devez voir la surface importée dans l’aperçu de la géométrie.

  3. UV : connectez la sortie du paramètre UV à un nœud UV.U et à un nœud UV.V.

  4. Surface.PointAtParameter : connectez la surface importée ainsi que les coordonnées u et v. Vous devez maintenant voir une grille de points 3D sur la surface cible.

La dernière étape consiste à utiliser les points 3D pour construire des corrections de surface rectangulaires.

  1. PolyCurve.ByPoints : connectez les points de la surface pour construire une polycourbe à travers les points.

  2. Boolean : ajoutez un nœud Boolean à l’espace de travail, connectez-le à l’entrée « connectLastToFirst » et sélectionnez True pour fermer les polycourbes. Vous devez maintenant voir des rectangles mappés sur la surface.

  3. Surface.ByPatch : connectez les polycourbes à l’entrée « closedCurve » pour construire des corrections de surface.

Partie II : Du graphique au nœud personnalisé

Sélectionnez les nœuds à imbriquer dans un nœud personnalisé, en choisissant les entrées et les sorties de votre nœud. Étant donné que votre nœud personnalisé doit être aussi flexible que possible, il doit être en mesure de mapper des polygones, pas seulement des rectangles.

Sélectionnez les nœuds suivants (en commençant par le nœud Polygon.Points), cliquez avec le bouton droit de la souris sur l’espace de travail et choisissez « Créer un nœud personnalisé ».

Dans la boîte de dialogue Propriétés du nœud personnalisé, attribuez un nom, une description et une catégorie au nœud personnalisé.

  1. Nom : MapPolygonsToSurface

  2. Description : mapper le ou les polygones d’une surface de base à une surface cible

  3. Catégorie des packages complémentaires : Geometry.Curve

Le nœud personnalisé a considérablement nettoyé l'espace de travail. Notez que les entrées et les sorties ont été nommées en fonction des nœuds d'origine. Modifiez le nœud personnalisé pour rendre les noms plus descriptifs.

Cliquez deux fois sur le nœud personnalisé pour le modifier. Un espace de travail à l’arrière-plan jaune représentant l’intérieur du nœud s’affiche.

  1. Entrées : remplacez les noms d’entrée par baseSurface et targetSurface.

  2. Sorties : ajoutez une sortie supplémentaire pour les polygones mappés.

Enregistrez le nœud personnalisé et revenez à l’espace de travail de base. Notez que le nœud MapPolygonsToSurface reflète les modifications apportées.

Vous pouvez également renforcer la robustesse du nœud personnalisé en ajoutant des commentaires personnalisés. Les commentaires peuvent vous aider à indiquer les types d’entrée et de sortie ou à expliquer la fonctionnalité du nœud. Des commentaires s'affichent lorsque l'utilisateur place le curseur sur une entrée ou une sortie d'un nœud personnalisé.

Cliquez deux fois sur le nœud personnalisé pour le modifier. Cette action permet de rouvrir l’espace de travail à l’arrière-plan jaune.

  1. Commencez par modifier le bloc de code Input. Pour commencer un commentaire, saisissez « // » suivi du texte du commentaire. Tapez tout ce qui peut aider à clarifier le nœud : ici, c’est la surface cible qui est décrite.

  2. Définissez également la valeur par défaut pour inputSurface en définissant le type d’entrée sur une valeur équivalente. Ici, la valeur par défaut est définie sur le jeu Surface.ByPatch d’origine.

Vous pouvez également appliquer les commentaires aux sorties.

Modifiez le texte dans le bloc de code Output. Saisissez « // » suivi du texte du commentaire. Ici, une description plus détaillée est ajoutée pour clarifier les sorties de Polygons et de surfacePatches.

  1. Placez le curseur sur les entrées de nœud personnalisé pour afficher les commentaires.

  2. Étant donné que la valeur par défaut est définie sur inputSurface, vous pouvez également exécuter la définition sans entrée de surface.

Commencez par créer un graphique à imbriquer dans un nœud personnalisé. Dans cet exemple, vous allez créer un graphique qui mappe des polygones d'une surface de base vers une surface cible, à l'aide de coordonnées UV. Ce processus de mappage UV est fréquemment utilisé, ce qui en fait un bon candidat pour un nœud personnalisé. Pour plus d’informations sur les surfaces et l’espace UV, reportez-vous à la page . Le graphique complet est UVmapping_Custom-Node.dyn à partir du fichier .zip téléchargé ci-dessus.

Surface
5KB
UV-CustomNode.zip
archive