Формулы процента в Ревит


Введение


Хочу затронуть очень важную и для многих непонятную тему: формулы процента в Ревит! 

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

Когда сама разбиралась с этим понятием читала статьи, в которых описаны все действия, но после прочтения не всегда складывается понимание этих действий. Что, зачем и почему именно так?

Начнем разбор со справки Autodesk. Вот такую информацию можно увидеть.

Формулы процента в Ревит

Честно сказать, после прочтения этой информации сильно понятно не становится. Поэтому пойдём дальше.

Две отличные статьи на эту тему у Дмитрия Чубрика и Александра Зуева, а также отличное видео Сергея Ковылина (есть и другие упоминания на просторах интернета) в которых подробно и на различных примерах рассмотрена работа формулы процента в Ревит, но тем не менее остаются пользователи, которые так до конца и не поняли что это и как это работает. Я была среди них, и даже после прочтения статей и создания своей собственной спецификации с процентом, я все равно не понимала, как это работает. Ну или понимала, но как-то не до конца что ли… И вот в определенный момент на меня снизошло озарение, и вдруг все стало ясно. Вот в этот момент я решила, что этой информацией нужно поделиться со всеми. Вдруг кому-то это окажется полезным и поможет понять эту хитрую структуру.

Задача


Представим себе задачу: есть несколько арматурных стержней в конструкции и необходимо  для одного из типов получить в столбце величину суммарной длины с округлением, а для другого в этот же столбец вывести значение общего количества стержней. Будем использовать формулы процента в Ревит.

Для начала рассмотрим как можно получить суммарную длину с округлением.

Самое важное – это понять, что спецификация – это не таблица, это набор элементов, выраженный в табличной форме. В спецификации нет строк, как таковых, а есть элементы со своими параметрами. Каждая строка – это элемент, каждый столбец – это параметр.

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

Каждая строка это стержень со своим параметром «Длина стержня» и со своим «Количеством».

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

Для каждого экземпляра

Если хотим увидеть сумму длин и общее количество в обычной ситуации просто выставляем «Вычислять итоги» для этих параметров и получаем результат:

Вычислять итоги

Проверяем 3150+2520+3880+800+500=10850. Ну и количество 5 штук.

После этого зададим округление для длины стержня до метров.

Расчетное значение

И посмотрим, что получится для каждого экземпляра:

Все отлично округлилось. А теперь посмотрим, что произойдет при установке «Вычисления итогов» в этом столбце:

В этот момент обычно в голове проносится «блииин, да что не так то?»

А не так в этот момент следующее. Вспоминаем, что каждая строка = элемент. То есть Ревит округляет не значение 10850, он округляет сначала каждую строку (как на скрине выше), а уже потом суммирует.

Проверим? 3000+3000+4000+1000+1000=12000. Не придраться. Но результат то не тот, который хочется получить!

И вот в этот момент приходит на помощь формулы процента.

Формулы процента в Ревит


Создадим два расчетных параметра.

Первый: %Длина. Так как собираемся вычислять длину, то в строке «Из» указываем параметр Длина стержня. Если бы считали количество, то указывали бы количество, для объема — объем и т.д. В строке «По» нужно указать по какому параметру будет производиться группирование (что брать за 100%). В этой строке можно выбрать параметры, которые использовались на вкладке Сортировка/Группировка. Так как в нашем случае мы хотим посчитать общую сумму всех стержней одного и того же типа и в конструкции других типов нет, то можно использовать <Общий итог>. 

Формулы процента в Ревит

Второй. Общая длина. 

Формулы процента в Ревит

И получим следующий результат (галка для каждого экземпляра включена):

Проанализируем что случилось?

В параметре %Длина Ревит написал сколько длина каждого стержня занимает процентов, если все сумма всех длин это 100%. 29+23+36+7+5=100%.

Вспомним школьные пропорции.

Если «икс» это 100 %, то «игрик» это сколько процентов?

Имеем «игрик» — это длина каждого стержня, имеем значение скольким процентам оно соответствует. Можем найти «икс».

Другими словами

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

Когда мы используем «Вычисление итогов», то значение самого параметра для каждого элемента не изменяется. Изменяется только его визуальное отображение в таблице.

Значение на втором скрине в значении Длина стержня 10850 на самом деле для каждого стержня не является таковым. Фактически ни один из параметров не изменился и все значения остались такие, какие были.

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

Вычисления итогов для формулы процента в Ревит


Если попробовать поставить для этого параметра «Вычисление итогов», то просто получим значение параметра «Общая длина» умноженное на количество штук элементов (галка для каждого экземпляра выключена):

Проверим? 10850*5=54250. Но это ведь не то, что требуется? Поэтому никаких «Вычислений итогов» для параметра, высчитанного через процент!!!

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

После того, как я убрала «Вычисление итогов» для параметра Общая длина получаем следующие значения в столбцах (галка для каждого экземпляра выключена):

В параметре Длина стержня значение 10850 (вычисление итогов), а в параметре Общая длина значение 10850 (без вычисления итогов).

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

Теперь можно это значение округлить так, как нужно (галка для каждого экземпляра выключена):

Расчетное значение

Получили значение с правильным округлением.

При составлении формул нужно это очень хорошо усвоить и понять. Ревит совершает действия в формулах построчно для каждого элемента.

Усложним задачу


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

Настройка сортировки для формулы процента в Ревит

И поправим группировку в расчетном параметре %Длина. В строке «По» выберем параметр ADSK_Наименование. Это стало возможным, потому что он использован на вкладке «Сортировка/Группировка».

Формулы процента в Ревит

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

Имеем суммарный процент для каждого типа. Так как в строке «по» указали ADSK_Наименование для 10A500 общая длина 100% и для 12A500 общая длина 100 процентов.

10A500     58,5+29,5+12=100%

12A500     29+23,2+35,8+7,4+4,6=100%

«Схлопнем» строки и получим вот такую спецификацию (галка для каждого экземпляра выключена):

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

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

Что же получилось? Для строки 10 А500 все хорошо, получили общую длину стержней, как и хотели, а вот для 12 А500 вышло значение 1. Но должно быть 5, ведь общее количество стержней 5! Первое, что приходит в голову, когда видим единицу, поставить «Вычисление итогов». Что ж поставим?

Ай – ай – ай! Теперь неверно отображается значение для первой строки! Что ж такое-то? Разбираемся. Выше я уже описывала что, когда параметр вычислен с использованием процента, он уже содержит в себе итог и при установке «Вычисления итогов» мы получаем итог итогов. Как быть?

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

Либо для всех вычисляем, либо для всех не вычисляем.

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

Повторю все действия по созданию формул с процентом только теперь для количества.

Формулы процента в Ревит
Формулы процента в Ревит

И заменю формулу для Условия

Посмотрим итог?

УРА! Получилось так как задумано!

Выводы


Итак. С помощью процента мы рассчитали значение параметров Общее кол-во и Общая длина с округлением, без использования «Вычисления итогов» и получили параметр, в котором выводятся значения этих параметров по заданному условию.

Всем спасибо за внимание, успехов в работе!

Связаться со мной можно на странице контактов

Поддержать

Хотите поддержать автора? Это можно сделать по qr коду ниже


Больше на BIMASKREVIT

Подпишитесь, чтобы получать последние записи по электронной почте.

Добавить комментарий