pyRevit

Code
Library
Isolate Elements
#𧬠Function
def isolate_elements(list_el_ids, view):
"""Isolate Provided Elements in a View by using .Excluding method in FEC."""
# π Get Elements To Hide with .Excluding(isolate_elems)
List_isolate_el_ids = List[ElementId](list_el_ids)
hide_elems = FilteredElementCollector(doc, view.Id)\
.Excluding(List_isolate_el_ids)\
.WhereElementIsNotElementType()\
.ToElements()
#π¬Ensure Can be Hidden
hide_elem_ids = [el.Id for el in hide_elems if el.CanBeHidden(view)]
#π« Hide Elements
List_hide_el_ids = List[ElementId](hide_elem_ids)
view.HideElements(List_hide_el_ids)
#--------------------------------------------------
# π― Main
with Transaction(doc, 'Isolate Elements') as t:
t.Start() #π
# π¦ Get Elements to Isolate
elements_to_isolate = [doc.GetElement(e_id) for e_id in uidoc.Selection.GetElementIds()]
List_isolate_ids = List[ElementId](elements_to_isolate)
# β
Isolate Elements
isolate_elements(List_isolate_ids, doc.ActiveView)
t.Commit() #π# -*- coding: utf-8 -*-
# β¬οΈ Imports
from Autodesk.Revit.DB import *
import clr
clr.AddReference('System')
from System.Collections.Generic import List
# π¦ Variables
uidoc = __revit__.ActiveUIDocument
doc = __revit__.ActiveUIDocument.Document
active_view = doc.ActiveView
# π― Function
def isolate_elements(elements, view):
# type:(List[ElementId], View) -> None
"""Function to Isolate Elements in the given View."""
# βElements to Hide
hide_elem = FilteredElementCollector(doc, view.Id)\
.Excluding(elements)\
.WhereElementIsNotElementType().ToElements()
# π Filter Elements that can not be hidden.
hide_elem_ids = [e.Id for e in hide_elem
if e.CanBeHidden(view)]
# π
Isolate Elements
view.HideElements(List[ElementId](hide_elem_ids))
# π― Main
t = Transaction(doc, 'Isolate Elements')
t.Start()
# π¦ Get Elements to Isolate
elements_to_isolate = [doc.GetElement(e_id)
for e_id in uidoc.Selection.GetElementIds()]
List_isolate_ids = List[ElementId](elements_to_isolate)
# β
Isolate Elements
isolate_elements(List_isolate_ids, active_view)
t.Commit()
__author__ = 'Erik Frits'

β¨οΈ Happy Coding!
Erik Frits