Добрый день! В этой статье описан мой опыт внедрения модульного ПО ModPlus для Autodesk Revit среди наших пользователей. Опыт личный, однако может быть полезен тем, кто рассматривает варианты автоматизации работы проектировщиков.
В конце декабря 2022 г. ко мне пришел один из наших внутренних заказчиков и попросил сделать плагин для Revit для соединения и отсоединения конструкции. В процессе сбора требований референсом был обозначен бесплатный модуль “Соединение элементов” из пакета ModPlus. С этим пакетом я сам лично знаком с 2018 года и знаю, что периодически пользователи пишут заявки в поддержку с просьбой его поставить. В ПИК установка ModPlus разрешена, однако BIM отдел не всегда имел статистику того, кто и как работает в ModPlus. Как раз пришло время это исправить!
В ПИК сильная команда разработчиков BIM-автоматизации, есть свой продукт PIK Tools, и подобные запросы мы реализуем в рамках него. Сделать такой плагин внутри компании не проблема. Однако я остановился на стороннем решении по нескольким причинам.
Во-первых, заказчику это обходилось дешевле примерно на 70% — даже с учетом внешней поддержки. Во-вторых, модуль простой по функционалу и полностью покрывает потребности пользователей. В-третьих, учитывая большую очередь разработки, добавить нужный функционал при помощи ModPlus было банально быстрее. В-четвертых, как отмечено выше, было желание легализовать использование этого ПО и контролировать процесс установки и использования. Я согласовал это решение с заказчиком и приступил к решению поставленной задачи.
В ходе изучения ModPlus’a выяснилось, что у него есть настройки организации. Как указано на официальном сайте, “Настройки организации позволяют переопределять пользовательские настройки или задавать особое поведение. Настройки организации относятся к разным зонам — к общим настройкам ModPlus или к настройкам плагинов”.
Отлично, то что нужно! Оставалось понять, насколько это реализуемо в рамках нашей инфраструктуры. Дело в том, что все сотрудники ПИКа могут работать удаленно, подключаясь к своим удаленным виртуальным рабочим столам (VDI). Архитектура VDI имеет свои особенности, влияющие на процесс установки и настройки софта.
Я встретился с автором пакета ModPlus, Александром, и обговорил детали. Выяснилось, что проблем быть не должно, но необходимо добавить настройки организации для модуля автообновления и для меню. Встреча была в среду, а уже в пятницу (!) у меня на руках был релиз плагинов с этими добавленными настройками, без проблем прошедший наши внутренние тесты и ушедший в полноценный релиз.
Настройка ModPlus для организации производится путем создания файла orgConfig.mpcf и размещения его в папке %appdata%\ModPlus Data\UserData. Файл представляет собой обычный *.xml, сформированный по определенным правилам, описанным в справке. Моя задача включала в себя 4 этапа:
- Настройку меню (ленты).
- Описание конфигурации в файле orgConfig.mpcf.
- Установка плагинов и настроек организации у пользователей.
- Внедрение модуля в текущий бизнес-процесс.
На первом этапе я установил себе ModPlus, запустил Конфигуратор, перешел на вкладку Адаптация, очистил меню соответствующей кнопкой, создал группу “Конструктив” и перетащил нужный мне модуль “Соединение элементов” в группу.
Настроенное меню в разделе “Адаптация” Конфигуратора
Другие модули не требовались, поэтому я экспортировал меню адаптации в файл Revit_menu.xml, который положил в сетевую папку на сервере.
На втором этапе я скачал актуальный шаблон файла настроек организации по ссылке, сохранил его под именем orgConfig.xml и приступил к редактированию. Файл содержит определенную структуру с необходимыми узлами, которые будут подчиняться настройкам организации. Ниже дана описанная мной структура файла. Текст <!--Текст-->, являющийся комментариями, дан для пояснения.
<!--Начало файла настроек организации--> <?xml version="1.0" encoding="utf-8"?> <ModPlus> <!--Узел, описывающий настройки ленты пользователя (меню)--> <Menu> <!--В AutoCAD мне ModPlus не нужен, поэтому значение False--> <LoadInAutoCAD>False</LoadInAutoCAD> <!--В Revit мне ModPlus нужен, поэтому значение True--> <LoadInRevit>True</LoadInRevit> <!--Renga у меня нет, поэтому значение False--> <LoadInRenga>False</LoadInRenga> <!--Путь к ранее сформированному файлу конфигурации меню--> <Revit>*тут полный путь к файлу меню в формате UNC, например, \\folder\Revit_menu.xml </Revit> <!--Для AutoCAD меню строить не нужно, поэтому данная секция не описана--> <AutoCAD></AutoCAD> </Menu> <!--Узел, описывающий настройки модуля автообновления--> <AutoUpdater> <!--Автозагрузка модуля обновления с Windows нужна, поэтому значение True--> <LoadWithWindows>True</LoadWithWindows> <!--Перестраивать меню при установке новых плагинов не нужно, плагин один, поэтому значение False--> <GetStandardCui>False</GetStandardCui> <!--Я не хочу, чтобы пользователь видел, что ModPlus устанавливает новые модули, даже если они не появятся у него на ленте, поэтому значение у обоих параметров True--> <ShowProgressDialog>False</ShowProgressDialog> <!--Однако результат установки новых плагинов все же стоит показать, поэтому здесь значение True--> <ShowResultDialog>True</ShowResultDialog> <!--Период проверки обновлений выбран равным 8 часам (значение 4)--> <UpdateCheckTime>4</UpdateCheckTime> <!--Двойной клик по иконке в трее открывает настройки модуля, хоть и нет возможности их изменить. Это даст понять пользователю, что за иконка в трее и к чему она относится--> <DoubleMouseClick>0</DoubleMouseClick> <!--Уведомления для неважных обновлений не должны показываться, поэтому значение True--> <NotShowNotificationsForUnimportantUpdates>True </NotShowNotificationsForUnimportantUpdates> <!--Любые ошибки должны быть отображены пользователю, чтобы он мог написать заявку а их устранение. Поэтому значение параметра "Показывать содержимое html ошибки" True--> <ShowHtmlExceptionMessage>True</ShowHtmlExceptionMessage> <!--Не устанавливаем по умолчанию новые плагины пользователям, поэтому значение False--> <AutoInstallNewPlugins>False</AutoInstallNewPlugins> <!--Пользователи не хотели видеть всплывающие сообщения с новостями, поэтому значение False--> <ShowNews>False</ShowNews> </AutoUpdater> </ModPlus> <!--Конец файла настроек организации-->
После этого осталось только изменить расширение файла на *.mpcf и положить в ту же сетевую папку, что и файл Revit_menu.xml. В дальнейшем файл orgConfig.mpcf из этой папки будет копироваться в директории %appdata%\ModPlus Data\UserData пользователя. Файл Revit_menu.xml копироваться не будет, так как ранее я прописал путь к нему в orgConfig.
На третьем этапе я обратился за помощью в отдел ИТ-инфраструктуры для раскатки модуля всем пользователям. Изначально веб-установщик не подошел, так он не позволял провести установку в silent-режиме (а хотелось поставить так, чтобы не вызывать лишних вопросов в поддержку). Обсудили вопрос с Александром, разработчиком ModPlus, он доработал установщик, на следующий день релиз был на руках. ModPlus установили нужной группе пользователей на голд-образ виртуальных машин, в него же загрузили файлы с настройками организации. Дополнительно через групповые политики ограничили права на редактирование файла orgConfig.mpcf. Образ последовательно раскатывали на 10%, 50%, 100% пользователей для того, чтобы отловить возможные ошибки на тестовых группах. В течение следующего дня я мониторил приходящие в поддержку заявки, чтобы отловить возможные проблемы (которых в итоге и не возникло)
На четвертом этапе я оповестил пользователей и поддержку о появившемся модуле, внес информацию о нем в требования к информационным моделям. Благодаря тому, что у ModPlus уже есть справка, отдельно писать инструкции не пришлось. Однако пользователи по своей инициативе записали себе видео по работе с плагином “Соединение стен”, его я в дальнейшем планирую встроить в существующий видеокурс по конструктивным решениям.
Уже после внедрения модуля заказчик попросил убрать новостные оповещения о релизах и отключить плагины для AutoCAD. Так как этой возможности не было, я вновь встретился с Александром. На этот раз ждать доработки пришлось меньше суток.
В итоге проектировщики и заказчик довольны результатом. Для меня это был первый опыт системного внедрения ModPlus — и сугубо положительный. Сейчас плагин в стадии эксплуатации, и в ближайших планах — выстраивание системы аналитики для отслеживания ключевых метрик использования.
Спасибо, что дочитали, буду рад, если мой опыт пригодится. Успехов!

