Dynamo
Primer for v2.0
Русский
Русский
  • О программе
  • Введение
    • Что представляет собой программа Dynamo и как она работает?
    • Руководство пользователя Dynamo Primer, сообщество и платформа Dynamo
  • Настройка Dynamo
  • Пользовательский интерфейс
    • Рабочее пространство
    • Библиотека
  • Узлы и провода
  • Основные узлы и понятия
    • Указатель узлов
    • Геометрия для машинного проектирования
      • Обзор концепции геометрии
      • Вектор, плоскость и система координат
      • Точки
      • Кривые
      • Поверхности
      • Тела
      • Сети
    • Компоновочные блоки программ
      • Передача данных
      • Math
      • Logic
      • Строки
      • Цвет
    • Проектирование на основе списков
      • Что такое список
      • Работа со списками
      • Списки списков
      • Многомерные списки
    • Словари в Dynamo
      • Что такое словарь
      • Узлы Dictionary
      • Словари в узлах Code Block
      • Примеры использования Revit
  • Пользовательские узлы и пакеты
    • Пользовательские узлы
      • Пользовательские узлы: введение
      • Создание пользовательских узлов
      • Публикация узлов в библиотеку
    • Пакеты
      • Пакеты: введение
      • Практикум по работе с пакетом: Mesh Toolkit
      • Разработка пакетов
      • Публикация пакетов
      • Импорт Zero Touch
  • Dynamo для Revit
    • Подключение к Revit
    • Выбор
    • Редактирование
    • Создание
    • Адаптация
    • Выпуск документации
  • Dynamo for Civil 3D
    • Совместимость с Civil 3D
    • Начало работы
    • Библиотека узлов
    • Примеры рабочих процессов
      • Дороги
        • Размещение осветительных столбов
      • Землеустройство
        • Размещение коммуникаций
      • Инженерные сети
        • Переименование колодцев
      • Железная дорога
        • Границы зазора
      • Топосъемка
        • Управление группами точек
    • Дополнительные разделы
      • Привязка объекта
      • Python и Civil 3D
    • Проигрыватель Dynamo
    • Полезные пакеты
    • Ресурсы
  • Бета-версия Dynamo в Forma
    • Настройка Dynamo Player в Forma
    • Добавление графов и предоставление к ним общего доступа в Dynamo Player
    • Запуск графов в Dynamo Player
    • Отличия вычислительной службы Dynamo от классического приложения Dynamo
  • Создание кода в Dynamo
    • Узлы Code Block и DesignScript
      • Что такое Code Block
      • Синтаксис DesignScript
      • Сокращение
      • Функции
    • Создание геометрии с помощью DesignScript
      • Основы работы с геометрией посредством DesignScript
      • Геометрические примитивы
      • Векторная математика
      • Кривые: интерполяционные и по управляющим точкам
      • Перенос, поворот и другие преобразования
      • Поверхности: интерполяционные, лофтированные, по управляющим точкам и поверхности вращения
      • Параметризация геометрических объектов
      • Пересечение и обрезка
      • Логические операции с геометрическими объектами
      • Генераторы точек Python
    • Python
      • Узлы Python
      • Python и Revit
      • Настройка собственного шаблона Python
    • Изменения языка
  • Практические советы
    • Методы создания графиков
    • Методы создания сценариев
    • Справочник по созданию сценариев
    • Управление структурой программы
    • Эффективная работа с большими наборами данных в Dynamo
  • Примеры рабочих процессов
    • Процессы для начала работы
      • Параметрическая ваза
      • Точки притяжения
    • Индекс понятий
  • Руководство для разработчиков
    • Сборка Dynamo на основе исходного кода
      • Сборка DynamoRevit на основе исходного кода
      • Управление зависимостями и их обновление в Dynamo
    • Разработка для Dynamo
      • Начало работы
      • Пример использования узлов Zero-Touch — узел сетки
      • Выполнение сценариев Python в узлах Zero-Touch (C#)
      • Дальнейшая работа с Zero-Touch
      • Расширенная настройка узлов Dynamo
      • Использование типов COM (взаимодействие) в пакетах Dynamo
      • Пример использования NodeModel — настраиваемый пользовательский интерфейс
      • Обновление пакетов и библиотек Dynamo для Dynamo 2.x
      • Обновление пакетов и библиотек Dynamo для Dynamo 3.x
      • Расширения
      • Определение пользовательской организации пакетов для Dynamo 2.0 или более поздней версии
      • Интерфейс командной строки Dynamo
      • Интеграция с Dynamo
      • Разработка для Dynamo for Revit
      • Публикация пакета
      • Создание пакета из Visual Studio
      • Расширения в виде пакетов
    • Запросы на слияние
    • Ожидания от тестирования
    • Примеры
  • Приложение
    • Вопросы и ответы
    • Визуальное программирование и Dynamo
    • Ресурсы
    • Примечания к выпуску
    • Полезные пакеты
    • Файлы примеров
    • Таблица интеграции с основной программой
    • PDF для скачивания
    • Сочетания клавиш Dynamo
Powered by GitBook
On this page
Edit on GitHub
Export as PDF
  1. Приложение

Визуальное программирование и Dynamo

PreviousВопросы и ответыNextРесурсы

Last updated 2 years ago

Что такое визуальное программирование

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

Алгоритмы в действии

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

Бумажный журавлик

Итак, что же такое алгоритм? Это абстрактный набор шагов, которые можно представить либо в текстовой, либо в графической форме.

Текстовые инструкции

  1. Возьмем квадратный лист бумаги и повернем его цветной стороной вверх. Сложим лист пополам, развернем, затем сложим его пополам в другом направлении и снова развернем.

  2. Перевернем лист белой стороной вверх, сложим пополам, тщательно разгладим, развернем, затем сложим в другом направлении и опять развернем.

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

  4. Сложим боковые углы верхнего квадрата к центру, затем развернем их обратно.

  5. Сложим верхний угол модели книзу, тщательно разгладим и также развернем обратно.

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

  7. Перевернем конструкцию и повторим шаги 4–6 с другой стороны.

  8. Сложим боковые углы верхней части конструкции к центру.

  9. Перевернем конструкцию и повторим это действие с другой стороны.

  10. Согнем обе «ножки» конструкции в направлении вверх и развернем их обратно.

  11. Следуя только что созданным сгибам, согнем обе «ножки» внутрь и вверх.

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

  13. Получился журавлик.

Графические инструкции

Определение процесса программирования

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

Первое правило и первая трудность программирования заключается в том, что для эффективного взаимодействия с компьютером человеку приходится прибегать к той или иной форме абстракции. Абстракция достигается за счет использования языков программирования, таких как JavaScript, Python или C. Если у нас есть повторяемый набор инструкций, например для создания бумажного журавлика, то от нас требуется лишь перевести его на язык компьютера. В результате мы сможем создать с помощью компьютера нужного нам журавлика или целое множество журавликов, различающихся между собой по тем или иным параметрам. Таким образом, компьютер позволяет многократно выполнять отдельную задачу или набор задач без задержек и ошибок, возникающих в связи с человеческим фактором. В этом и заключается сила программирования.

Определение процесса визуального программирования

Скачайте файл примера, щелкнув указанную ниже ссылку.

Полный список файлов примеров можно найти в приложении.

Если бы вам было нужно написать инструкцию по созданию бумажного журавлика, что бы вы использовали: графику, текст или их сочетание?

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

Визуальная программа

Текстовая программа

myPoint = Point.ByCoordinates(0.0,0.0,0.0);
x = 5.6;
y = 11.5;
attractorPoint = Point.ByCoordinates(x,y,0.0);
dist = myPoint.DistanceTo(attractorPoint);
myCircle = Circle.ByCenterPointRadius(myPoint,dist);

Результаты алгоритма

Визуальная наглядность этого способа программирования делает его более простым и понятным для программистов. Приложение Dynamo относится к средствам визуального программирования, но, как будет показано далее, оно также поддерживает возможности текстового программирования.

Инструкции по созданию бумажного журавлика
12KB
Visual Programming - Circle Through Point.dyn