Salut Thomas
Try this (in Python)
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
#import Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
#import transactionManager and DocumentManager (RevitServices is specific to Dynamo)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
#Get Important vars
doc = DocumentManager.Instance.CurrentDBDocument
def getfilterByName(nameFilter):
collfilter = FilteredElementCollector(doc).OfClass(FilterElement).ToElements()
if collfilter:
filterSelect = [x for x in collfilter if x.Name == nameFilter]
if filterSelect:
return filterSelect[0]
else: return None
nameFilter = IN[0]
outViews = []
filter = getfilterByName(nameFilter)
if filter:
collViews = FilteredElementCollector(doc).OfClass(View)
viewsTemplate = [x for x in collViews if x.IsTemplate]
#Processing
TransactionManager.Instance.ForceCloseTransaction()
TransactionManager.Instance.EnsureInTransaction(doc)
for vTemp in viewsTemplate:
if vTemp.AreGraphicsOverridesAllowed():
if filter.Id not in vTemp.GetFilters():
vTemp.AddFilter(filter.Id)
outViews.append(vTemp)
TransactionManager.Instance.TransactionTaskDone()
OUT = outViews
else:
OUT = "Filtre introuvable"