Hi! I´mtrying to retrive this information from a project in a dynamo script. I could not get it done. I just retrieve The Project Browser. I Need to retrieve this items from a model:
The class here does the trick. Not aware of any custom packages supporting this in node form currently.
Yes, I´m trying to retrieve those from that code, but steel I could´nt get them ![]()
Ok share the code you have so people can assist further.
import clr
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
doc = DocumentManager.Instance.CurrentDBDocument
pb = BrowserOrganization.GetCurrentBrowserOrganizationForViews(doc)
name = []
for p in pb.Parameters:
name.append(p.Element)
OUT = name
This will get you the names. not the elements. OBS Works in 2024 have been having truble getting it to work in older versions. also i doesnt work if you use built in parameters i have no clue why.
dont put anything in to the inputs taken out from a custom node i made
Package SEGOKS if you want a node for it
import clr
# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
browsers = FilteredElementCollector(doc).OfClass(BrowserOrganization).ToElements()
for b in browsers :
viewBrowser=b.GetCurrentBrowserOrganizationForViews(doc)
viewBrowserSheet=b.GetCurrentBrowserOrganizationForSheets(doc)
View_folders = viewBrowser.GetFolderItems(doc.ActiveView.Id)
output = []
for folder in View_folders:
fID = doc.GetElement(folder.ElementId).Name
output.append(fID)
Sheet_folders = viewBrowserSheet.GetFolderItems(doc.ActiveView.Id)
outputb = []
for folder in Sheet_folders:
sID = doc.GetElement(folder.ElementId).Name
outputb.append(sID)
OUT = output,outputb
To clarify
works
will return null
Hi,
try this
Edit Code updated for Project Parameters
import sys
import clr
import System
from System.Collections.Generic import List
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
import Autodesk.Revit.DB as DB
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
uidoc = uiapp.ActiveUIDocument
app = uiapp.Application
sdkNumber = int(app.VersionNumber)
clr.AddReference("System.Core")
clr.ImportExtensions(System.Linq)
bip_values = [System.Convert.ToInt32(x) for x in System.Enum.GetValues(BuiltInParameter)]
project_view = FilteredElementCollector(doc).OfClass(View).WhereElementIsNotElementType().First(lambda x : x.ViewType == ViewType.ProjectBrowser)
viewBrowser = BrowserOrganization.GetCurrentBrowserOrganizationForViews(doc)
view_folders = viewBrowser.GetFolderItems(project_view.Id)
output = []
for folder in view_folders:
id_value = getattr(folder.ElementId, "Value" if sdkNumber >= 2024 else "IntegerValue")
if id_value in bip_values:
para_bip = System.Enum.ToObject(BuiltInParameter, id_value)
output.append(LabelUtils.GetLabelFor(para_bip))
else:
para_elem = doc.GetElement(folder.ElementId)
output.append(para_elem.Name)
OUT = output




