Параметры выпуска документации редактируются по тому же принципу, что и в предыдущих разделах. В этом разделе мы рассмотрим редактирование параметров, которые не влияют на геометрические свойства элементов, но необходимы для подготовки файла Revit к выпуску документации.
В упражнении ниже, чтобы создать лист Revit для документации, будет использоваться стандартный узел Deviation from Plane (отклонение от плоскости). Каждая панель в конструкции крыши, определенной параметрически, имеет собственное значение отклонения. Необходимо указать диапазон значений, используя цвет и составив спецификацию адаптивных точек, для передачи консультанту, инженеру или подрядчику, работающему с фасадом.
Узел Deviation from Plane вычисляет расстояние, на которое набор из четырех точек отклоняется относительно оптимально вписанной между ними плоскости. Это простой и быстрый способ проверки технологичности конструкции.
Скачайте файл примера, щелкнув указанную ниже ссылку.
Полный список файлов примеров можно найти в приложении.
Начнем с открытия файла Revit для данного раздела (также можно продолжить работу с файлом из предыдущего раздела). В этом файле представлен массив панелей ETFE на крыше. Эти панели будут использоваться в данном упражнении.
Добавьте узел Family Types в рабочую область и выберите ROOF-PANEL-4PT.
Соедините этот узел с портом ввода узла All Elements of Family Type, чтобы перенести все элементы из Revit в Dynamo.
Запросите местоположение адаптивных точек каждого элемента с помощью узла AdaptiveComponent.Locations.
Создайте полигон по этим четырем точкам с помощью узла Polygon.ByPoints. Обратите внимание, что в Dynamo используется абстрактная версия системы панелей (без необходимости импорта всей геометрии элемента Revit).
Вычислите отклонение от плоскости с помощью узла Polygon.PlaneDeviation.
Просто в качестве дополнения, как и в предыдущем упражнении, укажите коэффициент апертуры каждой панели на основе отклонения от плоскости.
Добавьте узел Element.SetParameterByName в активное окно и соедините адаптивные компоненты с портом ввода element. Соедините узел Code Block, содержащий строку Aperture Ratio, с портом ввода parameterName.
Напрямую соединить результаты отклонения с портом ввода value невозможно, так как необходимо перенастроить значения на другой диапазон параметров.
С помощью узла Math.RemapRange перенастройте значения отклонения на область между 0,15 и 0,45 путем ввода
0.15; 0.45;
в узле Code Block.Соедините эти результаты с портом ввода value узла Element.SetParameterByName.
Вернувшись в Revit, можно примерно оценить изменение в апертуре на поверхности.
При увеличении масштаба становится понятно, что вес замкнутых панелей направлен к углам поверхности. Незамкнутые углы направлены вверх. Углы представляют собой участки более значительных отклонений, в то время как выпуклость имеет минимальную кривизну, так что все логично.
Указание коэффициента апертуры не дает четкой картины отклонения панелей на крыше. Кроме того, изменяется геометрия самого элемента. Предположим, нужно просто изучить отклонение с точки зрения технической осуществимости изготовления. Для этого в документации можно окрасить панели в различные цвета в зависимости от диапазона отклонений. Это можно сделать при помощи следующих шагов, которые очень похожи на действия, описанные выше.
Удалите узел Element.SetParameterByName и узлы, соединенные с его портами ввода, а затем добавьте узел Element.OverrideColorInView.
Добавьте узел Color Range в рабочую область и соедините его с портом ввода color узла Element.OverrideColorInView. Для создания градиента необходимо также соединить значения отклонения с цветовым диапазоном.
При наведении указателя на порт ввода value видно, что значения для этого порта должны быть в диапазоне от 0 до 1. Только в этом случае можно будет сопоставить цвета со значениями. Необходимо перенастроить значения отклонения, задав этот диапазон.
С помощью узла Math.RemapRange перенастройте значения отклонения от плоскости, задав диапазон от 0 до 1. (Примечание. Чтобы задать исходную область, также можно использовать узел MapTo.)
Соедините результаты с портом ввода узла Color Range.
Обратите внимание, что в результате получается диапазон цветов, а не диапазон чисел.
Если используется режим «Вручную», нажмите кнопку Запуск. С этого момента вы, скорее всего, сможете без проблем работать в автоматическом режиме.
Вернувшись в Revit, видим значительно более наглядный градиент, характеризующий отклонение от плоскости на основе цветового диапазона. Но что, если требуется изменить цвета? Обратите внимание, что минимальные значения отклонения обозначены красным цветом, что не вполне логично. Необходимо, чтобы максимальному отклонению соответствовал красный, а минимальному — более спокойный цвет. Вернемся в Dynamo и устраним этот недостаток.
Используя узел Code Block, добавьте два числа в две разные строки:
0;
и255;
.Создайте красный и синий цвета, соединив соответствующие значения с двумя узлами Color.ByARGB.
Создайте список из этих двух цветов.
Соедините этот список с портом ввода colors узла Color Range и посмотрите, как при этом изменится пользовательский цветовой диапазон.
Теперь, вернувшись в Revit, можно получить более наглядное представление об областях максимального отклонения в углах. Помните, что этот узел служит для переопределения цвета на виде, поэтому он может быть очень полезен в случае, когда в наборе чертежей есть лист, предназначенный для определенного типа расчета.
При выборе в Revit одной панели ETFE отображаются четыре параметра экземпляра: XYZ1, XYZ2, XYZ3 и XYZ4. После создания все они будут пустыми. Это текстовые параметры, для которых требуется задать значения. С помощью Dynamo создадим местоположения адаптивных точек для каждого параметра. Это способствует взаимодействию в случаях, когда геометрический объект необходимо отправить инженеру или консультанту по фасадам.
На образце листа представлена большая пустая спецификация. Параметры XYZ являются общедоступными параметрами в файле Revit, благодаря чему их можно добавить в спецификацию.
Если увеличить масштаб, становится видно, что параметры XYZ еще не заполнены. Первые два параметра автоматически заполняются данными из Revit.
Для ввода этих значений выполним сложную операцию со списком. Сам график довольно прост, но его логика строится на основе сопоставления списков, которое рассматривалось в разделе, посвященном спискам.
Выберите все адаптивные компоненты с двумя узлами.
Извлеките местоположение каждой точки с помощью узла AdaptiveComponent.Locations.
Преобразуйте эти точки в строки. Следует помнить, что параметр является текстовым, поэтому входные данные должны иметь правильный тип.
Создайте список из четырех строк, которые определяют изменяемые параметры: XYZ1, XYZ2, XYZ3 и XYZ4.
Соедините этот список с портом ввода parameterName узла Element.SetParameterByName.
Соедините узел Element.SetParameterByName с портом ввода combinator узла List.Combine. Соедините адаптивные компоненты с портом ввода list1. Соедините узел String from Object с портом ввода list2.
В данном случае мы сопоставляем списки, так как вводим четыре значения для каждого элемента, что создает сложную структуру данных. Узел List.Combine управляет операцией, выполняемой на один шаг вниз по иерархии данных. Именно поэтому порты ввода element и value узла Element.SetParameterByName остаются пустыми. Вложенные списки входных параметров узла List.Combine соединяются с пустыми портами ввода узла Element.SetParameterByName в соответствии с порядком их подсоединения.
При выборе панели в Revit становится видно, что для каждого параметра есть строковые значения. В реальном проекте для создания точки (X,Y,Z) использовался бы более простой формат. Это можно сделать с помощью строковых операций в Dynamo, но в рамках данного раздела этот метод не рассматривается.
Вид образца спецификации с заполненными параметрами.
Каждая панель ETFE теперь имеет координаты XYZ, введенные для каждой адаптивной точки и соответствующие углам каждой изготавливаемой панели.