Единицы проекта

Главная Форумы Задать вопрос Единицы проекта

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #6915 Score: 0
    Аноним
    Неактивированный
    10 pts

    Как с помощью динамо или питона изменить единицы проекта в файлах семейств и проектов?

    При работе с семействами (реже с проектами) скачанными с забугорных сайтов регулярно возникает задача быстро изменить размерность единиц проекта. Хотелось бы автоматизировать сей процесс с помощью динамо или питона, ибо тыкать по каждой категории единиц и выставлять вручную размерность – тоска зелёная. Кто-нибудь уже задавался подобным вопросом? Сходу поиском не смог по ключевым словам найти решение на форуме.

    #6916 Score: 2
    Аноним
    Неактивированный
    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

    #6918 Score: 3
    Аноним
    Неактивированный
    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

     

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