Programmation Revit – Analyse du squelette d’une extension Revit

Dans mon article précédent (Créer votre première extension extension), nous avons créé notre première extension.

Maintenant nous allons analyser ce que le modèle de départ a inclut automatiquement dans le projet.

Modèle utilisé

Premièrement le modèle de base utilisé se nomme Bibliothèque de classes (.NET Framework). À partir de la fenêtre Créer, nous aurions pu utiliser ce modèle, mais nous aurions dû ajouter plusieurs éléments manuellement pour en faire un projet d’extension Revit.

Bibliothèque de classes (.NET Framework)

Références

À notre bibliothèque de classes, il faut ajouter des références aux librairies Revit. L’assistant les a ajoutées pour nous. La liste des références se trouve dans l’explorateur de solutions, généralement placé à droite de la fenêtre. Pour ajouter des références manuellement, cliquez Références avec le bouton droit de la souris et sélectionnez Ajouter une référence…. Puis avec le bouton Parcourir…, sélectionnez le fichier de référence à ajouter.

Il s’agit des références suivantes:

  • RevitAPI (C:\Program Files\Autodesk\Revit 2020\RevitAPI.dll)
  • RevitAPIUI (C:\Program Files\Autodesk\Revit 2020\RevitAPIUI.dll)
Références

Pour les références Revit, il est important de s’assurer que le paramètre Copie locale soit à False. Pour d’autres types de références ce paramètre peut être à True mais pas dans ce cas-ci.

Application

À partir de l’explorateur de solutions, double-cliquez Properties. Les propriétés du projet s’affichent. Sélectionnez Application. Notez la version du framework cible (.NET Framework 4.7). C’est la version utilisée par Revit. Si nous voulons cibler des versions plus anciennes de Revit, vous pouvez sélectionner une version plus ancienne. Vous devrez aussi ajuster vos références en conséquence. Si vous utilisez une version plus ancienne, vous pourrez quand même exécuter votre extension sur des versions plus récentes.

Framework cible

Déboguer

Pour déboguer votre extension, vous devez spécifier la localisation du fichier de démarrage de Revit. Toujours à partir de la fenêtre des propriétés du projet, sélectionnez Déboguer. Notez le nom du programme externe à démarrer. Si vous cibler une version différente de Revit, utilisez le bouton Parcourir… pour sélectionner le fichier de démarrage.

Vous pouvez aussi ajouter des arguments à la ligne de commande (section Options de démarrage). Par exemple pour démarrer Revit dans une langue précise (ex. Anglais), vous pourriez ajouter l’argument suivant:

« /language ENU»

Évènements de build

Toujours à partir de la fenêtre des propriétés du projet, sélectionnez Évènements de build. Un build se produit lorsque vous compilez votre projet ou votre solution ou lorsque vous démarrez le débogage. Avant ou après un build, vous pouvez exécuter certaines opérations. Dans les évènements post-build (après la compilation), certaines fonctions s’exécutent comme la copie de certains fichiers. En effet pour que l’extension s’exécute au démarrage de Revit, les fichiers doivent être localisés à un emplacement précis. Il existe deux (2) possibilités:

  • C:\ProgramData\Autodesk\Revit\Addins\2020 ou
  • C:\Users\Username\AppData\Roaming\Autodesk\Revit\Addins\2020

Username représente le nom de l’usage Windows.

Vous pouvez modifier la version de Revit (2020) pour une autre. Si vous avez plusieurs versions, vous pouvez copier les fichiers requis pour chaque version dans laquelle vous voulez que votre extension s’exécute.

Si vous voulez que votre extension soit disponible à tous les utilisateurs Windows, utilisez le dossier ProgramData plutôt que celui de l’usager. L’évènement post-build défini par défaut copie plutôt les fichiers dans le dossier utilisateur pour le débogage. Notez l’utilisation de variables (ex. $(Appdata)) pour le chemin de dossier standard.

Évènement post-build

Actuellement deux(2) fichiers seront copiés après la compilation soit:

  • MaPremiereExtensionRevit.dll (l’exécutable de l’extension)
  • MaPremiereExtensionRevit.addin (le manifeste)

Les classes

Les classes sont des fichiers qui contiennent le code (dans ce cas-ci en langage C#). Pour ajouter des classes, à partir de l’explorateur de solutions, cliquez le nom du projet (ex. MaPremiereExtensionRevit) avec le bouton droit de la souris et sélectionnez Ajouter->Classe….

Par défaut, le modèle nous a créé deux (2) fichiers de classes:

  • App.cs
  • Command.cs

App.cs contient le code qui s’exécute au démarrage (chargement) de l’application. C’est ici entre autres que l’on pourrait trouver les instructions pour ajouter un nouvel onglet au ruban ou des boutons à l’intérieur d’onglet existant.

App.cs

Command.cs contient le code qui s’exécutera lors de l’exécution de la commande. Vous pouvez avoir plus d’une commande par application.

Command.cs

Le manifeste

Le manifeste contient les informations requises pour le chargement de l’application et des commandes dans Revit. Nous reviendrons plus en détails sur son contenu dans un article ultérieur.

Conclusion

À ce stade-ci nous devrions mieux comprendre la structure d’une extension Revit. Dans mon prochain article, je décortiquerai le contenu des fichiers de classes.

D’ici là, bon codage!

Laisser un commentaire