Холст - это основная область интерфейса Grasshopper. Именно на нём мы располагаем ноды, протягиваем между ними связи и добавляем поясняющие комментарии. Также на холст можно добавить свой фирменный рисунок.
Установить нод на холст можно следующими способами:
Выделяем ноды, жмём на клавишу Delete, или с помощью меню Edit > Delete.
Правила выделения мышью нодов на Холсте Grasshopper'a аналогичны правилам выделения объектов в окне Rhino. Зажимаем левую кнопку мыши и, не отпуская, протягиваем рамку вокруг выделяемых объектов.
Выделить все ноды поможет клавиатурное сокращение Ctrl+A или Меню Edit > Select All.
Модифицировать выделение из меню Edit можно следующими способами:
Снимает выделение со всех нодов на Холсте. После этой командны ни одного нода не выделено.
Выделенные развыделятся, а невыделенные станут выделенными.
Добавить к выделению все ноды, присоединённые ко входам и выходам компонентов, выделенных в текущий момент.
Добавить к выделению все ноды, присоединённые лишь ко входам компонентов, выделенных в текущий момент.
Добавить к выделению все ноды, присоединённые лишь к выходам компонентов, выделенных в текущий момент.
Выделенные в данный момент ноды развыделятся, но те компоненты, что были присоединены к их входам выделятся. Выделение "сместится" влево.
Выделенные в данный момент ноды развыделятся, но те компоненты, что были присоединены к их выходам выделятся. Выделение "сместится" вправо.
На Холсте ноды и объекты могут перекрывать друг друга. Какой объект будет ближе к "поверхности" холста, а какой к "плоскости" экрана можно определить с помощью набора команд Arrange (Расположить).
Выделяем перемещаемый объект(ы) и выбираем в Меню Edit (Правка) нужную команду.
Помещает выделенные ноды позади остальных на Холсте.
Помещает выделенные ноды впереди остальных на Холсте.
Перемещает выделенные ноды на один уровень ниже относительно остальных на Холсте.
Перемещает выделенные ноды на один уровень выше относительно остальных на Холсте.
Объединяет ноды на Холсте в группу.
Команда доступна из Меню Edit > Group или из Кругового Меню Холста.
Группа - это всего лишь визуальное объединение и на обсчёт решения никакого влияния не оказывает.
Но группировка удобна для того, чтобы логически отделить один этап решения задачи от другого.
К группе можно добавить поясняющие надписи. Сделать это можно разными способами. Например, кликнуть в свободном месте поля группы правой кнопкой мыши и в самой верхней строке контекстного меню (пока пустой) набрать нужную подпись.
В группу может входить и всего лишь один нод. Так что этот способ годится и для того, чтобы видеть нод и с иконкой и с полным названием.
Название можно скопировать, кликнув по картинке нода правой кнопкой мыши, выделив его из верхней строки контекстного меню, а затем нажав Ctrl+C.
Поле группы можно сделать абсолютно прозрачным (см. далее) и тогда видно будет лишь подпись, без цветного поля.
Иной способ добавить подпись к группе - это включить в состав группы элемент Scribble (Надпись).
Пример организации дефинишина с помощью групп и надписей Scrribble.
Форма рамки вокруг нодов, объединённых в группу может быть не только прямоугольной.
Меню Edit содержит минимум команд по управлению группами: Group (Сгруппировать) и Ungroup (Разгруппировать). Остальные команды ищите в контекстном меню по щелчку правой кнопкой мыши в свободном поле группы.
Box outline (Рамка группы в виде Прямоугольника)
Blob outline (Рамка группы в виде Пузыря)
Rectagle outline (Рамка группы в виде Скруглённых Прямоугольников)
Разъединяет группы компонентов на Холсте на отдельные ноды, сохраняя нити связей между ними.
Если одна группа являлась вложенной по отношению к другой, то иерархия сохранится, несмотря на разбиение текущей группы. То есть ноды из подгруппы перейдут в группу более высокого порядка.
Дословный перевод слова Cluster - группа. Только это группа другого типа. На обсчёт дефинишина упаковывание в кластер тоже никакого влияния не оказывает. Все ноды, входящие в кластер упаковываются в отдельный Холст и по умолчанию не видны. А если зайти в этот субхолст, то скрываются внешние по отношению к содержимому кластера ноды. Когда Ваш дефинишн становится слишком громоздким, а отдельные его части кажутся вполне законченными, то удобно упаковать их в компактные кластеры.
Более того, кластер можно сохранить в виде отдельного особого файла и после использовать в других дефинишинах удобным способом как отдельное решение.
После упаковки кластер принимает форму нода: в него можно добавить входы и выходы, переназвать их,а также изменить иконку. И даже можете добавить свой новый "нод" в одну из палитр в качестве нового компонента, либо насобирать целую палитру своих "компонентов". Как это сделать смотрите выше (Создать Пользовательский Объект).
Чтобы упаковать ноды в новый кластер, нужно их предварительно выделить.
Чтобы войти в уже существующий кластер достаточно совершить на нём двойной клик мышью.
Или воспользоваться его контекстным меню, доступным по клику правой кнопкой мыши.
Всегда отображать иконку.
Всегда отображать имя.
Использовать настройки программы. При выборе этого состояния переключателя (включено по умолчанию) отображение данного кластера будет меняться со сменой отображения всех нодов через Меню Display > Draw Icons.
Откроет диалоговое окно Attributes (Атрибуты)
Открывает диалоговое окно Custer Properties, в котором можно задать кластеру имя (Name), прозвище (NickName), ввести описание (Description), задать иконку (Icon), а также ввести данные Автора. По умолчанию данные автора вставляются автоматически из Настроек Grasshopper (Author).
Позволяет задать Значок, в виде которого будет отображаться компонент на Палитре и Холсте.
Кластер с запутанностью.
Чтобы пояснить действие данной команды приведу цитату Дэвида Руттена"...Кластеры были переписаны с нуля (снова), хотя на этот раз видимых изменений стало меньше. Обратите внимание, что кластеры, созданные с помощью Grasshopper 0.8.0066 и более ранних версий, не являются теми же объектами, что и кластеры, созданные с 0.9+. Они могут сосуществовать, но все улучшения относятся только к кластерам с 0,9+.
Три основные функции, которые отсутствовали ранее: ссылки, запутывание и редактирование. Теперь возможно иметь кластер, который ссылается на файл на диске. Когда этот файл изменен, кластер может быть обновлен. Однако Cluster постоянно сохраняет копию эталонного файла, поэтому можно сохранить функциональность кластера, даже если файл изменился. Можно ссылаться на файлы *.gh / *.ghx, но здесь представлен новый формат файла кластера под названием * .ghcluster, в котором также хранится дополнительная информация о кластере, такая как сведения об авторе, пароли, и он частично шифруется при определении пароля.
Когда кластер копируется в один документ, два экземпляра кластера будут перепутаны. Всякий раз, когда вы меняете один из них, это также влияет на другой. Запутывание не работает через границы файлов, поэтому кластеры, которые были скопированы в разные файлы gh / ghx - даже если этот файл все еще загружен - не будут затронуты изменением. Логика кластерного запутывания заключается в следующем:
- У каждого кластера есть идентификатор. Этот идентификатор создается случайным образом всякий раз, когда новый кластер создается с нуля.
- Всякий раз, когда кластер сохраняется в файл, идентификатор также сохраняется в этом файле, поэтому идентификаторы сохраняются во время сохранения / открытия и копирования / вставки.
- Всякий раз, когда копируется кластер, копия наследует тот же идентификатор.
- Когда кластер изменен, он также изменит все запутанные кластеры в том же документе, которые имеют тот же идентификатор. Затем всем этим кластерам будет присвоен новый случайный идентификатор (но один и тот же для всех них). Таким образом, нет конфликта, когда неизмененный экземпляр кластера вставляется обратно в документ.
Кластеры теперь могут быть защищены паролем. Пароли не запрещают использование кластера, только его изменение или открытие. Защита настолько же надежна, насколько я могу сделать, учитывая обстоятельства не обфусцированного Grasshopper.dll и необходимость хранить хэши паролей в том же файле, что и объект кластера. Единственный способ, которым ваш пароль может быть взломан, - это атака по словарю. Однако информированному программисту легче украсть кластерный документ. Защитить от этого невозможно, потому что Grasshopper всегда должен иметь возможность дешифровать кластер при каждом открытии файла. Пароли всегда назначаются всем экземплярам конкретного кластера в одном и том же файле. Когда кластер «открыт», новый документ будет загружен на холст. Этот документ знает, что он пришел из кластера, и главное меню Grasshopper также отразит это. Объекты ловушки ввода кластера в этих файлах будут заполнены данными из исходного объекта кластера, чтобы по крайней мере обеспечить частичный предварительный просмотр внесенных изменений. При сохранении такого вспомогательного документа исходный кластер будет обновлен, а файл, содержащий исходный кластер, будет загружен обратно на холст. Когда документ кластера редактируется, на холсте будет значок кластера, который предоставляет некоторые полезные функции. Для редактирования кластера нет автосохранения, это невозможно реализовать, если я полностью не переписываю способ автосохранения и способ (де) сериализации кластеров. Поскольку теперь возможно, что два или более документа связаны друг с другом (т.е. документ, который содержит исходный объект кластера и документ, который используется для редактирования кластера), логика закрытия / сохранения намного сложнее, чем раньше было до 0.9. Когда вы закрываете документ, все вспомогательные документы также будут закрыты. Вам будет предложено подтвердить, если одна из этих дочерних компаний содержит несохраненные изменения. Если вы сохраните документ, все вспомогательные документы также будут сохранены.
Примечание:
- Кластеры пока не могут быть взорваны. Эта функция будет добавлена в ближайшее время.
- Кластеры не любят, чтобы текстовые панели были объектами ввода или вывода. Пока не знаю почему, но я по делу...."
Дэвид Руттен
Variable Parameter ZUI, говорящее о том, что компонент использует новый элемент Масштабируемого Интерфейса Пользователя (ZUI) и что для того, чтобы воспользоваться этим ZUI, нужно приблизить компонент (увеличить масштаб окна Grasshopper).
Кликаем правой кнопкой мыши по центральной части нода в области его текущего названия и в верхнем поле контекстого меню меняем надпись.
Аналогично названию нода меняется название входа/выхода, только кликать правой кнопкой нужно в обасти изменяемого названия.
Слайдеры по умолчанию (до подключения куда-либо) имеют надпись Slider, после подключения ко входу нода подхватывают название этого нода.
Сменить имя слайдеру можно в верхнем поле названия по клику правой кнопкой мыши, либо в редакторе слайдера. Чтобы войти в Редактор Слайдера нужно в его контекстном меню выбрать Edit, а затем в поле Name изменить имя.
Если в поле Name редактора, либо в верхей строке контекстного меню ничего не окажется, слайдер подхватит название входа, к которому будет подключен.
Компонент Panel (Текстовая Панель) также легко переименовывается через первую строку контекстного меню.
Если удалить название у Панели, то она будет выглядеть как поле заданного цвета лишь со входом и выходом (без заголовка).
Элемент Scribble (Надпись).
Пример организации дефинишина с помощью групп и надписей Scrribble.
Набросок с помощью Скетча
Create Skethc Object (Создать Объект-Скетч).
Задействует инструмент в виде карандаша, позволяющий нарисовать на холсте линию "от руки". Можете нарисовать любое количество линий, но пока Вы не нажали кнопку подтверждения (d), ваша линия не становится отдельным объектом на холсте, а все нарисованные до нажатия кнопки линии будут воспринимать следующие настройки в открывшейся дополнительной Панели Набросков:
После создания Скетч-Объекта на Холсте, его можно выделить, кликнув по нему левой кнопкой мыши.
Скетч-Объект можно перемещать по Холсту, а также смещать по глубине холста относительно других объектов с помощью Меню Edit > Arrange, предварительно выделив их.
Скетч-Объекты можно передать в среду Rhino в качестве кривых, отредактивать их там, а потом поместить уже обратно на Холст в Grasshopper.
Для этого кликните по Скетч-Объекту правой кнопкой мыши и воспользуйтесь его контекстным меню:
Можно передать в Rhino одну линию, а после правки вернуть в Grasshopper множество или даже целый логотип вашей компании, выполненный в кривых. Если такой дефининш сохранить, как стартовый документ, то это позволит Вам массово создавать фирменные документы Grasshopper.
Последовательность переноса рисунка:
В основном, предназначена для управления отображением Холста в Grasshopper и объектов во вьюпортах Rhino.
Выпадающий список, позволяющий вернуться к сохранённому ранее именованному виду.
При сохранении документа, данные о сохранённых видах сохраняются.
Задействует инструмент в виде карандаша, позволяющий нарисовать на холсте линию "от руки". Можете нарисовать любое количество линий, но пока Вы не нажали кнопку подтверждения (d), ваша линия не становится отдельным объектом на холсте, а все нарисованные до нажатия кнопки линии будут воспринимать следующие настройки в открывшейся дополнительной Панели Набросков:
После создания Скетч-Объекта на Холсте, его можно выделить, кликнув по нему левой кнопкой мыши.
Скетч-Объект можно перемещать по Холсту, а также смещать по глубине холста относительно других объектов с помощью Меню Edit > Arrange, предварительно выделив их.
Скетч-Объекты можно передать в среду Rhino в качестве кривых, отредактивать их там, а потом поместить уже обратно на Холст в Grasshopper.
Для этого кликните по Скетч-Объекту правой кнопкой мыши и воспользуйтесь его контекстным меню:
Можно передать в Rhino одну линию, а после правки вернуть в Grasshopper множество или даже целый логотип вашей компании, выполненный в кривых. Если такой дефининш сохранить, как стартовый документ, то это позволит Вам массово создавать фирменные документы Grasshopper.
Only Selected (Только Выделенные). Включает режим отображения в окне Rhino только тех объектов, ноды которых выделены в на Холсте Grasshopper'a.
Кнопка Document Preview Settings (Настройки Предпросмотра Документа). Открывает диалоговое окно Document Preview Settings, в котором можно настроить как именно будут отображаться в окне Rhino объекты, генерируемые текущим документом Grasshopper'a.
Окно настройки делится на несколько участков: область предпросмотра, область настройки цвета и область коллекции.
Поместить настройку цвета в коллекцию можно только перетащив его эскиз на иконку зелёного крестика (+), а удалить, перетащив эскиз из коллекции на красный крестик (х).
Чтобы выбрать цель изменения цвета - кликните по превью Normal или Selected. Текущий настраиваемый цвет выделен синей рамкой.
Чтобы воспользоваться цветом из коллекции - перетащите его эскиз на нужное поле: Normal или Selected.
Имейте ввиду, что стандатные красный и зелёный полупрозрачные цвета после первой же их перенастройки будут утеряны. Для предотвращения этого, либо предварительно добавьте их в коллекцию, либо воспользуйтесь следующими данными, как образцом, для создания такого же:
В основном, в Rhino создаются объекты, форму которых описывают математические формулы. Чаще всего эти формы абсолютно гладкие, так как можно легко получить параметры точек её поверхности в бесконечном количестве точек пространства. Но ресурсы компьютера не бесконечны и поэтому приходится просчитывать не бесконечное количество точек, а лишь достаточное для адекватного отображения.
Disable Meshing (Сетка Предпросмотра Отключена). Создание полигональной сетки предварительного просмотра отключено. Самый лёгкий для просчёта и быстрый режим.
Low Quality (Низкое Качество). Для предварительного просмотра будет использоваться низкополигональная сетка. Этот режим установлен по умолчанию.
High Quality (Высокое Качество). Для предварительного просмотра будет использоваться высокополигональная сетка. В этом режиме сферы и другие округло-выпуклые объекты выглядят очень гладкими.
Document Quality (Качество Документа). Для создания сетки предварительного просмотра будут использованы настройки не Grasshopper'a, а Rhino.
Custom Quality (Пользовательское Качество). Будут использоваться Пользовательские Настройки Качества полигональной сетки предварительного просмотра.
Не забывайте, что это не реальная полигональная сетка, а лишь служебная, которая используется для внутренних нужд программы и извлечь её из среды Grasshopper'a и запечь в Rhino невозможно, хотя Rhino такую возможность для своих preview meshes допускает.
Под колёсиком мыши прячется ещё одна кнопка. И, если нажать на колёсико мыши, то всплывает Круговое Меню Холста
Cluster (Кластер). Упаковывает выделенные ноды и объекты холста в кластер.
Group (Группа). Упаковывает выделенные ноды и объекты холста в группу.
Disable Preview (Выключить Превью). Отключает отображение в окне Rhino той геометрии, которая генерируется выделенными нодами Grasshopper.
Enable Preview (Включить Превью). Запускает отображение в окне Rhino той геометрии, которая генерируется выделенными нодами Grasshopper (при условии, что этим нодам отображение превью ранее было отключено).
Disable Selected (Работу Выделенных Отключить). Отключает просчёт выделенных компонентов.
Enable Selected On (Работу Выделенных Включить). Снова запускает обсчёт (ранее отключенных) выделенных на Холсте компонентов Grasshopper'a.
Bake Selected (Запечь Выделенные)
Bake Selected позволяет передать объекты из среды Grasshopper в среду Rhino.
Предварительно нужно выделить ноды, генерирующие объекты, которые нужно передать для правки в Rhino.
При запуске команды Bake Selected откроется диалоговое окно Attributes (Атрибуты), позволяющие изменить и добавить создаваемым объектам атрибуты, задаваемые по умолчанию.
Масштабирует объекты, генерируемые выделенными нодами Grasshopper'a в активном окне Rhino таким образом, чтобы они умещались полностью.
Disable/Enable Solver (Отключить/Включить Решатель)
Отключает или включает обсчёт дефинишина. Если до этого все изменения в дефинишине в режиме реального времени отображались в окне Rhino, то после задействования команды Disable Solver Решатель полностью отключается. Никаких расчётов не производится. По периметру холста отображается красная рамка и иконка замкнутого замка. Окно Rhino может ещё отображать результаты предыдущих расчётов, но только до момента, пока не понадобится обновить изображение.
При отключенном Сольвере Вы можете спокойно редактировать слайдеры, переустанавливать нити связей, убавлять и добавлять компоненты на Холст. Никаких задержек происходить не будет, так как данные между нодами не передаются и расчёт решения не производится.
Если ваш дефинишн потребляет много ресурсов компьютера и результаты каждой минимальной правки нужно ожидать минуты и даже дольше, то команда Disable Solver является просто спасением и экономит много рабочего времени.
Когда необходимые изменения в дефинишине произведены, повторный запуск Сольвера командой Disable Solver вновь запустит обсчёт решения в реальном времени.
Оборвать расчёт затянувшегося решения можно также и другим способом: дважды быстро нажмите на клавишу Esc на клавиатуре (обычно она самая левая верхняя). Расчёт решения оборвётся и в центре Холста отобраится предупреждающий знак.
Если навести курсор на восклицательный знак иконки, то появится разъясняющее сообщение о том, что Решение прервано. Предупреждение исчезнет, как только пересчёт Решения будет завершён.
Правда, если компьютер не в состоянии откликнуться на такую команду, либо завис окончательно, то, возможно, придётся воспользоваться крайним способом:
Windows предупреждал Вас не зря: все несохранённые данные открытых дефинишинов будут потеряны.
Тем не менее, есть надежда, что что-то смогло сохранить Автосохранение. Однако, чтобы оно сработало, файл необходимо хотя бы раз сохранить на диск. Если Вы творили с чистого листа и даже ни разу не сохранились - срочно отучайтесь от этой опасной привыки! Если ваш дефинишн не был сохранён ни разу, придётся всё делать заново, так как в таком случае Автосохранение не сработает.
Recompute (Пересчитать)
Даёт команду принудительно произвести полный пересчёт всех объектов.
Find (Найти)
Открывает диалоговое окно, позволяющее легко найти на Холсте нужный нод по части его названия.
Когда Вы начинаете вводить хотя бы часть слова, имеющегося в названии нужного нода, то ноды, соответствующие этим данным начинают подсвечиваться на холсте, а в списке подходящих диалогового окна появляются стрелки, указывающие на направление к ним. Если кликнуть по соответствующей стрелке, то Холст сдвинется ближе к этому ноду.
Navigate (Навигация)
Открывает всплывающее окно с картой Холста, в которой выделена область, отображающая часть Холста, видимую в данный момент в окне Grasshopper'a.
Всплывающее окно имеет управляющие элементы:
Preferences (Настройки)
Открывает диалоговое окно Preferences (Настройки).
По клику правой кнопкой мыши на свободном месте Холста выпадает контекстное меню Холста.
Это меню полностью повторяет Круговое Меню Холста, описанное выше, но в другой раскладке.
Если на холсте уже есть нужный Вам компонент, но Вы не знаете, на какой палитре и в каком месте он находится, наводите на него курсор мыши, зажимайте клавиши Ctrl и Alt и удерживайте нажатой левую кнопку мыши. Нужная Вам Палитра откроется и стрелочка укажет на Палитру, а кружочек место компонента на ней. Так же действует зажатие левой кнопки мыши и правой клавиши Alt на клавиатуре.