Редактирование
Last updated
Last updated
Одной из мощнейших возможностей Dynamo является редактирование параметров на параметрическом уровне. Например, для управления параметрами массива элементов можно использовать генеративный алгоритм или результаты моделирования. Таким образом, в проекте Revit набору экземпляров из одного семейства можно присвоить пользовательские свойства.
Параметры экземпляра определяют апертуру панелей на поверхности крыши в диапазоне значений коэффициента апертуры от 0,1 до 0,4.
Параметры на основе типа применяются к каждому элементу на поверхности, так как они относятся к одному и тому же типоразмеру в семействе. Например, материал каждой панели может определяться параметром на основе типа.
Если вы уже настраивали семейства Revit, помните, что необходимо назначить тип параметра (строка, номер, размер и т. д.). При назначении параметров в Dynamo убедитесь, что выбран правильный тип данных.
Dynamo можно также использовать в сочетании с параметрическими зависимостями, определенными в свойствах семейства Revit.
Напоминаем, что в Revit существуют параметры типа и параметры экземпляра. Их все можно редактировать в Dynamo, но в данном упражнении рассматриваются параметры экземпляра.
По мере изучения новых возможностей, которые обеспечивают параметры редактирования, будет увеличиваться и количество элементов Revit, которые можно изменить с помощью Dynamo. Это может потребовать дополнительных вычислительных ресурсов , что, естественно, повлияет на скорость работы. При редактировании большого количества элементов можно воспользоваться узлом заморозки, чтобы приостановить выполнение операций Revit во время создания графика. Дополнительные сведения о замораживании узлов см. в разделе Замораживание главы «Тела».
Начиная с версии 0.8, в Dynamo практически не используются единицы измерения. Это позволяет модулю оставаться абстрактной средой визуального программирования. Узлы Dynamo, которые взаимодействуют с размерами Revit, будут ссылаться на единицы измерения проекта Revit. Например, если в Revit с помощью Dynamo задается параметр длины, число, указанное в качестве значения в Dynamo, будет соответствовать единицам измерения по умолчанию в проекте Revit. В приведенном ниже упражнении используются метры.
Для быстрого преобразования единиц измерения используйте узел Convert Between Units. Это удобный инструмент для динамического преобразования единиц измерения длины, площади и объема.
Скачайте файл примера, щелкнув указанную ниже ссылку.
Полный список файлов примеров можно найти в приложении.
В упражнении ниже используются метры.
В этом упражнении основное внимание уделяется редактированию элементов Revit без выполнения геометрических операций в Dynamo. В данном случае геометрия Dynamo не импортируется, а просто редактируются параметры в проекте Revit. Это упражнение базового уровня. Опытным пользователям Revit следует обратить внимание на то, что хотя речь идет о параметрах экземпляров формообразующего элемента, тот же принцип можно применить и к целому массиву элементов. Все действия выполняются с помощью узла Element.SetParameterByName.
Начнем с файла Revit, используемого в этом разделе в качестве примера. Несущие элементы и адаптивные фермы из предыдущего раздела были удалены. В этом упражнении мы рассмотрим параметрическую оснастку в Revit и манипуляции в Dynamo.
При выборе здания в разделе «Формообразующий элемент» в Revit на панели «Свойства» отображается массив параметров экземпляра.
В Dynamo можно извлечь параметры, выбрав целевой элемент.
Выберите формообразующий элемент здания с помощью узла Select Model Element.
Можно запросить все параметры этого формообразующего элемента с помощью узла Element.Parameters. Сюда входят параметры типа и экземпляра.
См. узел Element. Parameters, чтобы найти целевые параметры. Кроме того, можно выбрать имена параметров для редактирования, изучив панель свойств из предыдущего шага. В данном случае необходимы параметры, которые влияют на большие геометрические перемещения формообразующего элемента здания.
Измените элемент Revit, используя узел Element.SetParameterByName.
Используйте узел Code Block, чтобы определить список параметров, заключив каждый элемент в кавычки для обозначения строки. Кроме того, можно использовать узел List.Create с последовательностью узлов string, подключенных к нескольким входным параметрам, однако применение узла Code Block ускоряет и упрощает эту операцию. Убедитесь, что строка соответствует точному имени в Revit с учетом регистра:
{"BldgWidth","BldgLength","BldgHeight", "AtriumOffset", "InsideOffset","LiftUp"};
.
Кроме того, необходимо указать значения для каждого параметра. Добавьте шесть узлов Integer Slider в рабочую область и переименуйте их в соответствии с параметром в списке. Для каждого регулятора установите значение, показанное на изображении выше (сверху вниз — 62, 92, 25, 22, 8, 12).
Создайте еще один узел Code Block, содержащий список той же длины, что и имена параметров. В этом случае мы присваиваем имена переменным (без кавычек), которые создают входные данные для узла Code Block. Соедините регуляторы с соответствующими входными параметрами:
{bw,bl,bh,ao,io,lu};
.Соедините узел Code Block с входным значением Element.SetParameterByName*. Если установлен флажок «Автоматическое выполнение процесса», результаты отобразятся автоматически.
* В этом примере рассматриваются параметры экземпляра, а не параметры типа.
Как и в Revit, многие параметры зависят друг от друга. Существует множество комбинаций, когда геометрия может нарушаться. Эту проблему можно решить с помощью формул, заданных в свойствах параметров. Кроме того, аналогичный алгоритм можно воспроизвести с помощью математических операций в Dynamo (данную задачу можно выполнить в дополнение к этому упражнению).
С помощью следующей комбинации можно придать оригинальный дизайн формообразующему элементу здания: 100, 92, 100, 25, 13, 51.
Теперь посмотрим, как можно отредактировать фасад, используя аналогичный процесс.
Скопируйте график и рассмотрите остекление фасада, где будет находиться ферма. В данном случае нужно изолировать четыре параметра:
{"DblSkin_SouthOffset","DblSkin_MidOffset","DblSkin_NorthOffset","Facade Bend Location"};
.Кроме того, нужно создать числовые регуляторы и присвоить им имена соответствующих параметров. Первые три регулятора (сверху вниз) необходимо перенастроить на область [0,10], а последний (Facade Bend Location) — на область [0,1]. Эти значения в нисходящем порядке должны начинаться со следующих чисел (хотя сами они произвольные): 2,68; 2,64; 2,29; 0,5.
Задайте новый узел Code Block и присоедините регуляторы:
{so,mo,no,fbl};
.
Изменяя положение регуляторов в этой части графика, можно сделать остекление фасада значительно более прочным: 9,98; 10,0; 9,71; 0,31.