Creates a regular schedule that can relate to a specific area scheme.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2013
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
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. |