Единицы проекта
Главная › Форумы › Задать вопрос › Единицы проекта
- В этой теме 2 ответа, 1 участник, последнее обновление 7 лет, 1 месяц назад сделано Аноним.
-
АвторСообщения
-
АнонимНеактивированный10 pts
Как с помощью динамо или питона изменить единицы проекта в файлах семейств и проектов?
При работе с семействами (реже с проектами) скачанными с забугорных сайтов регулярно возникает задача быстро изменить размерность единиц проекта. Хотелось бы автоматизировать сей процесс с помощью динамо или питона, ибо тыкать по каждой категории единиц и выставлять вручную размерность – тоска зелёная. Кто-нибудь уже задавался подобным вопросом? Сходу поиском не смог по ключевым словам найти решение на форуме.
АнонимНеактивированный10 ptsВопрос решён. Спасибо этой ветке с forum.dynamobim.com!
Итак решение оказалось очень простым.
import clr clr.AddReference('RevitAPI') from Autodesk.Revit.DB import * clr.AddReference('RevitServices') import RevitServices from RevitServices.Persistence import DocumentManager from RevitServices.Transactions import TransactionManager doc = DocumentManager.Instance.CurrentDBDocument TransactionManager.Instance.EnsureInTransaction(doc) unit = doc.GetUnits() """ UnitFormat = FormatOptions(DisplayUnitType.{DisplayUnitType},{UnitPrecision}) unit.SetFormatOptions(UnitType.{UnitType},{UnitFormat}) """ doc.SetUnits(unit) TransactionManager.Instance.TransactionTaskDone() OUT = "units changed to user settings"
Заковыченные строки надо изменить на те значения параметров, которые вам надо отображать в нужной вам размерности.
Типы параметров (UnitTypes) смотрим здесь http://www.revitapidocs.com/2018/4155880c-f243-3456-fbb8-542c8f8ad692.htm
Типы отображаемых в семействе параметров (DisplayUnitTypes) смотрим здесь http://www.revitapidocs.com/2018/7d3d3306-a4c2-c577-0aeb-cca42d6cfd2f.htm
Пример работающего скрипта под мои ОВшные потребности (еще не все нужные мне параметры забил, но то что забито уже работает как мне надо).
Сам нод лежит здесь https://yadi.sk/d/goXIRe0Q3NX6Gm
АнонимНеактивированный10 ptsНебольшое дополнение: если в свойствах параметров надо отображать размерность величины, то строка
UnitFormat = FormatOptions(DisplayUnitType.{DisplayUnitType},{UnitPrecision})
Должна принять вид
UnitFormat = FormatOptions(DisplayUnitType.{DisplayUnitType},UnitSymbolType.{UnitSymbolType},{UnitPrecision})
Например, если надо чтобы в параметрах давления отображались паскали, то строка для давления в выложенном в прошлом сообщении ноде примет вид
pressure_pa = FormatOptions(DisplayUnitType.DUT_PASCALS,UnitSymbolType.UST_PASCAL,0.1)
Типы форматов значений смотрим здесь http://www.revitapidocs.com/2018.1/1a6d5d01-d835-c419-c14a-4cd25f563ea0.htm
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.