Подсчет элементов в спецификациях. Запас. Округление.

Одной из самых больших преимуществ Revit является его работа со спецификациями. Благодаря множеству настроек и четкой логике программы можно создать спецификацию любой сложности. В этой статье я на конкретных примерах расскажу и покажу все особенности создания спецификаций в Revit.

Все примеры будут поделены на уровни сложности. Более легкие в реализации примеры будут в начале, более сложные в конце.

Небольшая вводная информация к примерам

Для примера создал семейство кубика с двумя типоразмерами «300*300*300» и «500*500*500».

Рисунок1.png

Семейство отнес к категории «Обобщенные модели».

Рисунокр.png

 По мере усложнения спецификации я буду редактировать это семейство.

Уровень сложности 1 «Просто посчитать количество»

Представим у вас в проекте есть какой-либо элемент загружаемого семейства. Теперь представим, что вы разместили таких объектов столько, что сами забыли. А считать вручную стыдно, BIM все-таки же. 

Рисунок2.png

Расставил для примера свои кубики 2 видов

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

Спецификации в Revit можно заметить в диспетчере проекта. Для них есть отдельная группа.

Рисунок3.png

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

Рисунок4.png

Выпадающее меню «Спецификации»

Нажав на нее, перед нами появится список из нескольких видов спецификаций. Самыми востребованными являются спецификации 1 и 4. Начнем с 1 и создадим спецификацию количества элементов.

Рисунок5.png

В открывшемся окне необходимо:

1.     Определить категорию спецификации. Другими словами, если нужно посчитать семейства категории обобщенной модели, то необходимо выбрать категорию «Обобщенные модели». Если вам необходимо посчитать в одной спецификации семейства разных категорий, то выбирайте самую первую строчку «Несколько категорий». Таким образом, у вас получится спецификация нескольких категорий.
Узнать категорию семейства можно из диспетчера задач проекта, либо из свойств самого семейства.

2.     В этом поле можно ввести имя новой спецификации. Потом его можно будет поменять.

3.     Выбор стадии. Выбирать нужно ту стадию, к которой принадлежат объекты вашего подсчета. Из-за неправильного выбора стадии элементы могут не отобразиться в спецификации.

Нажав «Ок», откроется следующее окно.

Рисунок6.png

 В этом окне для начала нужно выбрать параметры, которые будут в новой спецификации. Если мы хотим посчитать количество кубиков каждого типа, то нам нужны параметры «Семейство и типоразмер», а также «Число».

Для того, чтобы параметр попал в спецификацию, его необходимо выделить (1), нажать на кнопку переноса параметра (2), и после добавления всех параметров нажать «Ок» (3).

Рисунок7.png

Полученная спецификация

Получилось не совсем то, что мы хотели. Но не стоит опускать руки, сейчас начнется самое интересное и познавательное.

Время для знакомства с настройками спецификации!

Для начала, где они? — В окне свойств вида, у меня вот справа. Пять кнопок в конце свойств, которые ведут в одно и тоже окно, но на разные вкладки.

Рисунок8.png

Условно показал, какая кнопка какой вкладке соответствует. Я в большинстве случаев не обращаю внимания на какую из кнопок я кликаю, потому что в итоге произвожу настройки параллельно на нескольких вкладках.

А теперь вернемся к нашим кубикам, а точнее к спецификации на эти кубики. У нас была проблема, что списком отобразились абсолютно все кубики в проекте, хотя нам нужно было отобразить общее количество по каждому типу кубиков.

Для исправления данной ситуации перейдем на вкладку «Сортировка/Группирование» и уберем галочку «Для каждого экземпляра».

Рисунок9.png

Нажмем «Ок» и посмотрим, что получилось.

Рисунок10.png

Выключенный «Для каждого экземпляра»

Вновь получилось не совсем то, что мы ожидали. Почему так произошло? Мы отключили параметр «Для каждого экземпляра» во вкладке «Сортировка/Группирование» и теперь Revit группирует все элементы по определенному признаку, а параметр «Число» считает количество элементов, группированных по этому же признаку. В первой колонке у элементов встречаются несколько разных значений, но так как ячейка одна, то Revit не выводит ничего.

Для решения этой проблемы, давайте настроим сортировку в этой же вкладке по параметру «Семейство и типоразмер» и посмотрим, что получится.

Рисунок11.png

Чудо! Мы знаем сколько каких кубиков!

Уровень 1.5 «Без ADSK_Количество, Число, мам, пап и кредитов»

Странное название раздела, но оно того стоит. На этом примере у вас появится хорошее понимание основной логики подсчета параметров в спецификациях.

Предположим, что на все элементы нужно заложить запас. Допустим, процентов 17%. И все это нужно сделать в рамках Revit здесь и сейчас.

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

Рисунок12.png

Откроется окно, в котором вы можете создать параметр, который может внутри себя содержать формулу, либо какое-либо значение. Для начала давайте просто попробуем вписать в него 1 и посмотрим, что получится.

Рисунок13.png
Рисунок14.png

Как видим, в колонке «Тест» все строчки имеют значение 1.

Теперь познакомимся со вкладкой «Форматирование».

Рисунок15.png

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

Значение «Не рассчитано» означает, что параметр будет выводится в явном виде. Например, «Тест» у нас имеет значение 1. Поэтому Revit и выводит значение 1.

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

Рисунок16.png

Значения в колонке параметра «Тест» с включенным вычислением итогов соответствуют значениям из колонки «Число»

Давайте рассмотрим детально как это произошло. Параметр «Тест» у всех элементов имел значение единицы. В первоначальном виде, когда мы настроили группировку по семейству и типоразмеру и не выбрали «Вычислять итоги» во вкладке «Форматирование», в спецификацию выводилось значение этого параметра. То есть, если у Кубика 300х300 значение было «1», то в спецификацию и выводилась «1». И все равно, что таких кубиков 16.

Когда мы выбрали у колонки Тест «Вычислять итоги», то Revit посчитал в спецификации сумму значений параметров «Тест» всех элементов строки. Другими словами, он просто сложил все значения «Тест» элементов строки. Например, для Кубика 300х300 это выглядело так: 1+1+1+1+…+1+1=16 (16 раз складывается значение параметра).

Если непонятно, то лучше перечитайте от начала этого пункта. А сейчас мы перейдем к первоначальной задаче – посчитать количество кубиков с запасом 17%.

Так как нельзя задать коэффициент и умножить его на значение итога, полученное при помощи «Вычислять итоги», то зададим запас на каждый элемент. То есть, если нужен запас в 17%, то зададим параметру «Тест» значение 1.17. Тогда 1.17 будет складываться и в итоге мы получим то же самое, что если бы умножили итог на 1.17:

1.17+1.17+…(складываем N раз)….+1.17 = 1.17 * (N)

Рисунок17.png

Изменение уже созданного расчетного параметра.

Посмотрим, что получилось:

Рисунок18.png

Тест = 1.17.

Для начала проверим правильность спецификации: умножим значение из колонки число на 1.17 и сравним со значением из колонки тест.

Рисунок19.png

Вычисление корректные, теперь нужно правильно их представить в виде целых чисел. Тут есть два пути:

1.     Настроить форматирование единиц к колонке «Тест»;

2.     Достаточно сложный для понимания способ округления вверх до целого.

Сейчас рассмотрим первый путь, второй способ рассмотрим в следующем пункте.

Для начала откроем окно «Форматировать единицу». Сама кнопка его открытия находится над спецификацией, но для ее активации сначала необходимо выделить столбец, в котором необходимо отредактировать формат единицы.

Как открыть

Что настроить

После открытия снимаете галочку с «Настройки по умолчанию». Выбираете тип единицы «Фиксированные». Далее задаете величину округления «0 десятичных знаков». Таким образом, у вас получится округлять значения согласно математическим правилам.

Рисунок23.png

Спецификация с округлением по математическим правилам.

Такой способ округления плох тем, что может округлять и в меньшую сторону. Если ваш коэффициент запаса может такое терпеть, то вариант рабочий, если нет, то в следующем пункте мы рассмотрим округление до целого числа вверх.

Уровень 2 «Сложные трудности»

Как было сказано в предыдущем разделе, в этом мы рассмотрим, как округлять расчетный параметр «итого» (в нашем случае «Тест») до целого числа вверх.

Расчетные параметры позволяют внутри себя производить различные операции преобразования. Например, можно использовать разные операторы:

Условия — if(условие, значение при выполнении условия, значение при невыполнении условия)

Округления – round(), roundup(), rounddown()

Арифметических действий — *,/,+,- и так далее.

Все точно так же, как и в параметризации семейств.

Давайте попробуем использовать оператор roundup(), который позволяет округлять числа до большего целого. Для чистоты эксперимента создадим дополнительный параметр «Округление вверх».

Рисунок24.png

Создание дополнительного расчетного параметра.

Вот что получилось.

Рисунок25.png

Мне кажется, или нас пытаются обмануть…

Включим «Вычислять итоги» в новой колонке и посмотрим, что получится.

Рисунок26.png

Нас обманывают! (для чистоты эксперимента отключил округление в «Тест»)

Как видно в спецификации, после включения «Вычислять итоги» у колонки с округлением вверх, мы получаем неприлично большие результаты. Так почему же так происходит?

Здесь мы сталкиваемся с важной особенностью и отличием спецификации в Revit от тех же таблиц Excel. В Revit происходит вычисление согласно значениям параметров элементов модели. Если в параметр содержит в себе единицу, то все манипуляции в расчетном параметре будут производиться с этой единицей. И все равно, что там стоит «Вычислять итоги». Revit все равно будет считать исходя из значений параметров элементов.

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

Но, не начинал бы я эту статью, не зная, как это обойти. Самое время познакомиться с процентами в расчетных параметрах!

Для начала сама идея. Так как я не могу использовать значение «Вычислять итоги», то мне нужно записать в каждый элемент значение его общего количества в проекте. Другими словами, каждый элемент в себе будет иметь информацию о том, сколько таких же как он. В дальнейшем с этим значением я могу делать что угодно, потому что оно будет записано в каждый элемент и постоянно пересчитываться.

Вернемся обратно к процентам. Если я узнаю какой процент составляет элемент от его общего количества, то путем деления 1/% смогу узнать количество, из которого этот процент высчитывается. Если непонятно, то дальше я покажу это наглядно.

Рисунок27.png

Наглядное отображение кубиков и их процентов.

Разобравшись с теорией, приступим к ее реализации в Revit.

Создадим параметр N = 1. 

Рисунок28.png

N=1

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

Рисунок29.png

Процент N от всех N в этом типоразмере.

И наконец, создадим последний параметр, который будет делить единицу на полученный в предыдущем шаге процент.

Рисунок31.png

1/N%

Что получилось в итоге.

Рисунок32.png

Последний столбец содержит в себе заветное число.

Для наглядности включу «Для каждого экземпляра».

Рисунок33.png

«Для каждого экземпляра» включен.

Как видно из этой спецификации, общее количество элементов записалось в каждый элемент. Уже с этим числом (1/N%) мы можем делать что угодно и получать корректные значения.

Создадим параметр «Количество с запасом».

Рисунок34.png

Исправим параметр «Округление вверх»: формулу и поставим «Не рассчитано» вместо «Вычислять итоги». Также выключим для «Для каждого экземпляра».

Рисунок35.png

Исправленный параметр «Округление вверх» (не забудьте отключить «Вычислять итоги»!).

Вот что получилось.

Рисунок36.png

Наш первоначальный «Тест» совпадает с «Количество с запасом», а это значит, что общее количество элементов с учетом запаса определяется правильно. «Округление вверх» теперь тоже работает правильно, округляя до ближайшего целого числа.

Скроем ненужные колонки путем установки галочки «Скрытое поле».

Рисунок37.png

Скрытие ненужных полей.

Рисунок38.png

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *