suggested exercise
La création d’un vase paramétrique est un excellent moyen d’apprendre à utiliser Dynamo.
Ce workflow vous apprendra à effectuer les actions suivantes :
Utiliser les curseurs de numérotation pour contrôler les variables de votre conception.
Créer et modifier des éléments géométriques à l’aide de nœuds.
Visualiser les résultats de la conception en temps réel.
Avant de se lancer dans Dynamo, concevons notre vase.
Imaginez que vous allez concevoir un vase en argile selon les pratiques de fabrication utilisées par les céramistes. Les céramistes utilisent normalement un tour de potier pour fabriquer des vases cylindriques. En appliquant une pression sur différentes hauteurs du vase, ils peuvent ainsi en modifier la forme et créer différents modèles.
Vous allez utiliser une méthodologie similaire pour définir notre vase. Vous allez créer 4 cercles à différentes hauteurs et de différents rayons, puis lisser ces cercles pour créer une surface.
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.
Vous avez besoin des nœuds qui représenteront la séquence d’actions exécutée par Dynamo. Étant donné que vous essayez de créer un cercle, commencez par rechercher un nœud qui réalise cette action. Utilisez le champ de recherche ou parcourez la bibliothèque pour rechercher le nœud Circle.ByCenterPointRadius et l’ajouter à l’espace de travail
Rechercher > « Circle… »
Sélectionner > « ByCenterPointRadius »
Le nœud s’affiche dans l’espace de travail
Examinez ce nœud de plus près. Sur le côté gauche se trouvent les entrées du nœud (centerPoint et radius) et sur le côté droit se trouve la sortie du nœud (Circle). Notez que les sorties sont identifiées par une ligne bleu clair. Cela signifie que l’entrée a une valeur par défaut. Pour plus d’informations sur l’entrée, placez le curseur sur son nom. L’entrée radius requiert une double entrée et a une valeur par défaut de 1.
Conservez la valeur par défaut de centerPoint, mais ajoutez un nœud Number Slider pour contrôler le rayon. Comme vous l’avez fait avec le nœud Circle.ByCenterPointRadius, utilisez la bibliothèque pour rechercher Number Slider et l’ajouter à votre graphique.
Ce nœud est légèrement différent du nœud précédent, car il contient un curseur. Vous pouvez utiliser l’interface pour modifier la valeur de sortie du curseur.
Le curseur peut être configuré à l’aide du bouton déroulant situé à gauche du nœud. Limitez le curseur à une valeur maximale de 15.
Placez-le à gauche du nœud Circle.ByCenterPointRadius et connectez les deux nœuds en sélectionnant la sortie Number Slider et en la connectant à l’entrée Radius.
Remplacez également le nom de Number Slider par « Top Radius » en double-cliquant sur le nom du nœud.
Continuons à ajouter des nœuds et des connexions à notre logique pour définir notre vase.
Copiez ces nœuds 4 fois pour que ces cercles définissent la surface et modifiez les noms de Number Slider comme illustré ci-dessous.
Les cercles sont créés à l’aide d’un point central et d’un rayon
Il vous manque un paramètre clé pour votre vase, sa hauteur. Pour contrôler la hauteur du vase, vous allez créer un autre curseur de numérotation. Vous allez aussi ajouter un nœud Code Block. Les nœuds Code Block peuvent vous aider à ajouter des extraits de code personnalisés à votre workflow. Vous allez utiliser le nœud Code Block pour multiplier le curseur de hauteur par différents facteurs afin de pouvoir positionner nos cercles le long de la hauteur du vase.
Vous allez ensuite utiliser un nœud Geometry.Translate pour placer des cercles à la hauteur souhaitée. Comme vous voulez distribuer vos cercles à travers le vase, utilisez des nœuds Code Block pour multiplier le paramètre de hauteur par un facteur.
2. Les cercles sont convertis (déplacés) par une variable dans l’axe Z.
Pour créer une surface à l’aide du nœud Surface.ByLoft, vous devez combiner tous les cercles convertis dans une liste. Utilisez List.Create pour combiner tous les cercles dans une liste unique, puis exportez cette liste vers le nœud Surface.ByLoft pour afficher les résultats.
Désactivez également l’aperçu dans les autres nœuds pour afficher uniquement l’affichage Surface.ByLoft.
3. Une surface est créée en lissant les cercles convertis.
Votre workflow est prêt ! Vous pouvez désormais utiliser les Number Sliders définis dans votre script pour créer différents modèles de vases.
Les points d’attraction sont idéaux pour expérimenter les motifs géométriques. Ils peuvent être utilisés pour créer des changements progressifs aux objets en fonction de leur distance.
Ce workflow vous apprendra à effectuer les actions suivantes :
créer, gérer et modifier des listes ;
déplacer des points dans l’aperçu 3D à l’aide de la manipulation directe ;
modifier le mode d’exécution.
Dans cet exercice, vous allez créer un cercle (objectif) dans lequel l’entrée radius est définie par une distance par rapport à un point situé à proximité (relation).
Un point qui définit une relation basée sur la distance est généralement appelé « point d’attraction ». Ici, la distance jusqu'au point d'attraction est utilisée pour spécifier la taille du cercle.
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.
Maintenant que vos objectifs et relations sont schématisés, vous pouvez commencer à créer votre graphique. Vous avez besoin des nœuds qui représentent la séquence d’actions exécutée par Dynamo. Tout d’abord, ajoutez les nœuds suivants : Number, Number Slider, Point.ByCoordinates, Geometry.DistanceTo, Circle.ByCenterPointRadius.
Input > Basic > Number
Input > Basic > Number Slider
Geometry > Points > Point > By Coordinates(x,y,z)
Geometry > Modifiers > Geometry > DistanceTo
Geometry > Curves > Circle > ByCenterPointRadius
Maintenant que vous avez quelques nœuds, connectez les ports des nœuds avec des fils. Ces connexions définissent le flux de données.
Number avec Point.ByCoordinates
Number Sliders avec Point.ByCoordinates
Point.ByCoordinates (2) avec DistanceTo
Point.ByCoordinates et DistanceTo avec Circle.ByCenterPointRadius
Lorsque le flux de programme a été défini, il suffit de demander à Dynamo de l'exécuter. Une fois le programme exécuté (automatiquement ou en mode manuel), les données passent par les fils et les résultats s’affichent dans l’aperçu 3D.
Cliquez sur Exécuter : si la barre d’exécution est en mode manuel, cliquez sur Exécuter pour exécuter le graphique.
Aperçu du nœud : placez le curseur de la souris sur la boîte située dans le coin inférieur droit d'un nœud pour afficher une fenêtre contextuelle des résultats.
Aperçu 3D : si l'un des nœuds crée une géométrie, elle s'affiche dans l'aperçu 3D.
Géométrie de sortie sur le nœud de création.
Si votre programme fonctionne, un cercle qui passe par le point d’attraction doit apparaître dans l’aperçu 3D. C'est parfait, mais vous pouvez ajouter plus de détails ou plus de contrôles. Ajustez l’entrée au nœud de cercle afin de pouvoir calibrer l’influence sur le rayon. Ajoutez un autre Number Slider à l’espace de travail, puis cliquez deux fois sur une zone vide de l’espace de travail pour ajouter un nœud Code Block. Modifiez le champ dans le nœud Code Block pour spécifier X/Y
.
Code Block
DistanceTo et Number Slider avec Code Block
Code Block avec Circle.ByCenterPointRadius
Commencer simplement et augmenter la complexité au fur et à mesure est un moyen efficace de développer progressivement votre programme. Une fois que ce programme fonctionne pour un cercle, appliquez sa puissance à plusieurs cercles. Au lieu d’un point central, si vous utilisez une grille de points et prenez en compte la modification de la structure de données obtenue, votre programme va créer un grand nombre de cercles, chacun avec une valeur de rayon unique définie par la distance calibrée par rapport au point d’attraction.
Ajoutez un nœud Number Sequence et remplacez les entrées de Point.ByCoordinates. Cliquez avec le bouton droit sur Point.ByCoordinates et sélectionnez Combination > Produit vectoriel.
Ajoutez un nœud Flatten après Point.ByCoordinates. Pour aplanir complètement une liste, laissez l’entrée
amt
à la valeur par défaut de-1
.L'aperçu 3D est mis à jour avec une grille de cercles.
Parfois, la manipulation numérique n'est pas la bonne approche. Vous pouvez désormais manipuler manuellement la géométrie de points lorsque vous naviguez dans l'aperçu 3D en arrière-plan. Vous pouvez également contrôler d’autres géométries créées à l’aide d’un point. Par exemple, Sphere.ByCenterPointRadius peut également être manipulé directement. Vous pouvez contrôler l’emplacement d’un point à partir d’une série de valeurs X, Y et Z à l’aide de Point.ByCoordinates. Toutefois, avec l’approche de manipulation directe, vous pouvez mettre à jour les valeurs des curseurs en déplaçant manuellement le point dans le mode de navigation de l’aperçu 3D. Cela offre une approche plus intuitive afin de contrôler un ensemble de valeurs discrètes qui identifient l’emplacement d’un point.
Pour utiliser la manipulation directe, sélectionnez le panneau du point à déplacer : les flèches apparaissent sur le point sélectionné.
Passez en mode de navigation dans l’aperçu 3D.
Placez le curseur sur le point pour afficher les axes X, Y et Z.
Cliquez sur la flèche de couleur et faites-la glisser pour déplacer l’axe correspondant. Les valeurs de Number Slider sont mises à jour à mesure que le point est déplacé manuellement.
Avant la manipulation directe, un seul curseur était branché au composant Point.ByCoordinates. Lorsque vous déplacez manuellement le point dans la direction X, Dynamo génère automatiquement un nouveau Number Slider pour l’entrée X.
Cette section propose des workflows simples pour vous aider à commencer à utiliser Dynamo.