Why this node does not contain floor category, can i have any alternative for this to get the family type name of floor

NODE IS FROM Orchid

Orchid package support is done via the project’s github as the package author is not active in the community.

For basic nodes I would recommend getting the floor types from the Element Types (or Element Class if you’re in 2024+) dropdown and then using All Elements of Type (or all Elements of Class if you’re in 2024+).

1 Like

any solution to run with 2022 ??

This is a little hacky, but i suppose it is what you need.

Any Idea without clockwork🙃its not working here, i want all family type in a project mainly Floor Types

Should work, i just unpacked the Clockwork Nodes to Python.

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

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

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

def GetBicFromInput(var):	
	if var:
		cattype = var.GetType().ToString()
		if cattype == "Revit.Elements.Category": return System.Enum.ToObject(BuiltInCategory, var.Id)
		elif cattype == "Autodesk.Revit.DB.BuiltInCategory": return var
		elif cattype == "System.String": 
			found = [x for x in bics if x.ToString() == var]
			if len(found) > 0: return found[0]
		else: return None
	else: return None

doc = DocumentManager.Instance.CurrentDBDocument
bics = System.Enum.GetValues(BuiltInCategory)

if isinstance(IN[0], list): OUT = [GetBicFromInput(x) for x in IN[0]]
else: OUT = GetBicFromInput(IN[0])
FamilyTypes.OfCategory
import System
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

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

def ElementTypesByCategory(bic, doc):
	collector = FilteredElementCollector(doc).OfCategory(bic).WhereElementIsElementType()
	return collector.ToElements()

inputdoc = []
if not inputdoc: doc = DocumentManager.Instance.CurrentDBDocument
elif inputdoc.GetType().ToString() == "Autodesk.Revit.DB.RevitLinkInstance": doc = inputdoc.GetLinkDocument()
elif inputdoc.GetType().ToString() == "Autodesk.Revit.DB.Document": doc = inputdoc
else: doc = DocumentManager.Instance.CurrentDBDocument

if isinstance(IN[0], list): OUT = [ElementTypesByCategory(x, doc) for x in IN[0]]
else: OUT = ElementTypesByCategory(IN[0], doc)
1 Like

Use Element Types (Floor Type) > All Elements of type

1 Like