Avant de se lancer dans le développement, il est important d’établir des bases solides pour un nouveau projet. Il existe plusieurs modèles de projets dans la communauté des développeurs Dynamo qui sont d’excellents points de départ, mais il est encore plus utile de savoir comment démarrer un projet à partir de zéro. La génération d’un projet à partir de zéro permet de mieux comprendre le processus de développement.
Visual Studio est un environnement IDE puissant dans lequel vous pouvez créer un projet, ajouter des références, générer des .dlls
et déboguer. Lors de la création d’un projet, Visual Studio crée également une solution, une structure pour l’organisation des projets. Plusieurs projets peuvent exister au sein d’une même solution et peuvent être créés ensemble. Pour créer un nœud ZeroTouch, nous devons démarrer un nouveau projet Visual Studio dans lequel nous écrirons une bibliothèque de classes en C# et générerons un .dll
.
La fenêtre Nouveau projet dans Visual Studio
Commencez par ouvrir Visual Studio et créez un projet :
File > New > Project
.Choisissez le modèle de projet
Class Library
.Donnez un nom au projet (nous avons nommé le projet MyCustomNode).
Définissez le chemin d’accès au fichier de votre projet. Dans cet exemple, nous le laisserons à l’emplacement par défaut.
Sélectionnez
Ok
.
Visual Studio crée et ouvre automatiquement un fichier C#. Donnez-lui un nom approprié, configurez l’espace de travail et remplacez le code par défaut par cette méthode de multiplication.
Ouvrez l’explorateur de solutions et les fenêtres de sortie à partir de
View
.Renommez le fichier
Class1.cs
enSampleFunctions.cs
dans l’explorateur de solutions sur la droite.Ajoutez le code ci-dessus pour la fonction de multiplication. Nous verrons plus tard comment Dynamo lira vos classes C#.
L’explorateur de solutions : il vous permet d’accéder à tous les éléments de votre projet.
La fenêtre de sortie : nous en aurons besoin plus tard pour voir si la génération s’est bien déroulée.
L’étape suivante consiste à générer le projet, mais avant cela, nous devons vérifier quelques paramètres. Tout d’abord, assurez-vous que Any CPU
ou x64
est sélectionné comme plateforme cible et que la case Prefer 32-bit
n’est pas cochée dans les propriétés du projet.
Ouvrez les propriétés du projet en sélectionnant
Project > "ProjectName" Properties
.Sélectionnez la page
Build
.Sélectionnez
Any CPU
oux64
dans le menu déroulant.Assurez-vous que la case
Prefer 32-bit
n’est pas cochée.
Nous pouvons maintenant générer le projet pour créer un .dll
. Pour ce faire, sélectionnez Build Solution
dans le menu Build
ou utilisez le raccourci CTRL+SHIFT+B
.
Sélectionnez
Build > Build Solution
.Vous pouvez déterminer si votre projet a été créé correctement en cochant la fenêtre Sortie.
Si le projet a été créé correctement, un .dll
nommé MyCustomNode
figure dans le dossier bin
du projet. Pour cet exemple, nous avons laissé le chemin d’accès au fichier du projet tel qu’il est défini par défaut par Visual Studio, à savoir c:\users\username\documents\visual studio 2015\Projects
. Examinons la structure de fichiers du projet.
Le dossier
bin
contient le.dll
créé à partir de Visual Studio.Le fichier du projet Visual Studio.
Le fichier de classe.
La configuration de notre solution étant définie sur
Debug
, le.dll
sera créé dansbin\Debug
.
Nous pouvons maintenant ouvrir Dynamo et importer le .dll
. Avec la fonction Ajouter, accédez à l’emplacement bin
du projet et sélectionnez le .dll
à ouvrir.
Cliquez sur le bouton Ajouter pour importer un fichier
.dll
.Accédez à l’emplacement du projet. Notre projet se trouve dans le chemin d’accès par défaut de Visual Studio :
C:\Users\username\Documents\Visual Studio 2015\Projects\MyCustomNode
.Sélectionnez le
MyCustomNode.dll
à importer.Cliquez sur
Open
pour charger le.dll
.
Si une catégorie est créée dans la bibliothèque appelée MyCustomNode
, le fichier .dll a été importé avec succès ! Cependant, Dynamo a créé deux nœuds alors que nous n’en voulions qu’un seul. Dans la section suivante, nous allons expliquer pourquoi cela se produit et comment Dynamo lit un fichier .dll.
MyCustomNode dans la bibliothèque Dynamo. La catégorie Bibliothèque est déterminée par le nom
.dll
.SampleFunctions.MultiplyByTwo dans la zone de dessin.
Lorsque Dynamo charge un fichier .dll, il expose toutes les méthodes statiques publiques sous forme de nœuds. Les constructeurs, les méthodes et les propriétés seront transformés respectivement en nœuds de création, d’action et de requête. Dans notre exemple de multiplication, la méthode MultiplyByTwo()
devient un nœud d’action dans Dynamo. Ceci est dû au fait que le nœud a été nommé en fonction de sa méthode et de sa classe.
L’entrée est nommée
inputNumber
en fonction du nom du paramètre de la méthode.La sortie est nommée
double
par défaut, car il s’agit du type de données renvoyé.Le nœud est nommé
SampleFunctions.MultiplyByTwo
car il s’agit des noms de classe et de méthode.
Dans l’exemple ci-dessus, le nœud supplémentaire de création SampleFunctions
a été créé, car nous n’avons pas fourni explicitement de constructeur et par conséquent un constructeur a été automatiquement créé. Nous pouvons éviter cela en créant un constructeur privé vide dans notre classe SampleFunctions
.
Dynamo a importé notre méthode en tant que nœud de création
Le nœud de multiplication est très simple et aucune référence à Dynamo n’est nécessaire. Si nous voulons accéder à l’une des fonctionnalités de Dynamo pour créer une géométrie par exemple, nous devrons faire référence aux packages NuGet de Dynamo.
ZeroTouchLibrary : package permettant de générer des bibliothèques de nœuds Zero-Touch pour Dynamo, qui contient les bibliothèques suivantes : DynamoUnits.dll, ProtoGeometry.dll.
WpfUILibrary : package permettant de générer des bibliothèques de nœuds pour Dynamo avec une interface utilisateur personnalisée dans WPF, qui contient les bibliothèques suivantes : DynamoCoreWpf.dll, CoreNodeModels.dll, CoreNodeModelWpf.dll.
DynamoServices : bibliothèque DynamoServices pour Dynamo.
Core : infrastructure de test unitaire et système pour Dynamo qui contient les bibliothèques suivantes : DSIronPython.dll, DynamoApplications.dll, DynamoCore.dll, DynamoInstallDetective.dll, DynamoShapeManager.dll, DynamoUtilities.dll, ProtoCore.dll, VMDataBridge.dll.
Tests : infrastructure de test unitaire et système pour Dynamo qui contient les bibliothèques suivantes : DynamoCoreTests.dll, SystemTestServices.dll, TestServices.dll.
DynamoCoreNodes : package pour la génération de nœuds de noyau pour Dynamo qui contient les bibliothèques suivantes : Analysis.dll, GeometryColor.dll, DSCoreNodes.dll.
Pour référencer ces packages dans un projet Visual Studio, téléchargez le package à partir de NuGet à l’aide des liens ci-dessus et référencez manuellement les fichiers .dll ou utilisez le gestionnaire de package NuGet dans Visual Studio. Nous pouvons d’abord voir comment les installer avec NuGet dans Visual Studio.
Ouvrez le gestionnaire de package NuGet en sélectionnant
Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
.
Il s’agit du gestionnaire de package NuGet. Cette fenêtre indique les packages qui ont été installés pour le projet et permet à l’utilisateur d’en rechercher d’autres. Si une nouvelle version du package DynamoServices est publiée, les packages peuvent être mis à jour à partir d’ici ou rétablis à une version antérieure.
Sélectionnez Parcourir et recherchez DynamoVisualProgramming pour faire apparaître les packages Dynamo.
Les packages Dynamo. En sélectionnant l’un d’entre eux, vous verrez sa version actuelle et une description de son contenu.
Sélectionnez la version du package dont vous avez besoin et cliquez sur installer. Cela permet d’installer un package pour le projet spécifique sur lequel vous travaillez. Puisque nous utilisons la dernière version stable de Dynamo (version 1.3), choisissez la version du package correspondante.
Pour ajouter manuellement un package téléchargé à partir du navigateur, ouvrez le gestionnaire des références à partir de l’explorateur de solutions et recherchez le package.
Cliquez avec le bouton droit de la souris sur
References
et sélectionnezAdd Reference
.Sélectionnez
Browse
pour accéder à l’emplacement du package.
Maintenant que Visual Studio est configuré correctement et que nous avons réussi à ajouter un .dll
à Dynamo, nous disposons d’une base solide pour les concepts à venir. Ce n’est que le début, alors poursuivez votre lecture pour en savoir plus sur la création d’un nœud personnalisé.