Revit, используя Python, можно ли изменить значение «формулы» в семействе? - PullRequest
0 голосов
/ 07 мая 2020

В наших семействах есть параметр, называемый «Семейная версия», в этом параметре мы устанавливаем формулу «2019.01», чтобы представить версию Revit и последнее обновление семейства. Несмотря на то, что это текстовое поле, мы устанавливаем его как формулу, чтобы конечный пользователь не мог его изменить.

Мой вопрос: есть ли способ установить формулу через Python? Если это не формула, я могу использовать этот код для изменения значения:

#Set Family Version
t = Transaction(doc, "Set Family Version")
t.Start()
parameter = [a for a in doc.FamilyManager.Parameters if a.Definition.Name=="Family Version" ][0]
doc.FamilyManager.Set(parameter, "2020.01")
t.Commit()

Есть ли способ изменить формулу?

1 Ответ

1 голос
/ 07 мая 2020

Для всех, кто ВСЕГДА хочет это сделать. Нашел решение.

Используйте "SetFormula" НЕ "Set". Также необходимо установить текст «\" 2020.01 \ "», а не «2020.01»

Вот обновление ...

#Set Family Version
t = Transaction(doc, "Set Family Version")
t.Start()
parameter = [a for a in doc.FamilyManager.Parameters if a.Definition.Name=="Family Version" ][0]
doc.FamilyManager.SetFormula(parameter, "\"2020.01\"")
t.Commit()
...