Задание значения параметру

Главная Форумы Python Помогите с питон кодом Задание значения параметру

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #2117 Score: 0
    Konstantin Malikov
    Участник
    2 pts

    Всем привет,

    есть такое выражение для получения параметра  элемента

    NKvartOb=UnwrapElement(NKvart[i])
    NomKvart=NKvartOb.get_Parameter(“Номер квартиры”).AsInteger()

    а какое выражение для получения (типа Set_Parameter), подскажите пожалуйста

    #2118 Score: 0
    Legantmar
    Хранитель
    474 pts

    1) достаточно дописать .Set()
    например, OUT=UnwrapElement(IN[0]).get_Parameter("Имя").Set("Кухня")
    2) но в некоторых случаях параметр можно поменять только в транзакции
    тогда код преобразится примерно вот так

    clr.AddReference("RevitServices")
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    
    doc = DocumentManager.Instance.CurrentDBDocument
    TransactionManager.Instance.EnsureInTransaction(doc)
    OUT = UnwrapElement(IN[0]).get_Parameter("Имя").Set("Гостиная")
    TransactionManager.Instance.TransactionTaskDone()

    3) в некоторых случаях эти два метода могут не срабатывать, тогда лучше через нод SetParameterByName – на сегодня это самое надежное средство (для простых свойств)

    #2119 Score: 0
    Konstantin Malikov
    Участник
    2 pts

    Спасибо Антон

    #2126 Score: 0
    Konstantin Malikov
    Участник
    2 pts

    Попробовал, все получилось по 1 способу, еще раз спасибо!!!

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