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!

Programmation Revit – Créer votre première extension

Maintenant que nous avons installé un modèle de départ (voir l’article Add-in Wizard), nous allons l’utiliser pour créer notre première extension Revit.

Vous pouvez visionner la vidéo ci-dessous ou suivre les étapes un peu plus bas. La vidéo couvre aussi l’article précédent et l’article suivant.

Création de votre projet

  • Démarrez Visual Studio et à partir de la fenêtre de démarrage, choisissez Créer un projet.
  • Choisissez comme modèle Revit 2020 Addin (C#).
  • Inscrivez le nom du projet (ex. Ma première extension Revit)
  • Sélectionnez l’emplacement (vous pouvez conserver la localisation par défaut ou utiliser le bouton à droite pour sélectionner un autre dossier).
  • Pour le nom de la solution vous pouvez conserver le même nom que celui du projet. Remarquez, une solution peut contenir plusieurs projets.

Après avoir cliqué le bouton Créer, vous aurez un nouveau projet de créé.

  • Enregistrez à nouveau votre projet en utilisant le bouton Enregistrer tout.
Enregistrer tout

Conclusion

Vous avez créé votre première extension. Dans le prochain article (Analyse du squelette d’une extension Revit), je vous expliquerai ce que le modèle de départ a inclut dans notre extension.

D’ici là, bon codage!

Programmation Revit – Add-in Wizard

Vous avez maintenant installé Visual Studio Community 2019. Sinon référez-vous à mon article Installation VS Community 2019. Avant de créer notre première extension pour Revit, je vais vous indiquer quelques liens utiles.

Avant de programmer

Premièrement allez à:

https://www.autodesk.com/developer-network/platform-technologies/revit

C’est le site officiel de développeur pour Revit. Dans la section «Tools», au bas de la page, vous retrouverez les kits de développement dans lesquels vous trouverez plusieurs exemples qui vous seront éventuellement utile. Je vous suggère d’installer la version correspondant à votre version de Revit (ex. Revit 2020.1 SDK).

Vous trouverez aussi dans cette même page le lien vers le tutoriel «My First Revit Plug-in», mais vous trouverez la même information dans mon prochain article ou similaire.

Deuxièmement, je vous suggère de télécharger un gabarit Visual Studio qui vous simplifiera la création de vos projets. Celui a été créé et est maintenu par Jeremy Tammik qui est une sommité dans le développement Revit. Sur son blogue vous retrouverez plusieurs exemples d’applications.

Concernant l’assistant vous trouverez des informations complètes en suivant le lien suivant:

https://thebuildingcoder.typepad.com/blog/2019/04/revit-2020-c-and-vb-visual-studio-add-in-wizards.html

Mais pour vous simplifier la vie, vous pouvez télécharger les versions à installer à l’aide des liens suivants:

Téléchargez-les ou copiez-les à la localisation suivante:

C:\Users\Username\Documents\Visual Studio 2019\Templates\ProjectTemplates\Visual C#

Username est votre nom d’usager Windows. Si vous utilisez une version différente de Visual Studio changer la version en conséquence. Pour VB .Net changez le dernier dossier pour Visual Basic.

Dans le prochain article (Créer votre première extension) nous pourrons créer notre première extension.

D’ici là bon codage!

Programmation Revit- Installation VS Community 2019

Pour développer des extensions Revit distribuables vous devez installer séparément Visual Studio. La version gratuite Community est suffisante.

Voici le lien de téléchargement pour la version courante soit 2019:

https://visualstudio.microsoft.com/fr/vs/community/

Choisissez bien la version Communauté (Community) et téléchargement gratuit.

Pour l’installation vous pouvez visualiser la vidéo suivante ou suivre les instructions plus bas :

Étapes d’installation

  • Téléchargez puis démarrez le programme d’installation.
  • À l’écran de départ sélectionnez «Développement .NET Desktop».
  • Dans la zone «Détails de l’installation», sélectionnez les outils de développement .Net Framework de la version 4.6.1 à 4.8.
  • Si vous le désirez vous pouvez aussi ajouter une autre langue pour l’interface comme l’anglais. Utilisez l’onglet Modules linguistiques.
  • Cliquez le bouton Installer pour démarrer l’installation. Cela prendra un certain temps et vous devrez redémarrer votre ordinateur.
  • Après le redémarrage vous trouverez l’application dans le menu Démarrer de Windows sous Visual Studio 2019. Libre à vous de créer un raccourci sur le bureau.

Conclusion

Nous sommes maintenant prêt à développer notre première extension pour Revit. Restez à l’affût pour la suite.

Programmation Revit

Vous avez peut-être remarqué, mais j’ai changé le titre de mon blogue afin d’inclure Revit. Revit prends de plus en plus de place dans le domaine du bâtiment (architecture, structure, mécanique et électricité du bâtiment). Je m’y intéresse depuis 2015 environ et depuis quelques années je l’enseigne maintenant régulièrement.

Naturellement je me suis rapidement intéressé à l’aspect programmation. Comme AutoCAD et autres produits Autodesk, l’API Revit est très développé. Revit offre aussi plusieurs outils de programmation.

Dynamo

Dynamo est un outil de programmation visuel maintenant bien intégré à Revit. Il est basé sur l’API Revit. Je ne connais pas bien cet outil mais il est très populaire car il demande moins de connaissance de programmation classique étant donné que tout est visuel.

Cet outil est disponible dans l’onglet Gérer.

Voici un exemple d’un script que j’ai écrit pour sélectionner des tuyaux associés à un niveau:

Vous pouvez aussi trouver plusieurs scripts gratuits intéressants sur le WEB. Voici un exemple intéressant:

Macros

Dans l’onglet Gérer vous avez accès à un éditeur interne pour créer des macros:

Vous pouvez créer des macros en utilisant les langages C#, VB .Net, Ruby et Python.

Les macros sont un peu l’équivalent du VBA pour AutoCAD. Comme les macros VBA, elles peuvent être incluses dans le document. L’éditeur se nomme SharpDevelop et est similaire à Visual Studio.

Extension (Plugin)

Enfin les extensions développées séparément à l’aide de Visual Studio offre le plus de fonctionnalités et permettre le déploiement via Autodesk App Store.

https://apps.autodesk.com/RVT/FR/Home/Index

Par contre cela nécessite l’installation séparément de Visual Studio. Ceci fera l’objet de mon prochain article.

Voici un exemple d’extension intéressante et populaire qui permet de sélectionner individuellement les éléments d’un projet à un autre et non toute la catégorie comme la fonction Transférer les normes du projet le fait.

https://apps.autodesk.com/RVT/en/Detail/Index?id=8481526687890452659&appLang=en&os=Win64

Conclusion

Si vous lisez l’anglais vous pouvez lire cet article https://www.augi.com/articles/detail/revit-api-starter-kit dont je me suis inspiré pour écrire cet article.

Bon codage!

Les boîtes de dialogue (VB .Net) – Partie I

Bonjour, il y a un certain temps que je n’ai pas écrit de nouvelle. La dernière fois que j’ai écrit sur la programmation c’était pour les boîtes de dialogue sur MAC. Dans cet article, nous verrons les boîtes de dialogue en VB .Net sous Visual Studio 2013 avec AutoCAD 2016. L’exemple permettra de créer un rectangle selon les dimensions spécifiées dans la boîte de dialogue. Cela nous permettra aussi de voir comment créer un objet. Cet article sera scindé en deux parties. La première partie mettra en place la boîte de dialogue et la seconde démontrera la création du rectangle dans AutoCAD.

Continuer la lecture de « Les boîtes de dialogue (VB .Net) – Partie I »

ObjectARX pour Mac – Boîte de dialogue

Bonjour,

Après avoir écrit notre première routine ARX pour Mac, nous allons maintenant voir comment utiliser une boîte de dialogue pour lancer notre message.

Peu de documentation est disponible sur ce sujet. Je me suis inspiré du vidéo suivant: Required Development Tools, disponible sur l’aide en ligne. Par contre le vidéo est de piètre qualité et les explications sont loin d’être claires. J’espère que mes explications seront plus faciles à suivre.

Continuer la lecture de « ObjectARX pour Mac – Boîte de dialogue »

ObjectARX pour Mac

Bonjour,

Après avoir installé et testé Xcode, nous sommes près pour notre première routine pour AutoCAD. Il faut maintenant télécharger et installer la librairie ObjectArx pour Mac 2013. Voici le lien pour le téléchargement:

http://www.objectarx.com.

Après le téléchargement double-cliquez sur ObjectARX_2013_English_Mac_OSX.dmg et suivez les instructions d’installation. Cela devrait se faire sans problème.

Continuer la lecture de « ObjectARX pour Mac »

Installation XCode 3.2.6

Bonjour,

Avant de pouvoir développer des applications pour AutoCAD Mac il faut installer les prérequis. Le premier consiste à installer Xcode 3.2.6 qui est l’outil de développement supporté par AutoCAD. Pour connaître les prérequis vous pouvez consulter le lien suivant: ObjectARX for AutoCAD 2013 Readme.

J’utilise un ordinateur MacBook Pro muni d’un processeur 2.5Ghz Intel Core i5 avec 8Go de mémoire. La carte vidéo est basique (Intel HD Graphics 4000 512 MB) et le tout roule sous Mac OS X Lion 10.7.5.

Continuer la lecture de « Installation XCode 3.2.6 »