Обновление шаблона 1.6

На самом деле, обновление появилось уже давно, но всё руки не доходили оформить и выложить.
Добавил несколько полезных штук: подсчет количества металла на узлы при помощи "условных узлов", размеры арматурных хомутов по внутренним граням, исправил ошибки в спецификациях.

 

Качать обновление 1.6 — яндекс, гугл. Открывайте этот файл и копируйте семейства и спецификации в свой проект.
Описание под катом.

ВНИМАНИЕ: это — не полноценный шаблон, а только дополнение. Основной шаблон здесь.

"Условные узлы"

Отсутствие стандартного функционала по созданию узлов металлоконструкций — известная проблема Revit. Конечно, при помощи "групп" или редактора семейств можно создавать свои узлы, но очень уж много с ними ручной работы. Да, есть Revit 2017 с функционалом по созданию узлов, но там с них не получить спецификации металла — совсем беда!
К счастью, мы всегда можем найти обходные пути для решения задачи. Например, можно не моделировать узел, а создать некий контейнер, который содержал бы информацию о количестве металла на данный узел, и копировать по модели уже этот "контейнер". Детализацию узлов можно выполнить при помощи 2D элементов,  нарисовать фасонки на одном узле "моделью в контексте", или вообще взять готовый узел из Автокада.

Про идею я рассказывал на University в прошлом году (с 45 минуты):

Благодаря такой системе:
— можем визуально контролировать, учтен ли узел в данном соединении;
— получаем информацию на узлы по всему зданию;
— можно начинать размещать узлы в модели можно еще до того, как есть расчет узлов — указать массу металла можно в любой момент через спецификацию. Узел без назначенной массы будет "незрелым" — зеленым, и станет "спелым" — красным после того, как в него будет указан расход металла;
— в случае, если одинаковая сталь (например лист t20/С245) применяется и в узлах, и в сварных балках — в спецификации металлопроката будет выведен суммарный расход;
— нет необходимости создавать большую библиотеку узлов — на все случаи жизни достаточно одного семейства;
— в семейство вложен параметр номера узла, можно использовать этот параметр для маркировки узлов на схемах и разрезах, вести библиотеку и учет узлов (экспортировать типоразмеры в txt-файл и использовать в других проектах), также этот номер выводится 3D-надписью на самом узле;
— при необходимости можно комбинировать моделирование узлов при помощи 3D-семейств (например, для типовых узлов) и при помощи "условных" узлов (для нетиповых узлов, которые трудоемко моделировать в 3D) — в спецификации металла всё будет собираться вместе

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

Техническая спецификация металлопроката

ТСМ немного изменена для возможности подсчета массы металла в "условных узлах" — добавлен "Способ подсчета массы №5 — готовое значение из элемента":

if(КМ.СпособПодсчетаМассы = 0, 0,
 if(КМ.СпособПодсчетаМассы = 1, Рзм.ДлинаБалкиИстинная * КМ.МассаПогМетра / 1000 мм,
if(КМ.СпособПодсчетаМассы = 2, Рзм.Длина * КМ.МассаПогМетра / 1000 мм, if(КМ.СпособПодсчетаМассы = 3, Рзм.Толщина * Рзм.Ширина * Рзм.Длина * 7850 / (1000 мм * 1000 мм * 1000 мм), 
if(КМ.СпособПодсчетаМассы = 4, 0, 
if(КМ.СпособПодсчетаМассы = 5, Орг.МассаИзделия, 0))))))

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

if(Масса > 100, 0,01 * roundup(Масса / 10), if(Масса > 10, 0,001 * roundup(Масса), if(Масса > 1, 0,0001 * roundup(Масса * 10), 0,0001 * roundup(Масса * 100))))
 

Один нолик пропустил! Тут должно быть 0.00001. Если у вас в проекте встречались пластины массой менее 0.1кг — их масса получилась с хорошим запасом.
И ведь никто мне даже не указал на ошибку — неужели никто не заметил и выдавал массу в 10 раз больше чем надо? Или это норма? Или просто никто этими спецификациями не пользуется?
В любом случае, исправленная спецификация во вложении.

Определение размеров гнутой арматуры

Есть такая проблема — для хомутов нужно выводить размер в ведомости деталей по внутренней грани, а Ревит выводит по внешней. Значит, надо вычесть из размеров два диаметра арматуры, причем сделать это только для хомутов.
Для реализации этой задачи я добавил во все семейства форм арматуры дополнительный параметр "Арм.ДлиныУчастковИзСемейства", это параметр "Да/Нет". Для обычной гнутой арматуры этот параметр отключил, а для хомутов — включил. Также добавил в семейство формы два параметра "Арм.РазмерА" и "Арм.РазмерВ". Для параметров назначил формулы:

В спецификации написал формулу расчетного параметра "*Aрасчетный":

if(Арм.ДлиныУчастковИзСемейства, Арм.РазмерA, A)

Таким образом, если нас устраивают те размеры, которые Ревит выдает автоматически (А, В и тд) — надо только добавить в семейство формы арматуры параметр "Арм.ДлиныУчастковИзСемейства" и отключить его; иначе можно включить параметр и вычислить нужные размеры при помощи формул.

Исправления спецификации арматуры

Немного усовершенствовал спецификацию арматуры. Первое — нашел ошибку при вычислении коэффициента нахлеста для диаметра более 32мм (коэффициент 0.9). Исправленная формула параметра КоэффНахлеста:

1 + round((1,2 * Rs * (ДиаметрРасчетный / 1 мм)) / (2,5 * if(ДиаметрРасчетный > 32 мм, 0,9, 1) * Rbt * 4)) / 11750

И еще немного изменил сортировку, теперь вся арматура в погонных метрах выводится в первых строках:

Ведомость расхода стали — исправлено округление

Обычно я стараюсь делать все спецификации с округлением "как вручную" — что лишних вопросов не возникало у того, кто будет с калькулятором проверять спецификации. Но в старой версии ведомости масса не сходилась со спецификацией арматуры в погонных метрах:

Конечно, расхождение на пару процентов при грубом расчете "погонными метрами" — мелочь, но хорошо бы исправить. Теперь вот так:

"Спецификация арматуры" тоже немного изменена (изменено округление и формула в расчетном параметре "ДлинаРасчетнаяДляСпец"). Короче, качайте новые спецификации, и не забывайте в будущем хотя бы один раз проверять их с калькулятором!

Ну вот пока и всё! Следующая версия шаблона (1.7) будет последней под 2015 версию, будет сразу включать все обновления версий 1.2-1.6 и сделана на шаблоне "Несущей конструкции" (изначально файл был сделан "Без шаблона" и получился немного кривой).
Постараюсь выложить на следующей неделе, но тут уж как получится.
Удачи!