ViewScheduleCreateSchedule(Document, ElementId, ElementId) Method |
Creates a regular schedule that can relate to a specific area scheme.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 27.0.4.0 (27.0.4.0)
Syntaxpublic 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| Exception | Condition |
|---|
| 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.
|
ExampleViewSchedule areaSchedule = null;
using (Transaction transaction = new Transaction(doc, "Creating Schedule"))
{
transaction.Start();
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfCategory(BuiltInCategory.OST_AreaSchemes);
ElementId areaSchemeId = collector.FirstElementId();
if (areaSchemeId != null && areaSchemeId != ElementId.InvalidElementId)
{
areaSchedule = Autodesk.Revit.DB.ViewSchedule.CreateSchedule(doc, new ElementId(BuiltInCategory.OST_Areas), areaSchemeId);
}
if (null != areaSchedule)
{
transaction.Commit();
}
else
{
transaction.RollBack();
}
}
See Also