Revit C# : Hello World au demarrage

Le coeur du code est identique à la version ‘commande’, mais je présente ici la manière d’exécuter un code au démarrage (ou à la fermeture) de Revit.
On appel cela une application (‘External application’) en opposition avec une commande (‘External command’).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Hello World - au demarrage
[Transaction(TransactionMode.Manual)]
public class HelloWorld : IExternalApplication {
  public Autodesk.Revit.UI.Result OnShutdown( Autodesk.Revit.UI.UIControlledApplication application) {
    return Result.Succeeded;
  }
  public Autodesk.Revit.UI.Result OnStartup( Autodesk.Revit.UI.UIControlledApplication application) {
    using (Transaction trans = new Transaction(doc)) {
      trans.Start("HelloWorld");
      Autodesk.Revit.UI.TaskDialog.Show("un titre","Hello World!" );
      trans.Commit();
    }
    return Result.Succeeded;
  }
}

Explication ligne par ligne

lignes 3,16 : on crée une classe qui à une interface IExternalApplication.
lignes 4,6 : on crée une méthode ‘OnShutdown’ qui sera appelée à la fermeture de Revit.
ligne 5 : on retourne la valeur Succeeded (il ne peut pas y avoir d’erreur, on a rien codé !).
lignes 7,14 : on crée une méthode ‘OnStartup’ qui sera appelée au démarrage de Revit.

Fermer le menu