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