El código para crear correctamente macros de nivel de documento queda almacenado en el archivo RVT después de guardar dicho archivo. Los archivos del proyecto se eliminan de la ubicación temporal cuando Revit se cierra.
En el IDE, utilice el siguiente código para el método:
public void MyFirstMacroDocCS() {Autodesk.Revit.DB.XYZ baseVec = Document.Application.Create.NewXYZ(0.0, 0.0, 1.0); Autodesk.Revit.DB.XYZ upVec = Document.Application.Create.NewXYZ(0.0, 0.0, 1.0); Autodesk.Revit.DB.XYZ origin = Document.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, Doc level, C#!"; double lineWidth = 4.0 / 12.0; Autodesk.Revit.DB.Transaction t = new Autodesk.Revit.DB.Transaction(Document, "NewTextNote");t.Start();Autodesk.Revit.DB.View pView = Document.ActiveView; Document.Create.NewTextNote(pView, origin, baseVec, upVec, lineWidth, align, strText);t.Commit();}
En este ejemplo se observa que, cuando se genera el proyecto en el IDE de macros de Revit, también se genera el proyecto DocCSharp. El código de su macro C# a nivel de documento reside en ThisDocument.cs. Puede utilizar el Explorador de proyectos del IDE para ver su ubicación temporal en el disco.
El cuadro de texto colocado por la macro