Help Creating Python Node that Outputs All Sheet Family in Revit Model

Hello,

I need help trying to create a Python script that will select all of the titleBlockFamilyTypes in my current Revit model so that the user may select the titleblock to be used in data-shapes drop down menu. The titleblock family type will then replace the “Select TitleBlock for Sheets” node used to create sheets in Revit. Thank you in advance for your help.

import clr

# Import DocumentManager and TransactionManager
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Transactions import TransactionManager
from RevitServices.Persistence import DocumentManager
# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument

# Import ToDSType(bool) extension method
clr.AddReference('RevitNodes')
import Revit
from Revit.Elements import *
clr.ImportExtensions(Revit.Elements)

titleblock_collector = FilteredElementCollector(doc) \
            .OfCategory(BuiltInCategory.OST_TitleBlocks)


titleblock_Families = 

OUT = titleblock_Families

FYI, Clockwork has a node (All Family Types of Category) for this.

Your filter is pretty close. You’ll also want to filter by elements that are types.

Thank you. The Clockwork node that you mentioned above does exactly what I am looking for.

Here’s code that outputs both family types and element instances…

import clr
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Transactions import TransactionManager
from RevitServices.Persistence import DocumentManager
# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument

# Import ToDSType(bool) extension method
clr.AddReference('RevitNodes')
import Revit
from Revit.Elements import *
clr.ImportExtensions(Revit.Elements)

titleblockElements = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_TitleBlocks).WhereElementIsNotElementType().ToElements()
titleblockTypes = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_TitleBlocks).WhereElementIsElementType().ToElements()

OUT = titleblockElements, titleblockTypes