Статьи

Внедрение ModPlus для Revit в компании ПИК через настройки организации

Александр Мельничук

Александр Мельничук

Об авторе: Александр Мельничук, к.т.н., BIM Product Manager и руководитель группы развития BIM конструктивных решений в PIK Digital.


Добрый день! В этой статье описан мой опыт внедрения модульного ПО 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, запустил Конфигуратор, перешел на вкладку Адаптация, очистил меню соответствующей кнопкой, создал группу “Конструктив” и перетащил нужный мне модуль “Соединение элементов” в группу.

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 — и сугубо положительный. Сейчас плагин в стадии эксплуатации, и в ближайших планах — выстраивание системы аналитики для отслеживания ключевых метрик использования.

Спасибо, что дочитали, буду рад, если мой опыт пригодится. Успехов!