Exemplos de código de macro no nível do aplicativo em C#

No IDE, use a codificação a seguir para o método:

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

Observe que, porque esta macro no nível do aplicativo é escrita para modificar um documento, é necessário iniciar uma transação (t.Start();) e finalizar a transação (t.Commit();) para que a ela seja apropriadamente executada.

No exemplo, a classe Revit. DB. Geometry.XYZ é utilizada para definir uma posição (com coordenadas X, Y, Z) para uma nota de texto, que a macro irá adicionar na caixa de texto para a vista ativa do documento ativo.

A caixa de texto da macro colocada

Dica: Certifique-se de desenvolver seu projeto no IDE de macro do Revit, antes de tentar executá-lo a partir do Gerenciador de macros.