Цвет заливки ячейки в спецификация ?

Главная Форумы Задать вопрос Цвет заливки ячейки в спецификация ?

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #10449 Score: 0
    Виталий
    Участник

    Как можно поменять цвет заливки ячейки в спецификации используя Dynamo?

    Чтоб выглядело вот так.

    #10456 Score: 0
    Glam
    Участник

    Если дружите с питоном и API, то в кодблоке питона можно сделать это методом SetStyle с опцией SetCellStyleOverrideOptions

    https://www.revitapidocs.com/2017.1/9f0d0e2a-436d-85a6-e2ca-c703e6d11fb9.htm

    https://www.revitapidocs.com/2017.1/b8c8d084-835b-9bd0-1181-1506915ad484.htm

    #10464 Score: 0
    Виталий
    Участник

    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, тоже не особо понял

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Для ответа в этой теме необходимо авторизоваться.