Как с помощью Autodesk Forge автоматизировать проектирование

views
2737 просмотров
В статье на примерах ГК EMDC Group разбираемся чем отличаются автоматизация и машинное обучение, когда и какой из методов эффективнее, а также – при чём тут облачная платформа от Autodesk.
Как с помощью Autodesk Forge автоматизировать проектирование

Современное проектирование предполагает автоматизацию рутинных процессов. Так, например, для пакетного заполнения атрибутов в компонентах BIM-модели необходимо написать скрипт, который по заданным условиям, заполнит их в тысячах компонентов за считанные секунды/минуты – это пример автоматизации, но также есть задачи, которые не решить стандартными методами, тогда на помощь приходит машинное обучение и платформа Autodesk Forge.

В статье разбираемся чем отличаются автоматизация и машинное обучение, когда и какой из методов эффективнее, а также – при чём тут облачная платформа от Autodesk. 

Примеры кейсов машинного обучения, рассмотренные в статье, – опыт EMDC Group. 

Что такое Autodesk Forge

Autodesk Forge – облачная платформа, с помощью которой разработчики могут выпускать собственные решения на базе продуктов Autodesk. В общем виде, платформа представляет собой набор интерфейсов прикладного программирования (API) и комплект средств разработки программного обеспечения (SDK).

Какие API входят в Autodesk Forge:

  • BIM 360 – помогает организовать совместную работу над BIM-проектами. Так, используя данную надстройку, можно управлять учётными записями, RFI, назначать администраторов проекта.
  • Data Management – позволяет управлять данными в таких хранилищах, как Fusion 360 Team, BIM 360 Docs, A360, а также во встроенном в Forge Object Storage Service через один интерфейс.
  • Viewer – позволяет просматривать графические 2D- и 3D-объекты, а также их характеристики в 80 различных форматах с помощью смартфона или браузера. Также данное API позволяет проводить измерения, оставлять комментарии.
  • Reality Capture позволяет создавать сцены виртуальной реальности, текстурированные трёхмерные сетки и облака точек на основе изображений/фотографий.
  • Design Automation – об этом API поговорим подробнее в нашей статье. Он запускает скрипты AutoCAD в облачном хранилище и позволяет создавать чертежи для веб-приложений. Это возможно благодаря поддержанию нескольких платформ Autodesk, начиная от AutoCAD и Revit, заканчивая 3ds Max и Inventor. Также данная надстройка позволяет конвертировать DWG в другие форматы, например, в PDF, STL.

О машинном обучении в проектировании

Машинное обучение – это...

Когда машинное обучение применяется в проектировании:

  • При недостатке информации. К примеру, при работе с непараметрическими объектами – такими как 2D-чертежи CAD, недостоверные BIM-модели, облака точек или растровые изображения. 
  • Когда API имеют ограничения. Когда не все необходимые функции доступны в API, или когда автоматизация процесса не решается с помощью стандартных средств. 

Об автоматизации в проектировании 

Важно усвоить, что не вся автоматизация – машинное обучение. Например, скрипты Dynamo, макросы, плагины – это примеры стандартной автоматизации, которые никак не относятся к МО.

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

Пример 1: автоматическое подключение гидрозатвора

Начнём с примера автоматической трассировки, в которой подключаются соединения для отвода конденсата и гидравлический затвор к трубопроводу. Это пример автоматизации (не МО), который включает в себя много высшей математики, векторного анализа, линейной алгебры для правильного размещения и соединения компонентов. 

Эта задача нетривиальна, и поэтому часто вводит пользователей в заблуждение (которые считают, что задача решается с помощью машинного обучения).

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

Пример 2: автоматическое размещение кронштейна

К примерам сложной автоматизации можно отнести размещение кронштейна для труб и воздуховодов с последующим их соединением к конструктивным элементам.

Пример 3: автоматически прикрепленные кронштейны

Третий пример также иллюстрирует подключение кронштейнов. Однако в данном случае речь идёт о соединении кронштейнов с расположенными выше.

Это также пример сложной автоматизации с использованием высшей математики для определения несущего кронштейна.

В каких случаях автоматизация не поможет

1. Извлечение данных из отсканированного PDF. Например, отсканированный чертёж в PDF, из которого нужно извлечь рукописные комментарии.

2.  Документирование многокомпонентных чертежей в САПР. Пример: чертёж AutoCAD, из которого необходимо перенести нумерацию и наименования страниц в электронную таблицу.

3.  Преобразование деталей растрового изображения. Пример: деталь установки, которую требуется перенести в чертёж в AutoCAD.

4.  Преобразование облака точек в BIM-модель.

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

Кейсы EMDC Group с примерами машинного обучения 

Кейс 1. Использование машинного обучения для автоматизации группирования с несколькими выносками

1) Клиент хочет создать подробные чертежи AutoCAD на основе BIM-моделей.

2) Первый шаг – экспорт модели Revit в чертежи AutoCAD, что позволяет сэкономить половину времени на работу.

3) Возникает проблема – теги экспортируются в разнесённые мультивыноски (в данном случае заказчику требовались мультивыноски ещё и в определённом стиле).

Revit

Стандартное решение

Создаём надстройку AutoLISP для группировки текстовых элементов и разнесения выносок в мультивыноски. 

Минусы решения:

при работе пользователь всё равно столкнётся с большим количеством ручного ввода – выбором текста для мультивыноски. Поэтому стандартное решение в этом случае не подходит.

Решение с использованием машинного обучения

Автоматическая группировка элементов выносок в мультивыноски на основе плотности распределения и сходства вокруг каждого текста (алгоритм кластеризации DBSCAN).

Параметр сходства – расстояние, разделяющее каждую строку внутри текстового абзаца.

группировка

Как работает решение с использованием МО

Решение представляет собой надстройку на основе Revit API и используется для выполнения автоматической группировки на экспортированных чертежах AutoCAD.

Подробнее

  • Эта надстройка экспортирует листы Revit в чертежи AutoCAD, после чего их открывает и запускает решение в AutoCAD.
  • Надстройка на основе Revit API исключает ручной ввод и экономит время.
Примечание
надстройка

Кейс 2. Размещение видов на листах Revit с помощью МО

Кошмар любого BIM-специалиста – это ручное размещение большого количества видов на листы. Это рутинный и трудоёмкий процесс, который выполняется вручную.

Виды

Эту задачу можно решить несколькими способами. Рассмотрим некоторые из них:

Первый вариант

Надстройка, которая одновременно создаёт виды и листы.

Минусы решения:

1. не предусмотрены случаи, когда требуется на одном листе отображение нескольких видов;

2. список листов не всегда готов к моменту создания видов.

Второй вариант

Применение надстройки с более простыми пользовательскими интерфейсами (например, два противоположных списка для видов и листов, доплисты и т.д.). В этом случае количество ручной работы снижается (исключается перетаскивание листов).

Минусы решения – остаётся ручное сопоставление видов с листами.

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

image-0

Третий вариант

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

Минусы решения:

1. Технические слова в видах не совпадают с наименованиями в таблице. Такое бывает, например, при использовании синонимов.

Пример: «Дренаж» и «Санитарно-техническое обеспечение», которые часто используются при работе над моделью.

2. Включение предлогов в ключевые слова.

Незначащие параметры не должны влиять на процесс ранжирования, однако они оцениваются алгоритмом также как и значимые.

Получается, что и третий вариант не решает проблему полностью.

Четвёртый вариант

Для автоматического размещения видов на листах Revit возьмём за основу третий вариант и подключим к решению машинное обучение, чтобы автоматизировать разграничение значимых и незначимых параметров.

Так, синонимы должны иметь более высокие баллы, а менее значимые параметры – более низкие.

Для решения применяем алгоритм прогнозирования текста (используется во всех современных смартфонах).

Алгоритм
Алгоритм прогнозирования текста – это...

Применение алгоритма прогнозирования текста решает проблемы со значимыми параметрами и ключевыми словами, так как оценка каждой «пары» неодинакова и зависит от вероятности появления.

Почему решение кейса №2 стоит перенести в Forge

Большие проекты содержат тысячи листов, а базы данных могут включать сотню моделей, также стоит учесть, что n-количество вычислительных мощностей уйдёт на обучение машинного алгоритма. В этом случае мощности домашнего компьютера не хватит.

Forge решит эту задачу: платформа упакует модели, быстро их подгрузит и запустит удалённо. После того, как обучающий набор сформирован, пользователь получает к нему доступ со смартфона, браузера и любых других устройств.

Если в статье вы нашли ошибку, неточность или хотите по материалу дать комментарий, отпишите нам на почту [email protected].

9
1