Взаимодействие платформы «1С:Предприятие» с облачным сервисом Autodesk Forge происходит в браузере через Chrome DevTools Protocol посредством обмена данными по WebSocket, через внешнюю компоненту VanessaExt. Браузер Google Chrome для этого должен быть запущен в режиме отладки с ключом командной строки.
chrome.exe --remote-debugging-port=9222
Для работы с примером необходима учётная запись Autodesk. Чтобы получить учётную запись Autodesk перейдите на сайт https://accounts.autodesk.com, выберите пункт «Создать учётную запись» и заполните необходимые поля регистрационной формы. После прохождения регистрации бесплатно предоставляется пробный период на полгода.
Откройте в 1С внешнюю обработку примера. Нажмите на кнопку «Запустить браузер», дождитесь загрузки браузера и далее нажмите кнопку «Войти в Autodesk». После прохождения процедуры авторизации вы будете переадресованы на страницу приложения Autodesk Forge, а в 1С будет передан токен авторизации из адресной строки браузера. Далее в окне браузера загрузится для просмотра BIM-модель, при этом 1С отобразит группы конструктивных элементов и заполнит список выбора доступными для переключения видами 3D и 2D.
В прилагаемом видео использована бесплатно распространяемая модель Autodesk Revit, но вы можете загрузить и опубликовать на сайте https://viewer.autodesk.com собственную модель. Идентификатор опубликованной вами модели скопируйте из адресной строки браузера и укажите его в настройках внешней обработки 1С на соответствующей вкладке «Настройки».
Платформа 1С обращается к свойствам BIM-модели, выполняя в браузере команды JavaScript. Результат выполнения команды JavaScript возвращается в виде JSON и отображается на форме. Мы получаем из модели иерархию конструктивных элементов и отображаем её в виде дерева значений. При навигации в 1С по дереву конструктивных элементов текущий элемент подсвечивается в окне просмотра модели. При этом в 1С отображается уникальный идентификатор экземпляра элемента и заполняются сгруппированные по категориям свойства.
Можно отключить видимость по группам конструктивных элементов, либо для отдельных экземпляров конструктивных элементов. Выделить их цветом. Получить список выделенных элементов и посмотреть их свойства. Переключаясь между видами 3D и 2D можно посмотреть не только трехмерную модель, но и другие чертежные виды.
API платформы Autodesk Forge хорошо документирован, поэтому базовых знаний JavaScript будет достаточно, чтобы доработать предлагаемый пример и обеспечить ему промышленное применение.
Описанная технология может быть использована для формирования ведомости объемов работ на основе натуральных показателей, получаемых из BIM-модели. Использование Autodesk Revit в связке с программным продуктом «1С: Смета 3» позволит вам повысить точность финансового планирования в строительстве, обеспечить наглядную визуализацию планов-графиков строительства.
Исходный код примера выложен на GitHub: https://github.com/lintest/AFViewer1C