import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
# Import DocumentManager and TransactionManager
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
# Import RevitAPI
clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
from System.Collections.Generic import *
# Import ToDSType(bool) extension method
clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
#The inputs to this node will be stored as a list in the IN variable.
def dsColorToRvtColor(dsColor):
R = dsColor.Red
G = dsColor.Green
B = dsColor.Blue
return Autodesk.Revit.DB.Color(R,G,B)
keySchedule = UnwrapElement(IN[0])
#”Start” the transaction
TransactionManager.Instance.EnsureInTransaction(doc)
a=[]
b=[]
c=[]
tableData = keySchedule.GetTableData()
tsd = tableData.GetSectionData(SectionType.Body)
options=TableCellStyleOverrideOptions()
options.BackgroundColor=True
tcs=TableCellStyle()
b.append(dir(tcs))
c.append(dir(options))
tcs.SetCellStyleOverrideOptions(options)
tcs.BackgroundColor=dsColorToRvtColor( IN[2])
tsd.SetCellStyle(0,0, tcs)
TransactionManager.Instance.TransactionTaskDone()
OUT = a,b,c
Используя SetCellStyleOverrideOptions, у меня получилось поменять цвет шапки и название столбцов
SetCellStyle не позволяет поменять цвет ячейки тела таблицы ругается “Only allow to override cell style for header section or column header in body section.”
Как разрешить переопределение стиля ячейки?
Как делать с помощью SetStyle, тоже не особо понял