12 - 2017

Первый полет: вышла бета-версия веб-сервиса облачного моделирования помещений WebPlanner


Роман Колесников, ведущий программист ООО «Базис-Центр»

WebPlanner — новый проект, цель которого заключается в разработке инструмента для качественного моделирования планировок помещений [1]. Данный веб-сервис является далеко не первым в своей области, однако уже сейчас готов предложить пользователям ряд уникальных функций, выгодно отличающих его от аналогов.

Функциональность, заложенная в WebPlanner, позволяет применять его в самых разных сферах деятельности, таких как 3D­галереи продуктов, продажа мебели и элементов интерьера, моделирование планировок и отделочных работ квартир и офисов.

Идея проекта родилась во время разработки программы БАЗИС­Мебельщик. Развитие функциональности эластичных параметрических моделей [2] привело к мысли о создании проекта, в котором будет возможно с помощью таких моделей создавать как саму конструкцию помещения, так и элементов мебели внутри нее. Одновременно с этим происходило бурное развитие веб­технологий, которые сделали возможными создание и поддержку сложных САПР, работающих в браузере. Большое влияние оказали также пользователи системы БАЗИС, постоянно выражающие желание по использованию создаваемых в ней моделей в интернет­магазинах. Эти факторы привели к желанию создать платформу, предназначенную для визуализации моделей и моделирования помещений на основе элементов, сконструированных в системе БАЗИС, которая будет работать в браузере без установки.

Как видно из названия, WebPlanner — это облачный сервис, поэтому для работы в нем в качестве как пользователя, так и администратора нет нужды что­либо скачивать и устанавливать на своем компьютере. Достаточно веб­браузера для выхода в Интернет, и все возможности программы будут находиться «на кончиках ваших пальцев». Вы можете это сделать из любой операционной системы, будь то Windows, Mac или Linux, и с любого устройства — компьютера или планшета. К тому же программа не просто работает через Интернет, она также и взаимодействует через Всемирную сеть. Вы можете редактировать проект, все изменения в котором будут в реальном времени видны заказчику, находящемуся в другом городе, и при этом он также сможет принимать участие в корректировании проекта. Вы можете создать проект на рабочем компьютере, а продолжить редактирование на ноутбуке, без необходимости копирования файлов на флэшку. При этом вы будете всегда уверены, что работаете с самой последней версией документа. Все изменения мгновенно сохраняются на сервере, и даже аварийное отключение вашего компьютера не приведет к потере данных. Веб­сервис легко интегрируется с другими интернет­сервисами, поэтому вы сможете поделиться ссылкой на удачный ракурс модели с друзьями и коллегами или рассчитать смету ремонта на основе актуальных цен.

Планировщик помещений

Одной из важнейших частей программы является планировщик помещений, который позволяет моделировать как простые комнаты, так и сложные многокомнатные и многоэтажные помещения. Планировщик использует инструменты динамического отображения размеров, благодаря которым вы можете выделить любой элемент конструкции (комнаты, стены, двери, окна, элементы интерьера), увидеть все связанные с ним размеры и редактировать их в интерактивном режиме (рис. 1 и 2). Важную роль играет учет внутренних и внешних размеров комнат, позволяющий максимально точно выполнить планировку помещения. Уникальной особенностью планировщика является возможность вставки произвольных моделей дверей и окон, розеток и выключателей, и других элементов, которые вы можете проектировать самостоятельно в различных CAD­системах.

Рис. 1. Планировщик помещений

Рис. 1. Планировщик помещений

Рис. 2. Интерактивное редактирование элементов

Рис. 2. Интерактивное редактирование элементов

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

Визуализация

Для качественной визуализации проектов в браузере используется технология WebGL, на основе которой разработана собственная платформа визуализации, реализующая реалистичное освещение и затенение объектов, симуляцию свечения источников света и рассеянного освещения, отображение микрорельефа поверхностей. В WebPlanner реализованы сложные эффекты, применяемые в современных играх, такие как зеркальные отражения на поверхностях и плавные тени от осветительных приборов, которые работают в реальном времени и  не требуют дополнительного времени для получения реалистичной картинки — вы всегда видите модель в наилучшем качестве (рис. 3­8).

Рис. 3. Пример визуализации

Рис. 3. Пример визуализации

Рис. 4. Пример визуализации

Рис. 4. Пример визуализации

Рис. 5. Пример визуализации

Рис. 5. Пример визуализации

Рис. 6. Редактор каталога моделей

Рис. 6. Редактор каталога моделей

Рис. 7. Редактор материалов моделей

Рис. 7. Редактор материалов моделей

Рис. 8. Редактирование параметров модели

Рис. 8. Редактирование параметров модели

В процессе работы вы можете выбирать различные варианты визуализации, например «в цвете» или «чертеж». Помимо этого, вы можете использовать несколько вариантов навигации по помещению, таких как «обзор», «прогулка» и «план». Для управления освещением в сцене любой объект можно сделать светящимся и настроить его яркость и цвет (рис. 9 и 10). В программе реализованы разнообразные настройки материалов, включая возможность наложения текстуры цвета и рельефа с помощью технологии drag&drop, позволяющей «перетаскивать» их с вашего компьютера. При этом текстуры автоматически загружаются на сервер, конвертируются в корректный формат и становятся доступными всем пользователям программы.

Рис. 9. Редактирование освещения сцены

Рис. 9. Редактирование освещения сцены

Рис. 10. Декоративные элементы и люди в интерьере

Рис. 10. Декоративные элементы и люди в интерьере

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

Каталоги моделей

Для того чтобы использовать пользовательские модели, например расставлять мебель, изготавливаемую определенной мебельной фирмой, нужно создать каталог моделей. Для создания собственных каталогов моделей в программу встроен менеджер каталогов. Он позволяет импортировать модели из множества программ моделирования. В настоящее время поддерживаются такие популярные форматы обмена файлов, как 3DS, OBJ, DAE, STL, STEP, IGES, VRML.

Естественно, что наибольшее внимание было уделено поддержке собственных форматов системы БАЗИС — самой известной системы для проектирования мебели и комплексной автоматизации всего мебельного производства. WebPlanner имеет возможность импорта моделей и фрагментов, созданных в модулях БАЗИС­Мебельщик и БАЗИС­Шкаф. В связке с модулем «Менеджер Прайс­Листов» реализована синхронизация каталога моделей с прайс­листом. При этом автоматически передаются все группы, модели и параметры материалов, а также выгружаются используемые текстуры. В модуле БАЗИС­Мебельщик реализованы API­интерфейсы в подсистеме скриптов [3, 4]. Это позволяет пользователям более гибко настраивать экспортирование моделей, используя язык сценариев JavaScript.

Помимо формата файлов системы БАЗИС поддерживаются форматы систем Компас­3D, самой популярной отечественной MCAD, и бесплатного профессионального пакета для 3D­моделирования Blender. В загруженных моделях можно настраивать все параметры материалов объектов и способ их размещения в помещении, к примеру назначить режим «внутрь стен» для установки окон и дверей, или режим «на стену» для установки розеток и выключателей. В моделях может быть назначена произвольная анимация (в том числе иерархическая) и расставлены источники света.

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

Интеграция

По желанию заказчика программа с легкостью интегрируется в существующие сайты с помощью технологии iframe. Это позволяет встраивать функциональные возможности программы по расстановке мебели или виртуальному туру по помещениям на ваш сайт и дает возможность вашим пользователям совершать заказы размещенной в каталогах продукции. Для интеграции вам достаточно вставить небольшой фрагмент HTML­кода на подходящую страницу сайта. Дизайн и функциональность программы могут быть адаптированы в соответствии с пожеланиями заказчика. К примеру, прайс­лист цен на изделия может автоматически подгружаться с основного сайта в WebPlanner, а набор используемых в 3D­проекте изделий передаваться в корзину покупок.

Варианты лицензирования

На данный момент программа имеет два варианта лицензирования: облачное и корпоративное. В случае облачного лицензирования у вас нет необходимости покупать специализированный сервер, настраивать его, нанимать человека для администрирования и заботиться о средствах резервирования данных. Вы всегда будете пользоваться самой последней версией программы, которая регулярно обновляется. Программа интегрирована с облачной системой хранения данных Amazon S3, что позволяет осуществлять постоянное резервирование всех данных веб­сервиса, а также быстро восстановить работу сервиса в случае технической неполадки или поднять резервный сервер. Если же по каким­либо причинам облачное лицензирование вам не подходит, вы можете воспользоваться корпоративным вариантом лицензирования и разместить все программные сервисы, необходимые для работы WebPlanner, на серверах своего предприятия.

Заключение

Уже на стадии бета­версии WebPlanner готов предложить своим пользователям богатые возможности. Несмотря на интенсивное развитие, проект не планирует останавливаться на достигнутом, продолжая наращивать функциональные возможности. На пути от бета­версии к релизу основным направлением развития станeт совершенствование и упрощение интерфейса пользователя, а также улучшение работы на устройствах с сенсорным управлением. WebPlanner локализован на русском и английском языках. Планируется улучшение интернационализации приложения для перевода на другие языки и поддержки различных единиц измерения. Дальнейшее развитие планируется также в области улучшения визуализации, повышения производительности и стабильности работы на низкоскоростных интернет­соединениях, расширение инструментария для отделки помещений и расчета сметы.

Литература

  1. Колесников Р.А. Через тернии к облакам: создание облачного сервиса для 3D­проектирования и дизайна помещений на базе ядра C3D и WebGL // isicad.ru. 2017. № 1 (150). http://isicad.ru/ru/articles.php?article_num=19029
  2. Бунаков П.Ю. Эластичные элементы — новая технология параметризации в CAD­системе комплекса БАЗИС // САПР и графика. 2015. № 2 (220). С. 62­65.
  3. Бунаков П.Ю. JavaScript — эффективный инструмент конструктора­технолога для расширения функциональности САПР БАЗИС // САПР и графика. 2014. № 2 (208). С. 53­56. № 3 (209). С. 54­57.
  4. Бунаков П.Ю., Колесников Р.А., Мещанинов С.В. Технология отладки скриптов системы БАЗИС в кроссплатформенной среде Visual Studio Code // САПР и графика. 2017. № 9 (251). С. 53­57.