Ведомость расхода стали в Revit

Одна из главных проблем выполнения КЖ в Revit — таблица «Ведомость расхода стали» по ГОСТ 21.501.2011:

Она необычна своей «Горизонтальной» ориентацией — не так, как работают в спецификации в Ревите, и кто-то считал, что такую таблицу вообще сделать нельзя, только рисовать линиями и вставлять туда цифры вручную. Но нет: Ревит вполне позволяет сделать такую табличку «по-честному»:

И сейчас мы этому научимся.

Подготовительные действия

Я создам проект на базе стандартного «Шаблона несущей конструкции» и накидаю какую-нибудь арматуру. В шаблоне уже есть разные диаметры и классы арматуры, но в них нет нужных параметров.

Создам параметр, который будет хранить класс арматуры. Создаю параметр проекта, для категории «Несущая арматура», «целое», для «типа».

Лучше создавать «Общий параметр» — пригодится в будущем, но пока для обучения можно и «Параметр проекта».

Указываю для каждого типа арматуры соответствующее число в этот параметр:

Такое нужно сделать для каждого типа.

Создаем параметр подсчета массы

Заходим — Вид — создать спецификацию.

Добавляем поля: Диаметр стержня, Длина стержня, Количество, наш созданный параметр КлассАрматуры, а также параметр, по которому мы будет разделять конструкции — например, Комментарий.

Теперь определимся со способом подсчета массы. Я делаю так: сначала определю массу погонного метра арматуры через сортамент в зависимости от диамтера арматуры через «if-цепочку». Создайте расчетный параметр «МассаПогМетра» с формулой:

if(Диаметр стержня = 6 мм, 0.222, if(Диаметр стержня = 8 мм, 0.395, if(Диаметр стержня = 10 мм, 0.617, if(Диаметр стержня = 12 мм, 0.888, if(Диаметр стержня = 14 мм, 1.208, if(Диаметр стержня = 16 мм, 1.578, if(Диаметр стержня = 18 мм, 1.998, if(Диаметр стержня = 20 мм, 2.465, if(Диаметр стержня = 22 мм, 2.984, if(Диаметр стержня = 25 мм, 3.85, if(Диаметр стержня = 28 мм, 4.83, if(Диаметр стержня = 32 мм, 6.31, if(Диаметр стержня = 36 мм, 7.99, if(Диаметр стержня = 40 мм, 9.865, 0))))))))))))))


Идея, думаю, понятна — мы просто принудительно подставляем нормативное значение в зависимости от диаметра. Далее умножить этот параметр на длину стержня — получим его массу.

 

Создаем столбцы для спецификации

Теперь нам нужно создать столько столбцов для спецификации, сколько будет типов арматуры в проекте. Мы используем только А240 и А400, нужные создадите сами для себя.
Создаем расчетный параметр «6 А240» с формулой:
if(and(Диаметр стержня = 6 мм, КлассАрматуры = 240), Количество * Длина стержня * МассаПогМетра / 1000 мм, 0)
Что делает эта формула? Параметр «if» здесь будет работать как фильтр, и в числовом поле будут попадать только элементы, удовлетворяющие обоим условиям (это определяет логический оператор and), а иначе будет 0. Попробуйте нажать Ок, поставить в проекте несколько различных стержней и посмотреть, что получится в спецификации:
Для наглядности я добавил столбец «Семейство и типоразмер», далее его удалю. Видно, что если арматура не «6 А240» — в ячейке будет 0, но для d6 А240 — выводится суммарная масса.
Теперь создаем столбцы для других диаметров класса А240:
UPD: я здесь использовал параметр «Число», но это не очень удачный вариант, т.к. могут быть проблемы с переводом единиц измерений. Лучше взять «Масса на единица длины» и «Масса», они появятся если выбрать в списке «Категория» — «Несущие конструкции». Если брать «Число», то в конце формулы надо будет добавлять «/1» для перевода единиц измерения.
Теперь нужно создать столбец для суммарного расхода арматуры А240:
if(КлассАрматуры = 240, Количество * Длина стержня * МассаПогМетра / 1000 мм, 0)
Это более простая формула без фильтра по диаметру, т.е. собирается арматура класса А240 любого диаметра.
По тому же принципу создаем столбцы для других классов арматуры.
Для столбца «Всего» используем формулу вообще без «if»:
Количество * Длина стержня * МассаПогМетра / 1000 мм
В итоге получится что-то вот такое:
Конечно, уже можно отключить в этой спецификации все линии, вынести спецификацию на лист и наложить сверху какое-нибудь 2D-семейство — но это не наш путь. Настрою внешний вид ВРС средствами Ревита.

Приводим ведомость к привычному виду

Во-первых, перенесу вспомогательные столбцы в конец и скрою их:
На вкладке «Форматирование» задаю правильные заголовки (значок диаметр можете скопировать тут: ø6)
Там же на вкладке «Форматирование» включу для каждого значения галочку «Вычислять итоги» и задам округление:
Внимание! Это самый простой способ сделать округление, но может возникнуть проблема, если кто-то будет проверять значения «по бумажке калькулятором». Но это не ошибка в расчетах, а, наоборот, проблема избыточной точности. Можно сделать принудительно «огрубление» расчета при помощи формул, подробнее здесь. Но я пока оставлю простой вариант.
Включу сортировку по какому-нибудь параметру для разделения строчек по типам конструкций, например, по «Метке основы» или по «Комментарию» и уберу галку «Для каждого экземпляра»:
С такой настройкой разная арматура будет сваливаться в одну строчку, а за счет включенного «Вычислять итоги» будет складываться в общую массу. Что и надо для ВРС!

Группируем столбцы

Заголовки столбцов арматуры одного класса должны объединяться одной «шапкой». Это можно сделать через «Группу заголовков»:

Обратите внимание — нужно выделять именно заголовки столбцов. Выделять удобнее всего перетаскиванием, зажали мышкой первый заголовок — перетащили до последнего. Вписываем в полученный заголовок Гост.
Еще раз выделяем те же столбцы и создаем следующий уровень группировки:
Вписываем в этот заголовок «А240». Повторяем то же для других классов арматуры.
Задаю следующие уровни группировки:
С первого раза может и не получиться — внимательно смотрите на скриншоты!
Проверяем, что получилось — вынесем на лист:

Продолжаем допиливать

Укажу для всех столбцов выравнивание по ширине и высоте по центру:
Задам ширину столбцов. Их у меня 15шт, 15х12мм — 180мм. Выделяю все стобцы и задаю общую ширину 180мм — все столбцы выровняются:
Отключу привязку заголовка спецификации к названию:
Отключаю границы у заголовка спецификации:
На вкладке «Вид» отключаю «Пустую строку», задаю стиль текста:
Я ввел диаметров арматуры с запасом — больше, чем сейчас есть в проекте, поэтому пока скрою пустые столбцы:
Ну и результат — вполне себе похоже на пример из Гост!
Да, в пустых ячейках — нули вместо «прочерков» (как в примеру по Госту), но мне кажется, это допустимое отклонение. .
Главная проблема — в том, что при появлении новой арматуры она может попасть в скрытый столбец — например, в моем случае — d20 А400. Поэтому перед печатью листа я рекомендую нажать кнопку «Показать все» и снова скрыть пустые столбцы:
UPD: при использовании ВРС из шаблона можно использовать плагин «Bim-Starter Подчистить ВРС«, который автоматически скрывает/показывает нужные столбцы ВРС.
Качайте файл примера с яндекс-диска или гугл-диска.
При копировании спецификации в свой файл нужно только заново задать для арматуры параметр «КлассАрматуры» — должно работать сразу.
Удачи!