Hi all,
I’m trying to override the surface color of elements in a certain view (not active view). So I’ve found this post about that: Element color override in viewS
I’m trying to replicate the code in Python, but it’s not working for me. Can anyone help me with this?
parameter compare and override.dyn (194.0 KB)Version:0.9 StartHTML:00000097 EndHTML:00003774 StartFragment:00000199 EndFragment:00003736 import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
items = UnwrapElement(IN[0])
view = UnwrapElement(IN[1])
trans = IN[2]
booleans = []
red = Color(255,0,0)
Pat = FilteredElementCollector(doc).OfClass(FillPatternElement).ToElements()
override = OverrideGraphicSettings()
override.SetSurfaceForegroundPatternColor(red)
override.SetSurfaceForegroundPatternId(Pat[0].Id)
TransactionManager.Instance.EnsureInTransaction(doc)
for item in items:
try:
view.SetElementOverrides(item.Id, override)
booleans.append(True)
except: booleans.append(False)
TransactionManager.Instance.TransactionTaskDone()
OUT = (items,view,booleans)