import clr, System
clr.AddReference("RevitNodes")
import Revit
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
def get_bic(catname) :
ost=[]
bic = System.Enum.GetValues(BuiltInCategory)
cats, bics = [], []
for i in bic:
try:
cat = Revit.Elements.Category.ById(ElementId(i).IntegerValue)
cats.append(cat)
bics.append(i)
except:
pass
for i, b in zip(cats, bics):
if catname == str(i):
ost = b
return ost
OUT =get_bic(IN[0])
@Dimitar_Venkov , thanks for answer but i try its (( but its no work …
only with extra def its work (im dont why… must be more simpe solution… ) :
import clr, System
clr.AddReference("RevitNodes")
import Revit
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
def try_except_cats(x):
try:
cat = Revit.Elements.Category.ById(ElementId(x).IntegerValue).ToString()
except:
cat=None #"INVALID or another without BuiltInCategory element "
return cat
def get_cats(catname):
bics_names=[[i, try_except_cats(i)] for i in System.Enum.GetValues(BuiltInCategory)]
bics=[i[0] for i in bics_names]
names=[i[1] for i in bics_names]
ost=[i for i, b in zip(names, bics) if catname == str(b)]
return ost[0]
OUT = get_cats(IN[0])
import clr, System
clr.AddReference('RevitNodes')
import Revit
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
def get_bic(catname):
ost=[]
bic = System.Enum.GetValues(BuiltInCategory)
cats, bics = [], []
for i in bic:
try:
cat = Revit.Elements.Category.ById(ElementId(i).IntegerValue)
cats.append(cat)
bics.append(i)
except:
pass
for i, b in zip(cats, bics):
if catname == str(i):
ost = b
return ost
OUT = get_bic(IN[0])