Добрый день!
Формирую спецификацию. Бывают позиции, для которых нужно заложить запас (в %-х от проектного количества). Хоть отдельной строкой, хоть одной строкой с примечанием, что учтен запас.
Пытаюсь создать расчетное значение с применением параметра Число (которым обозначается в Revit количество элементов). А его нет в списке допустимых для формулы параметров.
Пробую вручную ввести формулу: Число * 0.1. Выдает ошибку, что поле "Число" не может использоваться в формулах.
Может есть у кого опыт с решением задачи?
Есть конечно ручной способ: создать параметр проекта для "Запаса". И вручную вписывать в него значения, исходя из значения Число. Но это же не BIM. Даже если смогу написать под эту задачу скрипт - всё равно криво.
Solved! Go to Solution.
Solved by D.Arch. Go to Solution.
Solved by D.Arch. Go to Solution.
Solved by Grief-rec. Go to Solution.
Solved by Grief-rec. Go to Solution.
Я обычно запас добавляю по длине, площади, объему, массе, а не по количеству. Уж количество то в ревите можно разложить достаточно точно.
Если же нужен запас по количеству штучного элемента, то проще где-то прямо в модели сделать нужное количество в запас. Или пользоваться условными узлами.
Речь о другом типе Запаса - который идет на склад. Как требование норм. К примеру: спринклера, модули порошкового пожаротушения. Они должны быть и в спецификации.
Понятно, что Ревит не дает "играть" с количеством. Но задачу-то надо выполнить.
Я делаю проще (этот же метод использую и в семействах, особенно, во вложенных, отображения которых есть только на узлах, но ими не хочется перегружать модель). Ввожу параметр числовой параметр "количество", который может быть отличен от нуля. А в спецификации вычисляю итоги у этого параметра, а не у параметра "Число".
Таким образом удобно считать и запасы, и количество элементов по длине, площади и другим параметрам (в семействах у меня всегда этот параметр зависит от других и редко равняется "1")
Вы не описали чем заполняется ваш параметр. Если вручную, то это практически тот метод, что я описал в первом посте. А если он расчетный, то поясните.
P.S. Пока остался на таком же дополнительном параметре. Он будет заполняться вручную с учетом запаса. Он же будет фигурировать с Спецификации. А в Примечании будет пояснение о величине и причине запаса. Так что с точки зрения проекта - всё честно.
Прошу прощения за недостаточность информации. Да, если параметр используется только в проекте - то заполняется вручную.
(Но для себя я его добавил во все семейства и добавляю, если делаю новые. И он либо блокированный с каким-то конкретным показателем, либо вычисляется в самом семействе формулой в зависимости от других параметров семейства).
Ну и уточню до конца )))
Правильно ли я понял, что фактически этот параметр становится банальным счетчиком для примененных элементов? Как бы параллельно со встроенным параметром "Число". Но его при этом можно использовать в формулах...
Блин, круто!
Denver-22 написано:
Речь о другом типе Запаса - который идет на склад. Как требование норм. К примеру: спринклера, модули порошкового пожаротушения. Они должны быть и в спецификации.
Понятно, что Ревит не дает "играть" с количеством. Но задачу-то надо выполнить.
Ну а кто мешает просто в модель добавить нужное дополнительное количество спринклеров, модулей порошкового пожаротушения?
Допустим расставили вы 10 шт модулей. Положено на складе иметь в запасе 1 шт. Ну сделайте рядом с моделью квадрат, назовите его "Склад" и разместите в нем еще один экземляр модуля. Тогда не надо будет ничего городить в спецификации.
Если вы постоянно делаете такие вещи, то чтобы не не создавать кучу лишних экземпляров в модели используйте условные узлы. Условные узлы я делаю так.
Берете семейство модуля порошкового пожаротушения, удаляете из него геометрию, оставив только какой-то условный элемент линией модели (например круг). Делаете его общим. Создаете еще одно семейство, вкладываете в него пустое семейство модуля и размножаете массивом. Количество элементов массива параметризуете. Это и будет семейство условного узла. Ставите его в проект и в параметрах указываете количество модулей внутри этого узла. В стадии П например можете вообще не расставлять какие-то элементы, просто поставить условный узел и указать количество. В одном узле у вас могут находиться самые разные семейства, любые, какие нужны.
Да, количество элементов в этом узле придется указывать вручную. Но при этом вы всегда будете иметь запас, в то время как с параметром спецификации у вас может получиться так, что в проекте модули новые добавились, а вы забыли в спецификации исправить количество. И в спецификации будет недостаточно модулей. В варианте с условными узлами изменение реального количества модулей в модели автоматически меняет спецификацию. А запас из условного узла будет всегда только в плюс идти. Максимум, чем рискуете - у вас может быть недостаточный или лишний запас, но основной набор по количеству всегда будет присутствовать.
У Зуева в блоге можно посмотреть его вариант реализации условных узлов. Свой вариант я сделал на базе его узлов.
Denver-22 написано:
Ну и уточню до конца )))
Правильно ли я понял, что фактически этот параметр становится банальным счетчиком для примененных элементов? Как бы параллельно со встроенным параметром "Число". Но его при этом можно использовать в формулах...
Блин, круто!
Кстати, тоже хороший вариант. Я как-то до этого не додумался. Можно сделать два параметра: Количество и Запас . В спецификации их можно будет умножать. Тогда можно будет выводить и реально требуемое количество, и отдельно показывать запас.
Странно, что я до сих пор еще не встречал такого способа ) Надо будет поработать над семействами.
Использовать в формулах параметр "Число" не имеет смысла, потому что он всегда равен 1.
Да, "Число" можно заменить расчетным параметром с формулой "=1". Далее включить для него "Вычисление итогов" - и вот ваше количество элементов. Лично я в своих спецификациях именно параметром "Число" уже давно не пользуюсь, всё как-то через формулы и вычисление итогов.
Пишем формулу "=1.1" - и вот ваш запас на 10%, и никакие семейства не надо корректировать.
Alexander Zuev
In BIM we trust
Facebook | Linkedin | Telegram
Решение уже подсказали выше. Создание счетчика, аналогичного по функционалу Числу - полноценно работающее решение в автоматическом режиме.
Уже проверил. Идеально! Не надо менять количество запаса ни вручную, ни графически ("левыми" семействами).
Denver-22 написано:Ну и уточню до конца )))
Правильно ли я понял, что фактически этот параметр становится банальным счетчиком для примененных элементов? Как бы параллельно со встроенным параметром "Число". Но его при этом можно использовать в формулах...
Блин, круто!
Да, так и есть. При правильном применении даёт высокую точность не утяжеляя модель.
Рад, что мой способ пригодился.
Я только успел было подумать, что Grief-rec придумал крутой способ работать с параметром число. Но пришел Extraneus и обломал все мои планы по масштабной корректировке семейств предложив не менее крутой способ ).
Теперь буду думать как лучше сделать. Там, где нужны простые операции с количеством элементов в спецификации не нужны никакие параметры семейства. Достаточно добавить вычисляемое поле со значением 1 (или сразу с учетом запаса 1.1...1.15) и можно уже работать с этим параметром. Чтобы в получить возможность более гибко настраивать количество и запас, можно добавить сразу два параметра проекта - Кол-во и Запас для всех категорий. Кол-во по типу, чтобы меньше значений вбивать. Запас сделать по экземпляру, чтобы можно было при необходимости прямо в спецификации менять запас для разных элементов.
Спасибо за такое разнообразие способов работы с количеством ). Теперь только одна проблема осталась - как это все системно применить, чтобы не запутаться )
Всё было бы хорошо. Вот только итоговый запас (функция - Посчитать итоги) нужен с округлением. А как известно, итоги Ревит считать не умеет. Он округляет только значения у экземпляров, что не устраивает. Поэтому помимо Счетчика и Запаса приходится держать ещё один столбец для ввода значения вручную - самому округлять итоговое значение Запаса. Ну... хоть так.
Вообще вроде можно и округлять так, как нужно. Если округлить итоги ревита, то будет округленная сумма точных значений. А можно округлить каждое значение и просуммировать. Можно округлить каждое значение, просуммировать и потом еще раз округлить.
Пример можно посмотреть тут.
Или имелось ввиду округление суммы значений в каждой строке? Тогда да, не получится.
Я читал эту статью (она есть в теме, на которую сослался выше). Она не подходит - решает другую задачу.
Мой частный случай:
Параметр с запасом = 1,1 для каждого экземпляра. Количество экземпляров 4. "Вычислять итого" = 4,4. Мне нужен результат округления = 5.
Как бы я не резвился с величиной 1,1 согласно статьи - всё равно нужный результат не получу. Потому как округлять надо именно ИТОГ.
"Если округлить итоги ревита, то будет округленная сумма точных значений." -- Расскажите как это сделать. Так как Ревит вроде итоги ("Вычислять итоги") округлять не умеет.
@Denver-22, вам вот так надо?
Если так, напишу статью в блог, как это сделать )
Тут нет ручного заполнения...
ОТВЕЧАЕМ НА ВАШИ ВОПРОСЫ НА ФОРУМЕ BIM2B
Dmitry Chubrik | Дмитрий Чубрик
CEO | Генеральный директор
BIM2B | Easy4smArt
Facebook | VK | LinkedIn
Задаем вопросы правильно!
Denver-22 написано:
Я читал эту статью (она есть в теме, на которую сослался выше). Она не подходит - решает другую задачу.
"Если округлить итоги ревита, то будет округленная сумма точных значений." -- Расскажите как это сделать. Так как Ревит вроде итоги ("Вычислять итоги") округлять не умеет.
Поэтому я и считаю штучные элементы с помощью условных узлов. Поставили вы 4 элемента, добавили условный узел с 1 элементом и в спецификации получили 5. При этом если понадобилось добавить еще один элемент, то в спецификации автоматически получите 6. и не нужно будет вручную вносить значения. Можно не делать отдельный условный узел.
Если не хотите, чтобы в модели присутствовали лишние элементы, то можете совместить условный узел с вашим семейством.
Допустим есть у вас модуль пожаротушения. Сохраняете его под другим именем (Модуль условный), сделав его общим и удалив предварительно геометрию, оставив только условную линию модели, чтобы хоть как-то видеть семейство. Для линии модели можно поставить видимость только в высокой детализации (или наоборот только в низкой). При вставке в проект этого семейства ревит будет его считать таким же модулем, как и все остальные (все параметры то у вас будут в семействе).
Далее берете полноценное семейство модуля, вставляете в него модуль условный и создаете 1 шт и массив. Параметры семейства модуля основного связываете с параметрами модуля условного.
Задаете общий параметр Количество, формулами привязываете к нему количество и видимость условных модулей в семействе. Т.е. Кол=1, видно только основной модуль, Кол=2 - видно основной и 1 условный. Более 3- основной и массив.
Тогда в модели в любом экземпляре модуля вы можете вписать запасное количество. Чтобы случайно не удалить модуль с запасными элементами, можете задать ему изменение материала в зависимости от значения количества (Кол=1 - стандартный цвет, Кол>1 - другой цвет).
@Denver-22, я перечитал вашу задачу и переделал спецификацию.
Опять же, всё автоматом, никакого ручного труда ))
То, что вам надо?
ОТВЕЧАЕМ НА ВАШИ ВОПРОСЫ НА ФОРУМЕ BIM2B
Dmitry Chubrik | Дмитрий Чубрик
CEO | Генеральный директор
BIM2B | Easy4smArt
Facebook | VK | LinkedIn
Задаем вопросы правильно!
D.Arch написано:
@Denver-22, вам вот так надо?
Если так, напишу статью в блог, как это сделать )
Тут нет ручного заполнения...
Я бы тоже не отказался посмотреть как это сделано.
Can't find what you're looking for? Ask the community or share your knowledge.