habrahabr

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

  • среда, 3 июня 2020 г. в 00:31:09
https://habr.com/ru/post/504926/
  • Open source
  • Python
  • Программирование


Новые средства автоматизации выводят планирование на новый уровень развития.

Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?


На данный момент у нас есть 4 варианта автоматизации Revit:



  • Dynamo (графическое программирование с открытым исходным кодом)
  • Rhino.Inside (бета-версия, с Кузнечиком это как Динамо)
  • PythonShell или pyRevit (Python с Revit API)
  • C # (C # с Revit API)


На графике я собрал свои мысли на эту тему:



Эта диаграмма может помочь вам объяснить менеджерам, в каких случаях, что нужно применять и какова ценность каждого из инструментов.

Каждое решение имеет свои инструменты
Например: если вы делаете какой-то скрипт «с чистыми узлами» в «Динамо» в первые минуты, скорость очень высока. Но в случае расширения задачи и увеличения условий: скорость может резко упасть.

В Python (вы также можете использовать Python в Dynamo), в этом отношении все более стабильно. Вы начинаете медленно, но рост сценария не вызывает проблем ни в скорости, ни в процессе разработки (хотя иногда сценарий становится настолько большим, что вы не можете работать с ним без обычного редактора).

Для каждого решения есть свой инструменты.




И при выборе инструмента вам нужно взглянуть на «Перспективы» идеи. Если это что-то быстрое маленькое, то визуальное программирование — Dynamo или Grasshopper. Для задач среднего размера Python больше подходит. Если у вас большое задание с большим количеством данных, лучше использовать C # (то же самое можно сделать в Dynamo, но скорость будет в 10 раз медленнее).

Дизайнеры против программистов.
Программисты, работающие в отделах BIM, не любят такие инструменты, как Dynamo или Grasshopper, потому что для программистов сценарии в Dynamo выглядят как «код спагетти». Такие разработчики пишут «относительно чистые» (на самом деле аналогичные по качеству в Dynamo) инструменты для Revit — на C # (или RevitPythonShell).

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



В результате сложной работы по переносу логики дизайнера в код программиста в процессе планирования создается новая ссылка, которая в будущем, на мой взгляд, может быть заменена такими инструментами, как #Dynamo или #Grasshopper.



Для людей, которые десятилетиями занимались дизайном, такие инструменты, как Dynamo и Rhino. InSide — это глоток свежего воздуха в монотонной работе.

Благослови Бог сообщество открытого исходного кода и разработчиков таких инструментов, как Dynamo и Grasshoper, PythonShell, pyRevit, Rhino.Inside, ...!



Мой сайт: Большие данные и машинное обучение в строительстве и на производстве.

bigdataconstruction.com


Буду благодарен за ваши комментарии и новые контакты.

Краткий обзор инструментов:


#Dynamo — это инструмент визуального программирования, который работает с Revit. Dynamo расширяет возможности Revit, предоставляя доступ к Revit API (интерфейсу прикладного программирования) более доступным способом. Вместо того, чтобы вводить код, в Dynamo вы создаете программы, манипулируя графическими элементами, которые называются «узлами». Этот подход к программированию лучше подходит для визуально ориентированных типов, таких как архитекторы, дизайнеры и инженеры.



# Rhino.Inside — это проект Rhino WIP с открытым исходным кодом, который позволяет Rhino и Grasshopper запускаться в других 64-битных приложениях Windows, таких как Revit, AutoCAD и т. Д. С Rhino Inside Revit вы также получаете все функциональные возможности Rhino, включая Grasshopper for Revit. Grasshopper — это визуальный язык программирования, схожий по своей концепции с Dynamo (хотя есть и принципиальные отличия).



C # — Autodesk #Revit предоставляет богатый API, который можно использовать для настройки существующих функций продукта или добавления совершенно новых. Вы можете автоматизировать повторяющиеся, отнимающие много времени задачи и расширять основные функции, не выходя из среды Autodesk Revit. #API можно использовать для создания пользовательских инструментов и функций, которые подключаются непосредственно к Autodesk Revit, расширяя его функциональные возможности.



#RevitPythonShell — предоставляет возможность написания сценариев программному обеспечению Autodesk Revit и Project Vasari. Дизайнеры имеют возможность интерактивно проектировать и манипулировать элементами Revit, используя алгоритм и вычислительную логику с кодом Python.



Мой новый курс: Большие данные и машинное обучение в строительстве.
Прокачивай свои навыки на bigdataconstruction.com