La vidéo propose un tutoriel approfondi sur la création d’une commande C# pour Réviser en masse les feuilles dans Revit®. Elle explique les étapes de la configuration de l’interface utilisateur, la gestion des transactions pour des modifications sécurisées du document, et l’implémentation de la logique pour ajouter des révisions aux feuilles. Le tutoriel met l’accent sur la réutilisation du code et l’utilisation de méthodes d’extension pour rationaliser le processus de développement, aboutissant à un outil entièrement fonctionnel qui automatise une tâche courante dans Revit®.
Thèmes Principaux et Idées Essentielles
Objectif de la Commande : Révision en Masse des Feuilles
La commande vise à automatiser une tâche courante dans Revit® : l’ajout de révisions à plusieurs feuilles simultanément. C’est la première commande entièrement fonctionnelle développée dans la série de tutoriels, intégrant les connaissances acquises.
« Cette commande va traiter de la révision en masse des feuilles, c’est-à-dire l’ajout de révisions à plusieurs feuilles, une tâche très courante que j’aime automatiser lorsque je commence à apprendre un langage de programmation. »
Importance des Utilitaires Préexistants
La création de cette commande est facilitée par l’utilisation d’un « addin » et d’utilitaires déjà développés, tels qu’une barre d’outils personnalisée.
« Nous avons de nombreux utilitaires et configurations que nous avons produits dans notre addin, qui vont s’assembler pour soutenir cette commande et la rendre très facile à configurer par rapport à la faire de zéro. »
Ces utilitaires permettent de se concentrer sur la logique spécifique de la commande plutôt que sur la configuration de base.
Utilisation des Transactions dans l’API Revit®
Les transactions sont cruciales pour modifier le document Revit® de manière sécurisée et contrôlée.
« Une transaction est en fait le fait de dire au document que nous souhaitons y apporter une modification, d’obtenir une place dans la file d’attente et de demander à tout le monde d’attendre. »
Elles garantissent l’intégrité de la base de données de Revit®, surtout dans un environnement de travail partagé. La classe Transaction de l’API Revit® est utilisée, avec des méthodes clés comme Start, Commit, et potentiellement RollBack.
« C’est l’occasion de nommer la transaction dans la file d’attente d’annulation afin de voir exactement ce que vous avez fait au document. »
Processus de Construction de la Commande
La commande est construite de zéro pour récapituler les étapes fondamentales de la création d’une commande Revit® :
- Mise en place d’une classe de commande.
- Ajout d’un nouveau panneau et d’un bouton poussoir ou d’un menu déroulant.
- Traitement des formulaires dans la commande.
- Vérification de l’éditabilité des éléments.
- Ajout de nouvelles étapes spécifiques à ce tutoriel.
Structure de l’interface utilisateur (UI) : Un menu déroulant nommé « Revision » est créé, contenant un bouton poussoir nommé « Bulk Rev ».
Organisation du code : Une nouvelle classe cmdsRevision
est créée dans un dossier Tools pour organiser les commandes liées aux révisions.
Flux de la commande :
- Sélection de la révision : L’utilisateur choisit une révision existante via un formulaire personnalisé.
- Sélection des feuilles : L’utilisateur sélectionne les feuilles sur lesquelles appliquer la révision.
- Vérification de l’éditabilité : Pour les documents partagés, une vérification est effectuée pour s’assurer que les feuilles sélectionnées sont éditables.
« Nous devons nous assurer que nous éditons les feuilles ou vérifions leur éditabilité. »
- Application de la transaction : Les modifications sont enveloppées dans un bloc de transaction.
- Modification des feuilles : Pour chaque feuille sélectionnée et éditable, une méthode d’extension
AddRevision
est appelée pour ajouter l’ID de la révision. - Gestion des doublons : La méthode
AddRevision
vérifie si la révision est déjà présente sur la feuille.
« Le calque pourrait déjà avoir la révision appliquée, auquel cas nous voulons dire ‹ résultat échoué › parce que nous n’avons pas réellement ajouté cela à la feuille. »
- Rapport de succès : Un message de fin informe l’utilisateur du nombre de feuilles révisées et du nombre de feuilles ignorées.
Améliorations Futures Envisagées
- Ajout d’un filtre textuel au formulaire de liste.
- Implémentation d’une barre de progression avec la possibilité d’annuler le processus à mi-chemin.
« Mais c’est assez compliqué et fera l’objet de son propre tutoriel. »
Tests et Vérification
Le processus inclut des étapes de débogage pour s’assurer que l’interface utilisateur se charge correctement. Un exemple pratique montre l’exécution de la commande sur un projet Revit®, démontrant l’ajout de révisions et la gestion des feuilles déjà révisées.
« Trois feuilles sur six ont été révisées parce que nous avions déjà trois feuilles révisées, donc tandis que les autres ont obtenu cette révision, les autres n’avaient pas besoin de l’ajouter. »
Citations Clés
- Sur la nature fondamentale de la commande : « Cette commande est le premier que nous faisons, nous ferons beaucoup d’autres commandes pendant la série. »
- Sur l’importance des transactions : « Une transaction est effectivement nous disant au document que nous aimerions y apporter une modification et obtenant une place dans la file d’attente et disant à tout le monde d’attendre. »
- Sur la clarté du code et l’organisation : « Quand je vois cela dans la file d’annulation, je sais exactement quelle commande et quel addin a généré ce changement. »
- Sur la vérification de l’éditabilité : « Avant de continuer, nous devons nous assurer que nous éditons les feuilles ou vérifions leur éditabilité. »
- Sur l’expérience utilisateur et les messages de retour : « Nous voulons informer l’utilisateur si nous n’avons pas nécessairement ajouté la révision à toutes les feuilles, même si techniquement elles l’ont déjà, juste pour qu’il ne s’inquiète pas si rien ne change parce qu’il pourrait ne pas réaliser que ces feuilles sont déjà révisées. »
- Sur la satisfaction d’un premier succès : « C’est toujours excitant quand cette première commande, je pense, fonctionne et vous montre quelque chose d’utile. »
Conclusion
Ce tutoriel marque une étape importante dans la série, en assemblant plusieurs concepts et utilitaires pour créer une commande Revit® concrète et utile. Il met en lumière l’importance des transactions pour des modifications de documents sécurisées, la réutilisation du code et des utilitaires, et le processus itératif de développement d’outils pour Revit®. Le résultat est un outil fonctionnel de révision en masse, qui sert également de base pour des commandes plus complexes et des améliorations futures.