Creates a regular schedule that can relate to a specific area scheme.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2013
Syntax
C# |
---|
public static ViewSchedule CreateSchedule( Document document, ElementId categoryId, ElementId areaSchemeId ) |
Visual Basic |
---|
Public Shared Function CreateSchedule ( _ document As Document, _ categoryId As ElementId, _ areaSchemeId As ElementId _ ) As ViewSchedule |
Visual C++ |
---|
public: static ViewSchedule^ CreateSchedule( Document^ document, ElementId^ categoryId, ElementId^ areaSchemeId ) |
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The document to which the new schedule will be added.
- categoryId
- Type: Autodesk.Revit.DB..::..ElementId
The ID of the category whose elements will be included in the schedule, or InvalidElementId for a multi-category schedule.
- areaSchemeId
- Type: Autodesk.Revit.DB..::..ElementId
The ID of an area scheme in an area schedule, InvalidElementId otherwise.
Return Value
The newly created schedule.
Examples

ViewSchedule areaSchedule = null; using (Transaction transaction = new Transaction(doc, "Creating Schedule")) { transaction.Start(); FilteredElementCollector collector = new FilteredElementCollector(doc); collector.OfCategory(BuiltInCategory.OST_AreaSchemes); //Get first ElementId of AreaScheme. ElementId areaSchemeId = collector.FirstElementId(); if (areaSchemeId != null && areaSchemeId != ElementId.InvalidElementId) { // If you want to create an area schedule, you must use CreateSchedule method with three arguments. // The value of the second argument must be ElementId of BuiltInCategory.OST_Areas category // and the value of third argument must be ElementId of an AreaScheme. areaSchedule = Autodesk.Revit.DB.ViewSchedule.CreateSchedule(doc, new ElementId(BuiltInCategory.OST_Areas), areaSchemeId); } if (null != areaSchedule) { transaction.Commit(); } else { transaction.RollBack(); } }

Dim areaSchedule As ViewSchedule = Nothing Using transaction As New Transaction(doc, "Creating Schedule") transaction.Start() Dim collector As New FilteredElementCollector(doc) collector.OfCategory(BuiltInCategory.OST_AreaSchemes) 'Get first ElementId of AreaScheme. Dim areaSchemeId As ElementId = collector.FirstElementId() If areaSchemeId IsNot Nothing AndAlso areaSchemeId <> ElementId.InvalidElementId Then ' If you want to create an area schedule, you must use CreateSchedule method with three arguments. ' The value of the second argument must be ElementId of BuiltInCategory.OST_Areas category ' and the value of third argument must be ElementId of an AreaScheme. areaSchedule = Autodesk.Revit.DB.ViewSchedule.CreateSchedule(doc, New ElementId(BuiltInCategory.OST_Areas), areaSchemeId) End If If areaSchedule IsNot Nothing Then transaction.Commit() Else transaction.RollBack() End If End Using
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions..::..ArgumentException | document is not a project document. -or- categoryId is not a valid category for a regular schedule. -or- In a non-area schedule, areaSchemeId is not InvalidElementId. -or- In an area schedule, areaSchemeId is not the ID of an area scheme. |
Autodesk.Revit.Exceptions..::..ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions..::..ModificationForbiddenException | The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process. |
Autodesk.Revit.Exceptions..::..ModificationOutsideTransactionException | The document has no open transaction. |