Exemple de code d'une macro au niveau de l'application en C#

Dans l'exemple, la classe Revit.DB.Geometry.XYZ sert à définir une position (avec les coordonnées X, Y, Z) pour une note textuelle ajoutée par la macro dans la zone de texte de la vue active du document actif.

Dans l'IDE, utilisez le code suivant pour la méthode :

public
void MyFirstMacroAppCS(){
Autodesk.Revit.DB.XYZ
baseVec = Application.Create.NewXYZ(1.0, 0.0, 0.0);Autodesk.Revit.DB.XYZ
upVec = Application.Create.NewXYZ(0.0, 0.0, 1.0); Autodesk.Revit.DB.XYZ
origin = Application.Create.NewXYZ(0.0, 0.0, 0.0);
Autodesk.Revit.DB.TextAlignFlags align
= Autodesk.Revit.DB.TextAlignFlags.TEF_ALIGN_LEFT | Autodesk.Revit.DB.TextAlignFlags.TEF_ALIGN_TOP;
string
strText = "My First Macro, App level, C#!"; double
lineWidth = 4.0 / 12.0;
Autodesk.Revit.DB.View
pView = ActiveUIDocument.Document.ActiveView;Autodesk.Revit.DB.Transaction
t = new Autodesk.Revit.DB.Transaction(ActiveUIDocument.Document, "NewTextNote");t.Start();ActiveUIDocument.Document.Create.NewTextNote(pView,
origin, baseVec, upVec, lineWidth, align, strText);
t.Commit();
}

Cette macro au niveau de l'application étant écrite pour modifier un document, vous devez commencer une transaction (t.Start();) et terminer la transaction (t.Commit();) pour que son exécution fonctionne correctement.

Zone de texte placée par la macro

Conseil : N'oubliez pas d'intégrer votre projet dans l'environnement de développement intégré (IDE) de macro Revit avant de l'exécuter à partir du gestionnaire de macros.