public void SetAdditionalRevisionIds( ICollection<ElementId> projectRevisionIds )
| Exception | Condition |
|---|---|
| ArgumentException | One or more ElementIds in projectRevisionIds do not correspond to a Revision element. |
| ArgumentNullException | A non-optional argument was null |
The additional project revision ids setting corresponds to the sheet's Revisions On Sheet parameter.
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(); } } }
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