Originally Posted by
sdarali
I always advise to keep as much as possible the use of Revit tools for their intended use (e.g. use a wall command to make walls and nothing else). So if the "Filled Region" command lacks a scheduling functionality, instead of finding alternative command we can extend the functionality of Revit using .Net programming or a Revit Script. For your particular use, the below script is sufficient to produce the schedule. If you need help plugging it in into Revit, I can provide instructions. Currently the script will create a schedule for the Active View (currently open view) listing each Region Type and its Area, but it can be extended to run through all elevations.
public void ScheduleFilledRegions()
{
var uidoc = ActiveUIDocument;
var doc = uidoc.Document;
var collectorFilledRegions = new FilteredElementCollector(doc, uidoc.ActiveView.Id).OfType<FilledRegion>();
string data = "";
foreach (var e in collectorFilledRegions) {
var regionArea = e.GetParameters("Area")[0].AsDouble() * 0.092903;
var regionType = doc.GetElement(e.GetTypeId()).Name;
data += regionType + "," + regionArea.ToString("#.###") + Environment.NewLine;
}
TaskDialog.Show("Filled Regions Schedule", data);
}