Блог Муратова про Revit MEP
7.51K subscribers
1.59K photos
93 videos
17 files
1.71K links
Вадим @Vadim_Rafi — раньше ОВэшник, теперь BIM-менеджер и препод. Блог про Ревит — muratovbim.pro

Чат для вопросов: @revitask

— Создаю семейства для Ревита.
— Обучаю моделировать разделы ОВ, ВК, ТМ.

Не размещаю рекламу.
Download Telegram
Forwarded from Александр
90% узла из Ваших семейств собрал., спасибо! Красотой решил похвастаться)
Обновляю мышь.

Редрэгон Импакт Элит прослужила два года, и ее аккумулятор стал сдавать. Зарядка раньше могла держаться месяц и больше, теперь же раз в неделю приходится заряжать. Естественно, разряжается она прямо во время работы.

Цифровой блок сбоку я почти не использовал. И потому что он неудобный, и потому что не стал намеренно приучаться. Слишком мелкие кнопки, слишком тесно, а у меня толстый и короткий большой палец. Мне неудобны все кнопки, кроме самой первой. Она легко нажимается не глядя.

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

Мне такое нафиг не сдалось. Поэтому подарком на 23 выбрал обновление манипулятора-мыши. Теперь у меня есть маленькие ноутбучные мышки, есть два трек-бола, которые мне не понравились, и вот такая дурында. Заказали из Китая через Озон.

Приятно, что она сразу подключалась к «свистку» от трекбола. Трекбол использовал как запасную мышь, пока старая заряжается, так что свисток даже не вытаскивал из порта.

Пластик матовый шершавый. Как будто резиной покрыт тонкой, не супер приятно для меня тактильно. Металлическая средняя кнопка крутится божественно. Боковая прокрутка прям тугая, надо придумать, что туда повесить в Ревите.

Сейчас настрою кнопки для работы в Ревите, посмотрю, насколько удобно будет с ней работать.
Записал небольшой разбор семейств из узла ЦИРВ

Модель мне прислали, чтобы я посмотрел, почему Ревит вылетает при попытке нарисовать трубу.

📱 https://vkvideo.ru/video-200445555_456239281

📱 Говорят, что Ютуб пессимизирует видео, на которое приходят с других платформ, поэтому на Ютубе можете посмотреть, но сами найдите последнее видео на канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
— А ты правда богатый?
— Детка, у меня медные трубы в пожаротушении.
— Возьми меня, возьми немедленно, любимый!
LIDA35 — ПРОМОКОД НА СКИДКУ 12 % В МАГАЗИНЕ

1. Промокод действует только сегодня (до 22:00 МСК)
2. Промокод можно активировать при сумме покупки от 4000 ₽.
3. Промокод можно применять неограниченное количество раз при соблюдении условий выше.
4. Промокод не распространяется на видеоуроки.
5. Промокод только для покупок по карте, на юрлиц не распространяется.
6. Промокод промокод промокод.

При оплате нужно произносить «С днём рождения, Лида, проекты выпускай быстрее болида».

Магазин тут: https://muratovbim.pro/shop/
Please open Telegram to view this post
VIEW IN TELEGRAM
У вас там пятница, вечер, все дела, всё понимаю.

Но сегодня вечером проведу стрим. Попросили сделать семейство круглого диффузора с КСД и щелевой решётки.

Решётку будем делать на следующей неделе, а диффузор сделаю сегодня.

Если вдруг вечером нечем заняться — приходите.
Если дела есть, то это здорово, сможете посмотреть в записи. Выложу для донов в ВК.

Твич тут: https://www.twitch.tv/muratovbim

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

Напишу о времени отдельно. Где-то после 19 по МСК, наверное.
Через полчасика стрим будет. Ориентируемся на 19:10 МСК.
Пять минут до старта. Сходите пописяйте.
МИНИКУРС ПО ФИЛЬТРАМ В РЕВИТЕ

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

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

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

Хороший вариант для курса выходного дня или для занятий вечером. Ролики короткие, от 1 минуты до 12 минут, даже такой короткий курс сможете разбирать на части и проходить размеренно. Рекомендую практиковаться параллельно: посмотрели видео один раз, перезапустили и с паузами делаете за мной, вникаете в происходящее. Выдам файл с системами для практики, это будет тот же файл, с которым работаю на видео. Файл для Ревита 2025, в более старых Ревитах не откроется.

Пожалуйста, если планируете покупать курс, то делайте это по моей ссылке: https://stepik.org/a/233760
Иначе комиссия платформы для меня будет в 6 раз выше.

Бесплатный ознакомительный урок: https://stepik.org/lesson/1651892?unit=1674622
🙂 Привет, ревитчики!

Выпустил библиотеку с комплектами подключения арматуры для радиаторов. Цель её следующая: оснастить любое семейство радиатора арматурой для бокового или нижнего подключения. В случае с узлами нижнего подключения ещё и добавить Г-образные трубки под сшитик или металлопластик. Вся арматура и фитинги считаются в спецификации.

Записал для библиотеки подробное видео, как добавить арматуру, как её настроить, даже как сделать красивый интерфейс для выбора стороны подключения и типа арматуры.

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

Ссылка на статью: https://muratovbim.pro/blog/revit-biblioteka-komplekty-dlya-bokovogo-i-nizhnego-podklyucheniya-radiatorov/
Товар в магазине: https://muratovbim.pro/product/biblioteka-armatura-dlya-bokovogo-i-nizhnego-podklyucheniya-radiatorov/

Видеоинструкция 📱: https://vkvideo.ru/video-200445555_456239280
Видеоинструкция 📱: https://youtu.be/KafvsREAJMU

В системе донатов в ВК произошли изменения. Теперь уровней поддержки три:

→ «Начинающий Ревитчик» за 100 рублей в месяц
→ «Уверенный Ревитчик» за 250 рублей в месяц
→ «Топовый Ревитчик» за 500 рублей в месяц

Пока что мысль такая: если какой-нибудь стрим окажется прям особенно полезным и ценным с точки зрения информации, то его буду выкладывать для донов, начиная со второго уровня поддержки. Видео попроще будут доступны с первого уровня.
Чтобы поменять уровень, можете посмотреть сообщение из чата или погуглить другие варианты, если они есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
ДИНАМО — ЭТО ХОРОШИЙ ТУПИК В АВТОМАТИЗАЦИИ (часть 1)

Последние пару дней я упоролся в очередные незапланированные семейства. Из беседы в чате про крепления воздуховодов я перешёл к разработке.

Сначала нашёл свои старые наработки двухгодичной давности. Всё переделал, стало и красивее, и функциональнее, больше возможностей по подсчёту.

Если для трубопроводов я создал библиотеку без автоматизации (вот она: https://muratovbim.pro/product/biblioteka-krepleniya-dlya-truboprovodov/), так как целевая аудитория была проектировщики ИЖС, то тут очевидно, что целевая аудитория шире и, скорее, даже совсем не ижээсники, а проектировщики более крупных зданий. Поэтому нужна автоматизация по расстановке креплений на протяжённых трассах.

Вот ею я и занимался эти несколько дней. Пока что в стадии тестов, но кое-какие выводы я для себя сформулировал, поделюсь ими с вами.

1. Динамо — это хороший способ дёшево начать автоматизировать свою работу. Можете посмотреть вебинар о том, что это: https://youtu.be/VDqzQxGiVj8

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

3. Основная работа, с которой сталкиваюсь в Динамо, — обработка списков. Вся ваша автоматизация в Динамо — это бесконечные танцы со списками, их уровнями и типами переплетений.

И вот тут закрадывается основная боль. Рано или поздно вам придётся обрабатывать всё более сложные в плане уровней списки. Самое дурацкое тут — уровни вложенности списков, которые могут меняться в зависимости от того, какие элементы приходят в скрипт. Соответственно, не всегда получится обработать их одним способом. Чаще всего получится, но не всегда.

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

Иногда решить задачу циклами в Питоне мне проще, чем придумывать обработку нодами. Я просто не знаю, как это по уму сделать нодами, мне проще открыть Питон-нод и написать циклы. Получается не всегда с первого раза, но в итоге работает. Ну и само собой, рано или поздно вы упрётесь в ограниченность стандартной библиотеки нодов. Что-то появляется в новых версиях, дополняется, но иногда их реализация просто сомнительная. На пакеты тоже надеяться не нужно, это слишком ограничивает вашу работу и не даёт нормально расшаривать скрипты.

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

Поэтому когда-то я пользовался пакетами, потом стал выделять из них Питоновские ноды и добавлять в скрипты, чтобы не зависеть от пакетов. Потом я стал сам всё писать в Питоне. Изредка могу зайти на Гитхаб пакета Клокворк и прям оттуда выдёргиваю нужный мне код.
ДИНАМО — ЭТО ХОРОШИЙ ТУПИК В АВТОМАТИЗАЦИИ (часть 2)

Проблемы у классического нодового Динамо я бы выделил следующие:

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

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

3. Зависимость от стандартных библиотек довольно скоро обернётся серьёзными трудностями в получении результата. Пакеты выручают, но это «грязные» скрипты, они годятся только для работы в одного.

4. Сложности с созданием интерфейсов для пользователя. В последних версиях стало лучше, но всё же проблемы есть.

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

В общем, Динамо — это хорошо, когда нужно накидать что-то простое. Но это в итоге станет тупиком, если планируете делать более сложные вещи. А вы будете их делать, если встанете на этот путь. Питон тоже не спасение, хотя он сильно расширит ваши возможности. Если выбирать, на что потратить время, лучше всё же лезть в Си шарп и плагины. Это сложнее, сильно сложнее, чем накидать что-то в Питоне, но тем не менее. Время всё равно потратите, так потратьте на что-то более перспективное по части автоматизации. Можете там втихоря что-то пописывать, а пацанам за гаражами говорить, что мамку Си шарпа четырнадцать раз за ночь и даже не устали.

Применительно к моей текущей задаче — Динамо обрабатывает нестабильно. Как только меняется модель и структура списков изменяется, то тут же вылезают ошибки. И что мне делать? Я ведь хочу закончить этот скрипт. Значит, я буду уводить в Питон всё, что не работает так, как мне нужно. Боль, слёзы, а что поделать.

Учите Си шарп с детства, не повторяйте моих ошибок.
Не, ну чё-то получается, конечно, но не всякий вариант модели сработает. Придётся переделывать, пока не заработает.
Вот вам пример работы в Динамо без Питона и с Питоном

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

Второй алгоритм придумал сегодня. Тут как бы ничего гениального, но добавление Ревит АПИ помогло решить проблему без прямого участия геометрии. Щас подробнее распишу.

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

Старый алгоритм

Немного Питона тут всё же сделать пришлось, но его я где-то раскопал в интернете, на форуме Динамо, скорее всего. Код получал из связанной модели перекрытия и крыши.

Дальше начиналась пляска. Из полученных элементов получаю геометрию — солиды, твёрдотельную геометрию. Беру точки вставки семейства, проецирую её на эти солиды. И вот тут важное отличие обработки в Динамо от обработки программным кодом.

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

В итоге я всё же получаю свою точку, по сути я там беру расстояния и ищу наименьшее, то есть беру самую близкую плиту. Строю линию, получаю её длину — вот и длина моих шпилек у креплений. Можно было не строить линию, а взять координаты Z, но суть мало меняется.

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

Новый алгоритм

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

Это я и сделал. Координату плиты получить не удалось, но с неё можно получить габаритный ящик — bounding box. Это такой кубик, в которой вписывается вся геометрия плиты. У него есть точка максимума и минимума. Из точки минимума я могу вытащить отметку низа, координату Z. Вот и получилась точка, куда надо тащить шпильку, а значит и легко получаю длину шпильки.

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

Оценить скорость прям супер точно не могу, скрипт в целом срабатывает не моментально даже на небольшой модели. Думаю, это из-за того, что Динамо приходится ещё расставлять крепления, это тоже он делает не особо шустро. Но очевидный плюс — не нужно ничего дополнительно обрабатывать, я все данные генерирую в самом коде, он работает в основном с числами, просто сравнивает списки. Это явно должно быть быстрее.

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

Вот такая получается разница, всё показал на картинках.