Инструмент «Массив по траектории» в Revit позволяет распределить экземпляры семейств или геометрию вдоль заданной кривой с контролем шага, количества и ориентации. Ошибка в настройке приводит к некорректному количеству элементов, их смещению относительно оси траектории или потере ассоциативности при изменении формы кривой. Цена такой ошибки — переработка узлов, расхождение спецификаций и нарушение координации на стадии рабочей документации. Ожидаемый результат: ассоциативный массив, который пересчитывается при редактировании траектории, сохраняет заданный шаг или число элементов и корректно ориентирует каждый экземпляр.
Основная сложность — выбор между методами «По шагу» и «По количеству», а также понимание того, как Revit интерпретирует начало и конец траектории. Если траектория состоит из нескольких сегментов, объединённых в полилинию, массив распределяется по общей длине, а не по отдельным отрезкам. Это часто становится причиной неожиданного перекоса элементов на стыках сегментов. Дополнительный фактор — ориентация: по умолчанию элементы поворачиваются по касательной к кривой, но для аннотаций, освещения или оборудования может потребоваться фиксированный угол или привязка к рабочей плоскости.
Перед началом работы проверьте, что траектория является валидной кривой (сплайн, дуга, линия или их комбинация в полилинии) и не содержит самопересечений. Убедитесь, что семейство, которое массируете, имеет корректную точку вставки и параметры ориентации. Если семейство создано без учёта поворота по траектории, его экземпляры будут «лечь» на кривую не так, как ожидается — например, колонны могут наклониться вместе с касательной вместо вертикального положения.
Выбор метода распределения: по шагу или по количеству
Метод «По шагу» задаёт фиксированное расстояние между центрами экземпляров. Revit заполняет траекторию начиная от её начала, пока длина позволяет разместить следующий экземпляр с заданным шагом. Остаток длины в конце траектории игнорируется — последний экземпляр стоит на расстоянии шага от предпоследнего, а до конца кривой может оставаться зазор. Этот метод подходит для стандартизированных решений: шаг балок 600 мм, опоры каждые 3 метра, светильники через 1.5 метра. При изменении длины траектории число экземпляров пересчитывается автоматически.
Метод «По количеству» равномерно распределяет заданное число экземпляров по всей длине траектории. Первый экземпляр ставится в начало кривой, последний — в конец, промежуточные — с равным интервалом. Это гарантирует покрытие всей длины и фиксированное число позиций в спецификации. Подходит, когда важно точное количество: 4 колонны, 6 кронштейнов, 8 арматурных стержней. При удлинении траектории шаг увеличивается пропорционально.
Третий вариант — «По шагу с заполнением» (доступен в некоторых версиях через настройки массива) — комбинирует оба подхода: задаётся шаг, но последний экземпляр принудительно прижимается к концу траектории, а интервалы незначительно корректируются. Это устраняет «хвост» неиспользованной длины, но вносит неравномерность, которая может быть недопустима по нормам (например, для арматуры). Проверяйте настройки конкретной версии Revit — состав методов меняется от релиза к релизу.
Подготовка траектории и семейства
Траектория должна быть единственной кривой или полилинией, созданной инструментом «Линии модели» или «Линии детализации» в соответствующем виде. Сплайны дают плавное распределение, но могут создавать неравномерные углы поворота элементов на участках высокой кривизны. Дуги и линии дают предсказуемую геометрию. Если траектория собрана из отдельных сегментов, не объединённых в полилинию, Revit не примет её как единый путь — массив построится только по первому выбранному сегменту.
Семейство для массирования должно иметь точку вставки, совпадающую с его геометрическим центром или базовой точкой монтажа. Для колонн и стойок точка вставки — в центре основания на уровне размещения. Для балок и перекрытий — на оси сечения на уровне верха/низа. Если точка вставки смещена, массив будет сдвинут относительно траектории на это смещение, умноженное на число экземпляров. Проверьте в редакторе семейств: параметр «Общий» для точки вставки не обязателен, но упрощает координацию.
Параметр ориентации семейства критичен. Откройте семейство, найдите параметр «Поворот» или «Угол» (часто называется «Rotation» или «Angle») и убедитесь, что он не заблокирован константой. Если семейство создано без параметра поворота, включение галочки «Поворот по траектории» в массиве не даст эффекта — экстанты останутся в исходной ориентации. Для вертикальных элементов (колонны, стойки) этот параметр должен быть отключён, а семейство должно иметь вертикальную ось, привязанную к уровню. Для линейных элементов вдоль кривой (балки, трубы, кабельные лотки) параметр поворота обязателен и должен управлять ориентацией сечения относительно касательной.
Пошаговый порядок создания массива
Создание массива по траектории
- 01Выберите семейство в проекте или загрузите егоКонтроль: Семейство выделено, свойства показывают корректное имя и тип
- 02Активируйте инструмент «Массив» → «По траектории» на вкладке «Модификация»Контроль: Появилась панель настроек массива с выбором метода
- 03Выберите траекторию (кривую или полилинию) кликомКонтроль: Траектория подсветилась, в свойствах отобразилась её длина
- 04Выберите метод: «По количеству» или «По шагу» и введите значениеКонтроль: Превью массива показывает ожидаемое число и расположение экземпляров
- 05Настройте «Поворот по траектории» — включите для линейных элементов, отключите для вертикальныхКонтроль: Превью показывает корректную ориентацию каждого экземпляра
- 06Нажмите «Готово» или Enter для подтвержденияКонтроль: Массив создан, экземпляры выделяются как единая группа при выборе
После создания массив ведёт себя как группа: при выборе одного экземпляра выделяются все, свойства показывают параметры массива (метод, шаг/количество, поворот). Редактирование траектории (перемещение точек, изменение формы сплайна) пересчитывает массив в реальном времени. Если траектория удалена — массив теряет ассоциативность и становится набором независимых экземпляров. Восстановить связь нельзя, придётся создавать массив заново.
Типичные проблемы и их диагностика
Диагностика частых симптомов
| Симптом | Причина | Что сделать |
|---|---|---|
| Экземпляры поворачиваются задом наперёд или на 90° не туда | В семействе ось поворота не совпадает с осью геометрии или параметр поворота привязан к неверной плоскости | Откройте семейство, проверьте ориентацию в 3D и на планах. Убедитесь, что параметр поворота управляет нужной осью. При необходимости добавьте параметр поворота и привяжите геометрию к нему |
| Массив не пересчитывается при изменении траектории | Траектория была преобразована в набор линий, не объединённых в полилинию, или массив создан по копии траектории, а не по исходной | Проверьте, что траектория — единый объект (полилиния или сплайн). Удалите массив, выберите исходную траекторию и создайте массив заново |
| На стыках сегментов полилинии элементы пересекаются или оставляют большой зазор | Резкая смена направления касательной на ломаном углу. Revit не сглаживает переход, каждый экземпляр ориентируется по локальной касательной | Замените ломаную на сплайн с плавными переходами или увеличьте шаг/уменьшите количество, чтобы стык попал в промежуток. Для жестких норм (арматура) разбивайте массив на отдельные участки по прямым сегментам |
| Число экземпляров в спецификации не совпадает с ожидаемым | Метод «По шагу» не ставит элемент в конец траектории, если остаток длины меньше шага. Или траектория короче, чем кажется (скрытые сегменты, неточность моделирования) | Переключитесь на «По количеству» для точного контроля числа. Измерьте реальную длину траектории инструментом «Измерение» и пересчитайте ожидаемое число вручную |
Ограничения инструмента и альтернативы
Для задач, выходящих за рамки стандартного массива, применяют Dynamo. Графический скрипт может читать длину кривой, вычислять переменный шаг по формуле, фильтровать зоны, создавать разные типы семейств на разных участках и записывать уникальные марки в параметры. Это переносит логику из ручного моделирования в управляемый алгоритм, но требует навыков визуального программирования и понимания структуры данных Revit.
Альтернатива без программирования — аддоны типа DiRootsOne, BIM42 или встроенные в Revit 2024+ инструменты «Генеративный дизайн» (Generative Design). Они предоставляют интерфейс для настройки правил распределения: зоны, переменный шаг, привязка к объектам, исключения. Перед покупкой или внедрением проверьте совместимость с версией Revit и лицензией вашей организации.
Проверка результата перед сдачей
Контрольный чек-лист готового массива
- Число экземпляров в свойствах массива совпадает с проектным требованием (для метода «По количеству») или шаг соответствует норме (для «По шагу»)
- Все экземпляры ориентированы корректно: вертикальные — строго вертикально, линейные — по касательной без перекосов
- Массив ассоциативен: при перемещении точки траектории экземпляры пересчитываются без лагов и ошибок
- Спецификация показывает верное количество позиций и корректные марки (если марки назначаются автоматически)
- Нет пересечений геометрии экземпляров друг с другом и с соседними элементами модели (проверка «Проверка интерференций»)
- Уровень размещения и смещение по Z у всех экземпляров едины и соответствуют проекту
После проверки зафиксируйте состояние: если траектория не должна меняться, можно «Разгруппировать» массив (правый клик → «Разгруппировать»), превратив экземпляры в независимые элементы. Это снимает нагрузку на пересчёт при синхронизации, но лишает гибкости. Решение о разгруппировке принимайте на координационном совещании — иногда заказчик требует сохранить ассоциативность до стадии АС.
Работа с вложенными массивами и семействами-контейнерами
Если нужно массировать не отдельное семейство, а группу элементов (например, ферму с навесным оборудованием), создайте вложенное семейство-контейнер: загрузите составные семейства в одно родительское, расположите их относительно точки вставки контейнера, затем массируйте контейнер по траектории. Это сохраняет внутреннюю структуру и позволяет управлять составом через типоразмеры контейнера.
Внимание: вложенные массивы (массив внутри массива) в Revit не поддерживаются напрямую. Нельзя создать массив по траектории из семейств, которые сами являются массивами. Обходной путь — использовать Dynamo для генерации геометрии или создавать вложенные семейства с уже «запечённой» геометрией массива (как статичную группу), но тогда теряется параметричность внутреннего массива.
Координация с разделами и передача в ИОС
При экспорте в IFC массив по траектории может распасться на отдельные IfcElement без группировки, если настройки экспорта не включают сохранение групп. Проверьте настройки IFC-экспорта: «Экспортировать группы как сборки» или «Сохранять иерархию». Для передачи в расчётные комплексы (SCAD, LIRA, Robot) важно, чтобы каждый экземпляр имел уникальный GUID и корректную локальную систему координат. Массив по траектории это обеспечивает, если семейство не содержит ошибок в точке вставки.
Если массив используется для арматуры, учитывайте: в Revit есть специализированный инструмент «Арматура → По траектории» (для стержней) и «Область арматуры → По траектории» (для сеток). Они создают объекты класса «Арматура», а не общие семейства, и корректно экспортируются в IFC как IfcReinforcingBar. Не используйте общий «Массив по траектории» для арматуры — спецификация и экспорт будут некорректны.
Итог: решение и границы применимости
Инструмент «Массив по траектории» решает задачу параметрического распределения идентичных элементов вдоль кривой. Рабочий процесс: подготовка валидной траектории и семейства с точкой вставки и параметром поворота → выбор метода («По количеству» для точного числа, «По шагу» для нормированного интервала) → настройка поворота по траектории только для линейных элементов → проверка превью → подтверждение. Результат ассоциативен до удаления траектории.
Границы применимости: одна траектория за раз, идентичные экземпляры, нет индивидуальных параметров, нет сложной логики зонирования. Для всего остального — Dynamo, аддоны или ручное размещение с привязкой к осям/точкам. Не применяйте для арматуры (есть специализированные инструменты), не используйте на самопересекающихся кривых, не ожидайте сглаживания ориентации на ломаных углах без сплайна.
Как заставить массив ставить элемент точно в конец траектории при методе «По шагу»?
Стандартный метод «По шагу» не гарантирует элемент в конце. Варианты: переключитесь на «По количеству» и вычислите число как ceil(длина/шаг)+1; используйте сплайн как траекторию и метод «По количеству» — Revit распределит равномерно от начала до конца; в Dynamo напишите скрипт, который ставит элементы с заданным шагом и принудительно добавляет последний в точке конца кривой.
Почему колонны в массиве наклоняются вместе с траекторией?
Включена галочка «Поворот по траектории». Для вертикальных элементов она должна быть выключена. Если семейство колонны имеет параметр поворота, Revit всё равно попытается его применить. Отключите поворот в настройках массива и проверьте, что в семействе колонны ось Z вертикальна и привязана к уровню, а не к рабочей плоскости траектории.
Можно ли массировать по траектории разные типоразмеры одного семейства?
Нативный инструмент — нет, он создаёт копии одного типа. Решение: создайте несколько массивов по одной траектории с разными типами и настройте их смещение (Offset) так, чтобы они чередовались. Или используйте Dynamo: скрипт может чередовать типы по списку, назначать разные шаги, пропускать зоны. Аддоны вроде DiRootsOne позволяют задать правило чередования через интерфейс.
Что делать, если траектория изменилась и массив «сломался» (элементы улетели, перевернулись)?
Проверьте, не удалена ли исходная траектория. Если траектория существует, но массив не пересчитывается — выделите массив, нажмите «Редактировать источник» (Edit Source) на панели массива, повторно выберите траекторию и подтвердите. Если траектория заменена на новую — удалите старый массив и создайте новый. История изменений траектории (Undo) иногда помогает вернуть ассоциативность, если откатить до момента перед изменением формы.
Как проверить реальный шаг между экземплярами после создания массива?
Инструмент «Измерение» (Measure) между центрами двух соседних экземпляров покажет текущий шаг. Для метода «По количеству» шаг будет равен длине траектории / (число-1). Для «По шагу» — заданному значению, кроме последнего интервала до конца кривой. Если нужна точная верификация — выделите массив, откройте «Свойства», посмотрите параметры «Шаг» или «Количество» — они показывают текущие активные значения после пересчёта.
Влияет ли массив по траектории на производительность модели при больших количествах?
Да. Каждый экземпляр в массиве — отдельный элемент модели с собственным GUID, геометрией и параметрами. Массив из 500+ экземпляров заметно увеличивает размер файла и время синхронизации. Для больших серий (панели фасада, плиты, арматура) используйте специализированные инструменты: «Панель фасада» (Curtain System), «Область арматуры», или создавайте геометрию как единое семейство-контейнер с вложенными элементами, а не массив отдельных семейств. При необходимости разгруппируйте массив и объедините геометрию в DirectShape через Dynamo для расчётных моделей.