Немного новостей — обучение, плагины, семейства для Revit

Те, кто подписан на мой канал в telegram, уже в курсе всех новостей, но расскажу ещё и тут: про курс обучения на Stepik, плагинах для Revit и библиотеке семейств.

Обучение Revit

Запустил свой курс обучения Revit КР на платформе Stepik:

Да, это «базовый» курс (будут ещё и более «продвинутые» UPD: уже есть курс по КЖ!), но зато в нём очень подробно разбираются важные основы: семейства, спецификации, фильтры графики, типовые ошибки и многое другое.

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

На данный момент обучились уже 119 человек, и абсолютно все отзывы — с оценкой на максимальные 5 баллов! Кстати, удалять или редактировать отзывы я не могу, Stepik это не разрешает.

Такая оценка, на самом деле, удивительна — курс сложный! Там есть и всеми «любимые» задания-квесты, и задания на самостоятельное выполнение в Revit, и взаимная проверка работ других студентов. В общем, всем, кто планирует обучаться Revit или желает подтянуть знания — welcome!

Плагины для Revit

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

Я запустил сайт bim-starter.com и теперь все плагины живут там:

Что самое крутое? То, что вы устанавливаете не просто плагины, а отдельную программу-клиент, которая автоматически обновляет плагины при выходе исправлений и новых версий:

А вот так выглядит панель в Revit:

Про все функции рассказывать не буду, почитаете на сайте, попробовать — есть и триал на 1 месяц :)

Полная подписка на плагины стоит 2000рублей/год.

Главное ограничение: 1 лицензию можно использовать только на 1 рабочем месте. В плагинах нет какой-то вшитой «лицензионной защиты» (более того, они даже выложены на github). «Защита» лишь в том, что скачать обновление можно скачать только 1 раз по 1 лицензии; если установить на другом компьютере — сервер выдаст ошибку «попытка повторного скачивания».

Важно: многие функции будут работать только на шаблоне Weandrevit. Иначе никак: для плагинов нужно, чтобы и шаблон был настроен соответствующе (присутствовали нужные параметры, спецификации, семейства). Так же и многие функции шаблона теперь завязаны на плагины — та же ведомость деталей или ведомость отметок отверстий (стандартным функционалом Revit их не сделать адекватно).

Выходит, что плагины Bim-starter и шаблон Weandrevit теперь — единый продукт. В будущем даже сам шаблон будет устанавливаться сразу вместе с Bim-Starter. Получается, что шаблон теперь… Не бесплатный! А стоит 2000 рублей в год. Думали, что я из чистого альтруизма всеми этими рювитами занимаюсь? Муахаха!  😈

Курс обучения на Stepik, кстати, уже использует именно шаблон+плагины.

Библиотека семейств

Когда-то в незапамятные времена я выкладывал семейства в папке на яндекс-диске, но давно за ней перестал следить, да и все эти «папки» — не дело. Нужна серьёзная библиотека семейств. И их есть у меня! Библиотека теперь тоже будет на bim-starter.com:

Да, красотами сайт не блещет (ну извените — я не веб-дизайнер), но есть кое-что поинтереснее — функционал! Чем же эта библиотека так крута?

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

Пополнение базы тоже выполняется через Revit. «Картинка» семейства генерируется автоматически, нужно только указать имя, индекс и описание:

Да, вы можете добавлять свои семейства в библиотеку!

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

Вся библиотека построена вокруг идеи, что «семейство» — это не конкретный rfa-файл, а некая «папка», в которой уже могут лежать несколько «версий».

Технически это реализовано двумя параметрами в самом семействе — «RBS_GUID» — уникальный идентификатор семейства, одинаковый для всех «версий», и «RBS_VERSION» — номер версии:

Конечно, плагин прописывает всё это автоматически.

Если понадобилось внести изменения в семейство, то просто загружаем его ещё раз — по GUID плагин увидит, что такое семейство в базе уже есть, и предложит добавить версию:

Эта «история версий» выводится и на странице семейства:

Третье и самое крутое — управление вложенными общими семействами! Кто знает, означает вот это сообщение?

А означает оно, что вот это семейство трубы используется в других семействах; я загружаю в проект новое семейство, и в нём версия этой вложенной «трубы» отличается от той, что уже есть в проекте. Какая версия правильная? Неизвестно! Может быть, это в проекте актуальная версия, и в загружаемом семействе старая, а может — наоборот.

Я, когда веду библиотеку семейств, всегда тщательно слежу, чтобы во всех «родительских» семействах была загружена одна и та же актуальная версия вложенного (значит, и выбирать надо будет первую кнопку). Изменил семейство арматурной П-шки — будь добр пробегись по всем семействам, где она используется, и обнови в каждом! Но вдруг в одном пропустил, человек загрузит его, выберет «заменить» и сломает весь проект?

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

Для начала, плагин не позволит загрузить семейство, если в нём есть вложенные семейства, не загруженные в базу:

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

Конечно, если понадобилось изменить вложенное семейство, его всё так же придется обновлять в других семействах — но хотя бы точно можно узнать, где именно это надо сделать:

Более того, я даже не смогу загрузить семейство в базу, если окажется, что в нём есть устаревшее вложенное:

Круто? Не то слово! Я мечтал о такой системе ещё с того времени, когда только познакомился с семействами Revit десять лет назад.

Сейчас ещё делаю Уже сделал плагин, который проверяет семейства в самом проекте — показывает дублированные и устаревшие семейства. Кстати, имена семейств не прописаны жестко в базе, а формируются «на лету» при скачивании. Планирую сделать «конструктор имени семейства», чтобы вы могли выбрать свой способ именования, например, добавить префиксы по своему BIM-стандарту. Или даже переводить названия семейств на другой язык! Система и такое позволит.

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