Get host and subcomponents

Just add a condition to filter within your code.

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

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)

items = UnwrapElement(IN[0])

def GetSubComponents(item):
	# FamilyInstances
	if hasattr(item, "GetSubComponentIds"):
		return [item.Document.GetElement(x) for x in item.GetSubComponentIds()]

	else: return []

result = []

for i in items:
	# Get any SubComponents
	sub = GetSubComponents(i)
	if len(sub) > 0:
		# If SubComponents found add a list item
		result.append([i,[sub]])
	else:
		pass

OUT = result		

3 Likes