Przykład kodu makra poziomu aplikacji w języku C#

W środowisku IDE użyj przedstawionego poniżej kodu jako metody:

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();
}

Należy zauważyć, że ponieważ to makro poziomu aplikacji jest napisane w celu zmodyfikowania dokumentu, trzeba rozpocząć transakcję (t.Start ();) i zakończyć transakcję (t.Commit ();), aby zapewnić prawidłowe działanie makra.

W przedstawionym przykładzie klasa Revit.DB.Geometry.XYZ służy do zdefiniowania położenia (przy użyciu współrzędnych X, Y, Z) notatki tekstowej, która zostanie dodana do pola tekstowego aktywnego widoku aktywnego dokumentu.

Pole tekstowe wstawione przez makro

Wskazówka: Należy pamiętać, że przed próbą uruchomienia projektu w Menedżerze makr należy go zbudować w środowisku Revit macro IDE.