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 ??
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