Element.OverrideInView but for multiple Views?

I think now its ok, so here we go:


python code:

import clr
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import OverrideGraphicSettings, Color
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument

input_list = IN[0]
views = UnwrapElement(input_list[0])
el_top_list = UnwrapElement(input_list[1])

line_pattern = UnwrapElement(IN[2])
fill_pattern = UnwrapElement(IN[3])
color_input = IN[4]
color_l= color_input.split(" ")
color = Color(int(color_l[0]),int(color_l[1]),int(color_l[2]))
line_weight = IN[6]
halftone = IN[7]
ogs = OverrideGraphicSettings()		
ogs.SetProjectionLineColor(color)
ogs.SetCutLineColor(color)
ogs.SetCutLineWeight(line_weight)
ogs.SetProjectionLineWeight(line_weight)
ogs.SetHalftone(halftone)
ogs.SetSurfaceTransparency(IN[5])
#ogs.SetProjectionFillColor(color)
#ogs.SetProjectionFillPatternId(fill_pattern.Id)
#ogs.SetCutFillPatternId(fill_pattern.Id)
#ogs.SetCutFillColor(color)
#ogs.SetProjectionLinePatternId(line_pattern.Id)
#ogs.SetCutLinePatternId(line_pattern.Id)

TransactionManager.Instance.EnsureInTransaction(doc)

count = 0
for k in range(len(views)):	
	for i in el_top_list[count]:
		views[count].SetElementOverrides(i.Id, ogs)	
	count+=1	
TransactionManager.Instance.TransactionTaskDone()
OUT = 0

override2.dyn (23.9 KB)

2 Likes