Есть проблема в Ревите с толщинами стенок воздуховодов. Для труб есть решение внутри программы, а вот с воздуховодами беда.

Решить её можно с помощью скрипта в Динамо. Его я и создал.

Фрагмент скрипта
Фрагмент скрипта

Что делает скрипт

На самом деле, всё очень просто. Скрипт получает из Ревита список всех воздуховодов. Далее обрабатывает их по алгоритму и формирует наименование, рассчитывает толщину стенки по ГОСТ, записывает в общий параметр ADSK_Количество округлённую длину в метрах.

Толщина стенки

  • если у воздуховода есть изоляция и имя типа изоляции содержит текст «Огнезащита», то назначает толщину 0,9 мм;
  • если без огнезащиты, то проверяет есть ли внутренняя изоляция, если есть, то сразу толщине 0,9 мм;
  • если есть изоляция других типов или её нет вообще, то проверяет размеры воздуховодов и назначает стенки в соответствии с таблицей К.2 по СП 60.
Родимый СП и толщины в нём
Родимый СП и толщины в нём

Если воздуховод размером больше 2000 мм, то их скрипт не трогает, там толщина по расчёту. Для сварных воздуховодов ничего не делал, но добавить нетрудно.

Наименования

Принцип такой:

Текст в зависимости от класса герметичности + толщина + размер

Выглядит это так:

Каждому воздуховоду назначается тот текст, который соответствует его классу герметичности, толщине и сечению
Каждому воздуховоду назначается тот текст, который соответствует его классу герметичности, толщине и сечению

То есть если у нас есть воздуховод, у которого изоляция с текстом «Огнезащита», то скрипт понимает, что это воздуховод под класс герметичности «В» толщиной 0,9 мм и пишет соответствующий текстовый префикс и толщину. Если воздуховод обычный, сечением 400х200, то ему напишет, что это воздуховод из оцинкованной стали, s=0,7 мм, 400х200.

Размеры в наименовании

Для Ревита воздуховод 300х200 и 200х300 — разные воздуховоды, а для нас — одно и то же. Поэтому я заморочился и сделал так, чтобы в наименовании такие воздуховоды не различались. Запись будет такая: большая сторона на меньшую сторону. То есть оба воздуховода 300х200 и 200х300 запишутся в наименовании как 300х200.

Длины

Скрипт также переносит значение длины воздуховодов в параметр ADSK_Количество. При этом длина в метрах округляется до заданного количества знаков, по умолчанию — до двух. Также можно выбрать коэффициент для запаса, по умолчанию он равен 1, то есть без запаса.

Если запускать скрипт с помощью Проигрывателя Динамо, то можно выбрать степень округления: нажмите на значок редактирования вводных данных, в соответствующее поле вбейте нужное количество знаков.

Нажмите на указанную стрелкой кнопку, это кнопка редактирования вводных данных
Нажмите на указанную стрелкой кнопку, это кнопка редактирования вводных данных
В поле для округления введите количество знаков после запятой и множитель для запаса по длине
В поле для округления введите количество знаков после запятой и множитель для запаса по длине

В спецификации внутри Ревита можно отредактировать единицы параметра «ADSK_Количество» на «Фиксированные» с округлением до 1 знака. Правда, в этом случае штучные позиции будут выставляться как 1.0. А если округлять длины в скрипте до одного знака, то будет больше погрешностей. Например, все участки длиной 0,04 будут обнуляться, а длиной 0,08 увеличиваться до 0,1. С двумя знаками таких потерь будет меньше, но сложнее округлять значение в Ревите. В любом случае, погрешность невелика и имеет значение, только если у вас много очень маленьких участков, что случается редко.

Здесь можно изменить округление для ADSK_Количество, но тогда у штучных элементов вроде диффузоров или отводов количество будет в виде 1.0, а при суммировании в проекте в виде 29.0
Здесь можно изменить округление для ADSK_Количество, но тогда у штучных элементов вроде диффузоров или отводов количество будет в виде 1.0, а при суммировании в проекте в виде 29.0

Если не пользуетесь проигрывателем, то редактировать все коэффициенты придётся прямо в скрипте. Лучше пользуйтесь проигрывателем, особенно если не очень разбираетесь в Динамо.

Что надо учитывать

Я заложил определённую логику в скрипт. Если вам нужна другая, то нужно менять скрипт.

Для работы скрипта нужно добавить к категории «Воздуховоды» в Параметры проекта по экземпляру три параметра из ФОП2019 от Автодеска (скачать можно из базы знаний Автодеска):

  1. ADSK_Наименование
  2. ADSK_Толщина стенки
  3. ADSK_Количество

Как добавить параметры

Перейдите на вкладку «Управление» → Общие параметры. В окне нажмите Обзор → укажите путь к файлу ФОП2019.

Далее на вкладке «Управление» зайдите в Параметры проекта → Добавить → Общий параметры → найдите в ФОП2019 нужный параметр → ОК → поставьте точку на «Экземпляр» → Группирование задайте на свой вкус, обычно это «Данные» → в списке категорий поставьте галочку на «Воздуховоды» → ОК.

Добавьте таким образом все три параметра. Можно это делать, не выходя из окна «Параметры проекта»
Добавьте таким образом все три параметра. Можно это делать, не выходя из окна «Параметры проекта»
Поставьте точку на «Экземпляр», в Группировании параметров выберите «Данные»», а в списке категорий поставьте галочку на «Воздуховоды»
Поставьте точку на «Экземпляр», в Группировании параметров выберите «Данные»», а в списке категорий поставьте галочку на «Воздуховоды»

Где скачать

Как обычно — скачивайте с Яндекс.Диска

Подписаться на обновления и получать уведомления о новых статьях в Телеграм-канале «Блог Муратова про Revit MEP»

Отблагодарить автора

Я много времени уделяю блогу. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом). Лайк тоже не помешает, это должно помочь продвижению блога.