Get Sheet Set by String?

I am seeking a way to get a ViewSheetSet by giving a string. Orchard’s Sheet Set node is great but sometimes resets itself back to blank.

Hey,

Something like this perhaps?

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager

doc = DocumentManager.Instance.CurrentDBDocument


name = IN[0]


sheet_Set_List = FilteredElementCollector(doc).OfClass(ViewSheetSet).ToElements()

#names = []
output = []

for sheet_Set in sheet_Set_List:
    #names.append(sheet.Name)
    if name == sheet_Set.Name:
        output.append(sheet_Set)

OUT = output, #names

Kind regards,

Mark

2 Likes

Yes!
I just changed the last line to output a single item like the Orchard node.

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager

doc = DocumentManager.Instance.CurrentDBDocument


name = IN[0]


sheet_Set_List = FilteredElementCollector(doc).OfClass(ViewSheetSet).ToElements()

#names = []
output = []

for sheet_Set in sheet_Set_List:
    #names.append(sheet.Name)
    if name == sheet_Set.Name:
        output.append(sheet_Set)
        
OUT = output[0]
1 Like