Recently @c.poupin was a huge help with hide/unhide text script as seen below:
Hide/Unhide Text via Type Name:
import clr
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
import System
from System.Collections.Generic import List
ueWrapper = None
wrappers = clr.GetClrType(Revit.Elements.ElementWrapper).GetMethods()
for w in wrappers:
if w.ToString().startswith("Revit.Elements.UnknownElement"):
ueWrapper = w
break
def hideElements(textNotes):
for i in textNotes:
v = doc.GetElement(i.OwnerViewId)
if not i.IsHidden(v) and i.CanBeHidden(v):
v.HideElements(List[ElementId]([i.Id]))
def unHideElements(textNotes):
for i in textNotes:
v = doc.GetElement(i.OwnerViewId)
if i.IsHidden(v):
v.UnhideElements(List[ElementId]([i.Id]))
nameType = IN[0]
hideBool = IN[1]
#filter constuction
pvp = ParameterValueProvider(ElementId(BuiltInParameter.SYMBOL_NAME_PARAM))
evaluator = FilterStringEquals()
rule = FilterStringRule(pvp, evaluator, nameType, True)
filter = ElementParameterFilter(rule)
textNotes = FilteredElementCollector(doc).OfClass(TextNote).WherePasses(filter).ToElements()
TransactionManager.Instance.EnsureInTransaction(doc)
if hideBool:
hideElements(textNotes)
else:
unHideElements(textNotes)
TransactionManager.Instance.TransactionTaskDone()
#by pass the out Wrapper for Dynamo 2.0.4
textNotesUnwrap = [ueWrapper.Invoke(None, (txtN, False)) for txtN in textNotes ]
OUT = textNotesUnwrap
Could this be adapted to hide/unhide Detail Line via Style Name?
Thanks.