SetAdditionalRevisionIds Method


Sets the Revisions to additionally include in the sheet's revision schedules.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2015

Syntax

C#
public void SetAdditionalRevisionIds(
	ICollection<ElementId> projectRevisionIds
)
Visual Basic
Public Sub SetAdditionalRevisionIds ( _
	projectRevisionIds As ICollection(Of ElementId) _
)
Visual C++
public:
void SetAdditionalRevisionIds(
	ICollection<ElementId^>^ projectRevisionIds
)

Parameters

projectRevisionIds
Type: System.Collections.Generic ICollection ElementId
The ids of Revisions to explicitly include in the sheet's revision schedules.

Remarks

Additionally included Revisions will always participate in the sheet's revision schedules. Normally a Revision is scheduled in the revision schedule because one of its associated RevisionClouds is present on the sheet.

The additional project revision ids setting corresponds to the sheet's Revisions On Sheet parameter.

Examples

Copy C#
public static void AddAdditionalRevisionsToSheet(ViewSheet viewSheet, String toMatch)
{
    Document doc = viewSheet.Document;

    ICollection<ElementId> revisions = viewSheet.GetAdditionalRevisionIds();

    // Find revisions whose description matches input string
    FilteredElementCollector collector = new FilteredElementCollector(doc);
    collector.OfCategory(BuiltInCategory.OST_Revisions);
    collector.WhereElementIsNotElementType();
    if (revisions.Count > 0)
        collector.Excluding(revisions);

    // Check if revision should be added
    foreach (Element revision in collector)
    {
        Parameter descriptionParam = revision.get_Parameter(BuiltInParameter.PROJECT_REVISION_REVISION_DESCRIPTION);
        String description = descriptionParam.AsString();
        if (description.Contains(toMatch))
            revisions.Add(revision.Id);
    }

    if (revisions.Count > 0)
    {
        // Apply the new list of revisions
        using (Transaction t = new Transaction(doc, "Add revisions to sheet"))
        {
            t.Start();
            viewSheet.SetAdditionalRevisionIds(revisions);
            t.Commit();
        }
    }
}
Copy VB.NET
Public Shared Sub AddAdditionalRevisionsToSheet(viewSheet As ViewSheet, toMatch As [String])
    Dim doc As Document = viewSheet.Document

    Dim revisions As ICollection(Of ElementId) = viewSheet.GetAdditionalRevisionIds()

    ' Find revisions whose description matches input string
    Dim collector As New FilteredElementCollector(doc)
    collector.OfCategory(BuiltInCategory.OST_Revisions)
    collector.WhereElementIsNotElementType()
    If revisions.Count > 0 Then
        collector.Excluding(revisions)
    End If

    ' Check if revision should be added
    For Each revision As Element In collector
        Dim descriptionParam As Parameter = revision.Parameter(BuiltInParameter.PROJECT_REVISION_REVISION_DESCRIPTION)
        Dim description As [String] = descriptionParam.AsString()
        If description.Contains(toMatch) Then
            revisions.Add(revision.Id)
        End If
    Next

    If revisions.Count > 0 Then
        ' Apply the new list of revisions
        Using t As New Transaction(doc, "Add revisions to sheet")
            t.Start()
            viewSheet.SetAdditionalRevisionIds(revisions)
            t.Commit()
        End Using
    End If
End Sub

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException One or more ElementIds in projectRevisionIds do not correspond to a Revision element.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was NULL

See Also