ViewSchedule.CreateSchedule(Document, ElementId, ElementId) Method

ViewScheduleCreateSchedule(Document, ElementId, ElementId) Method

Creates a regular schedule that can relate to a specific area scheme.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static ViewSchedule CreateSchedule(
	Document document,
	ElementId categoryId,
	ElementId areaSchemeId
)
Public Shared Function CreateSchedule ( 
	document As Document,
	categoryId As ElementId,
	areaSchemeId As ElementId
) As ViewSchedule
public:
static ViewSchedule^ CreateSchedule(
	Document^ document, 
	ElementId^ categoryId, 
	ElementId^ areaSchemeId
)
static member CreateSchedule : 
        document : Document * 
        categoryId : ElementId * 
        areaSchemeId : ElementId -> ViewSchedule 

Parameters

document  Document
The document to which the new schedule will be added.
categoryId  ElementId
The ID of the category whose elements will be included in the schedule, or InvalidElementId for a multi-category schedule.
areaSchemeId  ElementId
The ID of an area scheme in an area schedule, InvalidElementId otherwise.

Return Value

ViewSchedule
The newly created schedule.
Exceptions
ExceptionCondition
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.
ArgumentNullException A non-optional argument was null
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.
ModificationOutsideTransactionException The document has no open transaction.
Example
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

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also