СМАКАЕВ Р. М., НИЗИНА Т. А. АВТОМАТИЗАЦИЯ ЗАДАЧ ПРОЕКТИРОВАНИЯ С ПОМОЩЬЮ СРЕДЫ
ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ DYNAMO STUDIO Аннотация. В статье описан метод повышения эффективности разработки проектно-сметной документации с помощью продукта DYNAMO STUDIO от компании Autodesk. Представлены основные принципы и инструменты визуального программирования.
Ключевые слова: информационное моделирование, автоматизация, визуальное программирование, программный код, оператор, язык программирования, анализ.
SMAKAEV R. M., NIZINA T. A.
DESIGN AUTOMATION BY USING DYNAMO STUDIO VISUAL PROGRAMMING Abstract. The article proposes a method for improving the development of design specifications and estimates by using DYNAMO STUDIO by the Autodesk company. The basic principles and tools of visual programming are described.
Keywords: information modeling, automation, visual programming, program code, instruction, programming language, analysis.
Программное обеспечение, реализующее технологии информационного моделирования в сфере строительства, с каждым годом все больше доказывает свою эффективность и все прочнее укореняется в проектно-строительном процессе [1]. Причиной тому является стабильный рост возможностей, оптимизация скорости обработки информации, расширение функционала программных комплексов. Данный процесс направлен на снижение трудозатрат всех этапов строительства: подготовки проектной документации, возведения и эксплуатации зданий. Пользователи таких популярных комплексов для проектирования, как ArchiCAD, AllPlan, Revit, Advance Steel, Tekla, на данный момент имеют огромный спектр интуитивных и полезных инструментов, позволяющих тонко настроить работу. При этом каждый элемент современных трехмерных объектов, помимо геометрии, содержит большое количество параметров, необходимых для вывода спецификаций, настройки отображения и расчета, что в свою очередь формирует громоздкую, насыщенную информацией модель [2]. Данный фактор порождает необходимость организации работы по структуризации и обработке полученной информации. К тому же, несмотря на обширный инструментарий пользователя, основное время специалиста любого профиля проектирования все-же занимают однотипные, многократно повторяющие процессы, которые не могут быть оптимизированы разработчиками ввиду более узкой направленности. Для автоматизации подобных задач на
1
программном уровне требуется привлечение высококвалифицированных программистов с детальной разработкой технического задания и четкой формулировкой ожидаемых результатов.
Одной из тенденций по решению вышеописанных проблем является применение системы Dynamo Studio, которая разрабатывается крупнейшим в мире поставщиком программного обеспечения для сферы строительства - Autodesk. Dynamo - среда визуального программирования с открытым программным кодом, специально адаптированная для проектировщиков. Главным назначением среды является создание новых функций программ, позволяющих анализировать большие массивы данных и оптимизировать рутинные процессы. На данный момент среда доступна в программных комплексах Civil 3D, Advance Steel, AutoCAD, однако наибольшее применение и распространение Dynamo получил именно в качестве дополнения к Autodesk Revit [3].
Запуск Dynamo осуществляется через одноименный инструмент панели инструментов Визуальное программирование вкладки Управление программного комплекса Revit (см. рис.1).
Рис. 1. Стартовый экран Dynamo.
Процесс визуального программирования среды Dynamo можно представить, как последовательный набор действий, выполняемых по заданному алгоритму [4]. Данный алгоритм выполняется с помощью предварительно разработанных текстовых фрагментов программного кода - нодов (с англ. node - «узел»), из которых собирается скрипт (программный код). Большинство базовых узлов являются операторами языка DesignScript, поэтому оформлены в виде прямоугольников с входными и выходными слотами (см. рис. 2).
Рис. 2. Общий вид узла DesignScript.
В интерфейсе Dynamo доступ к узлам, сгруппированным по категориям и подкатегориям, осуществляется через библиотеку. Поиск узлов осуществляется через строку поиска, выдающую близкие результаты по библиотеке в реальном времени. Все узлы имеют текстовое описание на русском языке, отражающее выполняемую функцию (см. рис. 3).
Рис. 3. Определение функции узла.
В то же время операторы можно записывать в текстовом кодовом поле универсального нода Code Block, который на основе введенной информации сформирует входной и выходной слоты. Огромный преимуществом Dynamo, открывающим колоссальные функциональные возможности, является возможность написания текстового кода на языке программирования IronRython (см. рис. 4). Узлы соединяются между собой с помощью связей, которые определяют последовательность действий, направленных на достижение определенного результата. Передача данных и порядок выполнения операций осуществляется слева направо (см. рис. 5).
Рис. 4. Узлы ввода текстового программного кода.
Таким образом node-программирование или визуальное программирование -современная альтернатива текстовым форматам программирования, доступная большому числу пользователей без специальных знаний.
Рис. 5. Сценарий изменения регистра текста.
Программа Проигрыватель Dynamo предназначена для сохранения любого набора узлов пользовательского алгоритма в качестве сценария. Сохраненные сценарии могут быть повторно запущены, сгруппированы, изменены или использованы как фрагмент или шаблон для создания последующих алгоритмов. Кроме собственно написанных, Проигрыватель Dynamo позволяет воспользоваться множеством сторонних сценариев, предлагаемых как самой компаний Autodesk, так и другими пользователями (см. рис.6).
Пользовательские алгоритмы, обращающиеся к информационной модели, можно использовать для широкого спектра задач:
- экспорта и импорта данных в приложения пакета Microsoft Office (Word, Excel и др.) для последующего формирования текстовых и табличных отчетов;
- формирования пространственных моделей по координатам плоских двухмерных объектов;
- комплексного назначение параметров элементам модели, видам и листам проектной документации;
- автоматизированного размещения компонентов модели по заданным правилам и с соблюдением наложенных зависимостей;
- параметрического построения сложной геометрии: наклонные, криволинейные поверхности;
- автоматизированной расстановки арматуры, включая криволинейные поверхности;
- выполнения теплотехнического, гидравлического, инсоляционного расчетов зданий и сооружений;
- подсчета квартирографии и ведомостей отделки;
- автоматизированной проверки моделей на наличие ошибок и коллизий.
Рис. 6. Стандартные сценарии Autodesk.
Представленные выше алгоритмы являются лишь частными случаями огромного количества возможностей, открывающихся перед пользователем Dynamo. Воплощение данных возможностей позволяет раскрыть весь современный потенциал информационного моделирования.
Программные продукты Autodesk в большинстве случаев сопровождаются множеством ресурсов, помогающих приступить к работе, и среда визуального программирования Dynamo не является исключением. Стартовый экран программы содержит необходимые ссылки на форум для обсуждения и веб-сайт продукта [5], при переходе по которым можно найти множество полезных советов по созданию сценариев, ознакомиться с важными понятиями и просмотреть демонстрации использования методов работы с исчерпывающими примерами.
Несмотря на то, что, ввиду своей относительной новизны, среда Dynamo пока еще слабо распространена в русскоязычной среде и большинство источников обучения не русифицировано, нельзя не отметить постоянный рост популярности данной программы. С каждым днем сообщество пользователей Dynamo растет, что стимулирует появление в Интернет-ресурсах объёмных и подробных обучающих видеокурсов, форумов и библиотек пользовательских узлов и сценариев.
СПИСОК ЛИТЕРАТУРЫ
1. Талапов В. В. Основы BIM: введение в информационное моделирование зданий. -М.: ДМК, 2011. - 394 с.
2. Ланцов А. Л. Autodesk Revit 2015. Компьютерное проектирование зданий. - М.: ДМК, 2014. - 664 с.
3. Поддорогина Е. А., Шумилов К. А., Мазинг А. А. Разработка строительных объектов в DYNAMO REVIT // BIM-моделирование в задачах строительства и архитектуры: материалы Всерос. науч.-практ. конф., 29-30 марта 2018 г. - СПб: СПбГАСУ, 2018. -С.177-182.
4. База знаний разработчика Autodesk [Электронный ресурс]. - Режим доступа: https://knowledge.autodesk.com/ru/support/revit-products/learn-explore/caas/CloudHelp/cloudhelp/2018/RUS/Revit-Customize/files/GUID-F45641B0-830B-4FF8-A75C-693846E3513B-htm.html (дата обращения 09.03.2020).
5. Официальный сайт поддержки продукта Dynamo Studio [Электронный ресурс]. -Режим доступа: https://www.dynamoprimer.com/index.html (дата обращения 09.03.2020).