Utilice estos ejemplos de código para explorar las herramientas del Administrador de macros.
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
namespace My_First_Module
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("E04BAFB6-D442-457A-A88C-CF2D7208793E")]
public partial class ThisApplication
{
private void Module_Startup(object? sender, EventArgs e)
{
}
private void Module_Shutdown(object? sender, EventArgs e)
{
}
public void hello()
{
TaskDialog.Show("Dialog","Hello World");
}
#region Revit Macros generated code
private void InternalStartup()
{
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
}
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
namespace My_First_Module
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("E04BAFB6-D442-457A-A88C-CF2D7208793E")]
public partial class ThisApplication
{
private void Module_Startup(object? sender, EventArgs e)
{
}
private void Module_Shutdown(object? sender, EventArgs e)
{
}
public void SelectAllElements()
{
// Get the UIDocument
Autodesk.Revit.UI.UIDocument uidoc = this.ActiveUIDocument;
// Get the Document from the UIDocument
Autodesk.Revit.DB.Document doc = uidoc.Document;
// Create a FilteredElementCollector that will collect all elements in the Document
FilteredElementCollector collector = new FilteredElementCollector(doc);
// Apply no filter, which means all elements are collected
collector.WherePasses(new LogicalOrFilter(new ElementIsElementTypeFilter(false), new ElementIsElementTypeFilter(true)));
// Convert the collected elements to a list of element ids
IList<ElementId> ids = collector.ToElementIds().ToList();
// Check if there are elements to select
if (ids.Count > 0)
{
// Start a new transaction (Revit API requires this for most changes to the model)
using (Transaction trans = new Transaction(doc, "Select All Elements"))
{
trans.Start();
// Make the selection
uidoc.Selection.SetElementIds(ids);
trans.Commit();
}
}
}
#region Revit Macros generated code
private void InternalStartup()
{
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
}