Новые средства автоматизации выводят планирование на новый уровень развития.
На данный момент у нас есть 4 варианта для автоматизации работы в Autodesk Revit:
На графике я собрал свои мысли на эту тему:
Эта диаграмма может помочь вам объяснить менеджерам, в каких случаях и что необходимо применять при автоматизации планирования учитывая параметры скорость_работы/размер_задачи/наличие_визуализации.
Например: если вы делаете какой-то скрипт используя только визуальные узлы в «Динамо» в первое время, скорость вашего скрипта будет высока. Но в случае расширения параметров задачи и увеличения условий: скорость работы вашего скрипта может резко упасть.
Заменив Dynamo на Python (вы также можете использовать IronPython в Dynamo), работа скрипта будет выглядеть более стабильно. Вы начинаете медленно программировать скрипт, но в данном случае — рост сценария уже не вызывает проблем ни в скорости, ни в процессе разработки (хотя иногда сценарий становится настолько большим, что вы уже не можете работать с кодом используя стандартный встроенный редактор IronPython).
При выборе инструмента вам нужно смотреть на «Перспективу» идеи.
Если ваш скрипт это что-то быстрое и небольшое, то визуальное программирование — 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!
Буду благодарен за ваши комментарии и новые контакты.
#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.
Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?
На данный момент у нас есть 4 варианта для автоматизации работы в Autodesk Revit:
- Dynamo (графическое программирование с открытым исходным кодом)
- Rhino.Inside (бета-версия, с Кузнечиком это как Динамо)
- PythonShell или pyRevit (Python с Revit API)
- C # (C # с Revit API)
На графике я собрал свои мысли на эту тему:
Эта диаграмма может помочь вам объяснить менеджерам, в каких случаях и что необходимо применять при автоматизации планирования учитывая параметры скорость_работы/размер_задачи/наличие_визуализации.
Каждое решение имеет свои инструменты
Например: если вы делаете какой-то скрипт используя только визуальные узлы в «Динамо» в первое время, скорость вашего скрипта будет высока. Но в случае расширения параметров задачи и увеличения условий: скорость работы вашего скрипта может резко упасть.
Заменив Dynamo на Python (вы также можете использовать IronPython в Dynamo), работа скрипта будет выглядеть более стабильно. Вы начинаете медленно программировать скрипт, но в данном случае — рост сценария уже не вызывает проблем ни в скорости, ни в процессе разработки (хотя иногда сценарий становится настолько большим, что вы уже не можете работать с кодом используя стандартный встроенный редактор IronPython).
Для каждого решения есть свой инструменты
При выборе инструмента вам нужно смотреть на «Перспективу» идеи.
Если ваш скрипт это что-то быстрое и небольшое, то визуальное программирование — 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!
Буду благодарен за ваши комментарии и новые контакты.
Краткий обзор инструментов
#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.