Можно создавать дополнительные узлы для фильтрации по таким критериям, как зоны, сечения и углы.
Следующий узел Dynamo, который нужно добавить в сценарий, называется Filter.ByZoneType. В качестве входных данных для этого узла используется узел соединения (или список узлов соединений), индекс, соответствующий элементу данных конструкций узла соединения, а также тип зоны — тело или конец (в настоящий момент — нечувствительная к регистру строка). На выходе этот узел Dynamo показывает, какие узлы соединений соответствуют критериям, а какие нет.
В этом примере требуется убедиться в том, что узел соединения между элементами B1 и B2 — это стыковка между конечными точками. Для этого сначала убедитесь, что типом зоны первого элемента (индекс 0) в узле является конец. Поскольку все элементы (B1, B2, B3, B4) имеют тип зоны «Конец», все вложенные узлы соответствуют критериям фильтра.
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
[ ] |
Затем добавьте второй узел Dynamo, чтобы убедиться в том, что типом зоны для второго элемента (индекс 1) также является конец.
Все вложенные узлы соединений соответствуют заданным критериям.
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
[ ] |
Следующий фильтр, который нужно добавить в сценарий, называется Filter.BySlantAngle. Угол наклона — это угол между осью элемента данных конструкции и вертикальной осью. Угол наклона дополняет собой угол уклона. Этот фильтр требуется для проверки того, что первый элемент является вертикальным. В качестве входных данных для этого узла Dynamo используется узел соединения или список узлов соединений, индекс элемента конструкции узла соединения, который требуется проверить, а также начало и конец диапазона угла наклона (0–90°) в градусах.
В этом примере требуется убедиться, что угол наклона первого элемента (индекс 0) в узле соединения находится в диапазоне от 0 до 0 градусов (является вертикальным).
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
![]() |
Следующий фильтр, который нужно добавить в сценарий, называется Filter.BySlopeAngle. Угол уклона — это угол между осью элемента данных конструкции и горизонтальной плоскостью. Угол уклона дополняет собой угол наклона. Этот фильтр требуется для проверки того, что угол уклона второго элемента находится в диапазоне от 10 до 15 градусов. В качестве входных данных для этого узла Dynamo используется узел соединения или список узлов соединений, индекс элемента конструкции узла соединения, который требуется проверить, а также начало и конец диапазона угла уклона (0–90°) в градусах.
В этом примере требуется убедиться, что угол уклона второго элемента (индекс 1) в узле соединения находится в диапазоне от 0 (rangeStart) до 15 градусов (rangeEnd).
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
![]() |
Добавьте узел Dynamo Filter.ByAngleBetweenAxes. В качестве входных данных для узла используется узел соединения или список узлов соединений, индексы элементов конструкций узла соединения, которые требуется проверить, две оси (X, Y или Z), которые требуется проверить, а также начало и конец диапазона угла уклона (0–90°) в градусах.
Так как стенка элемента B3 не параллельна стенке элемента B1, узел соединения [B1, B3] не соответствует критериям данного фильтра.
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
![]() |
С помощью узла Dynamo Filter.BySectionShape можно проверить форму сечения профиля, используемого в элементе данных конструкции. Просмотреть форму сечения можно в диалоговом окне свойств типа Revit в списке параметров типа в разделе «Несущие конструкции».
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
[ ] |
С помощью узла Dynamo Filter.BySectionType можно проверить имя типа сечения для элемента данных конструкции.
В качестве входных данных для узла Dynamo используется узел соединения или список узлов соединений, индекс элемента конструкции из узла соединения, который требуется проверить, и имя типа сечения (для него требуется дополнительный узел Input.StructuralDataTypes).
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
[ ] |
С помощью узла Dynamo Filter.BySectionProfile можно проверить профиль сечения, используемый в элементе данных конструкции.
Входные данные | Вывод
Условие выполнено |
Вывод
Условие не выполнено |
---|---|---|
![]() |
![]() |
[ ] |
Фильтр по углу между осями позволяет проверить угол между осями X, Y и Z, и для его использования требуется ввод данных в диапазоне от 0 до 90 градусов.
Фильтр по углу между балками представляет собой частный случай, в котором обе оси являются осями X.
В качестве входных данных для узла Dynamo Filter.ByVerticalPosition используется узел соединения или список узлов соединений, индекс элемента конструкции из узла соединения, который требуется проверить, и строка положения («Сверху» или «Снизу» в зависимости от нужного положения при фильтрации). Например, этот фильтр пригодится, чтобы всегда размещать соединения опорной плиты в нижней части колонны.
В качестве входных данных для узла Dynamo Filter.ByMemberEndForces используется узел соединения или список узлов, индекс элемента конструкции из узла соединения, который требуется проверить, тип результата (Fx, Fy, Fz, Mx, My, Mz — можно использовать узел Input.ResultTypes), а также начало и конец диапазона усилий (для которого учитываются единицы Revit). Этот узел Dynamo можно использовать с целью размещения соединений на основании значений усилий на конце элемента каркаса для усилий, которые определены в диалоговом окне Revit Усилия на конце элемента.
В качестве входных данных для узла Dynamo используется узел соединения или список узлов соединений, индекс элемента конструкции из узла соединения, который требуется проверить, тип результата (Fx, Fy, Fz, Mx, My, Mz — можно использовать узел Input.ResultTypes), пакет результатов расчета с нужным вариантом нагрузки, комбинацией или оболочкой (требуется узел Input.AnalysisResults), а также начало и конец диапазона усилий (для которого учитываются единицы Revit). Этот узел можно использовать для размещения соединений на основании значений усилий на конце элемента каркаса для результатов расчета в Structural Analysis Toolkit.
Следующий шаг: Добавление соединений в Dynamo скрипт