Advertisement
Renat_gh00st

Py.ChangeFilterValues

Mar 21st, 2018
5,184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.19 KB | None | 0 0
  1. import clr
  2. clr.AddReference('ProtoGeometry')
  3. from Autodesk.DesignScript.Geometry import *
  4.  
  5. # Import DocumentManager and TransactionManager
  6. clr.AddReference("RevitServices")
  7. import RevitServices
  8. from RevitServices.Persistence import DocumentManager
  9. from RevitServices.Transactions import TransactionManager
  10.  
  11. # Import RevitAPI
  12. clr.AddReference("RevitAPI")
  13. import Autodesk
  14. from Autodesk.Revit.DB import *
  15.  
  16. doc = DocumentManager.Instance.CurrentDBDocument
  17. uiapp = DocumentManager.Instance.CurrentUIApplication
  18. app = uiapp.Application
  19.  
  20. from System.Collections.Generic import *
  21.  
  22. # Import ToDSType(bool) extension method
  23. clr.AddReference("RevitNodes")
  24. import Revit
  25. clr.ImportExtensions(Revit.Elements)
  26.  
  27. tgtschedules = UnwrapElement(IN[0])
  28. idxfields = IN[2]
  29. idxfilters = IN[1]
  30. valuefilters = IN[3]
  31.  
  32. TransactionManager.Instance.EnsureInTransaction(doc)
  33.  
  34. for tgtschedule, idxfield, idxfilter, valuefilter in zip(tgtschedules, idxfields, idxfilters, valuefilters):
  35.     UnwrapElement(tgtschedule).Definition.SetFilter(idxfilter,ScheduleFilter(tgtschedule.Definition.GetFieldId(idxfield), ScheduleFilterType.Equal, valuefilter))
  36.  
  37. TransactionManager.Instance.TransactionTaskDone()
  38.  
  39. OUT = tgtschedules;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement