Моделирование ферм в Revit требует выбора между системными семействами и пользовательскими компонентами в зависимости от стадии проекта и требований к спецификации. Ошибка на этапе выбора метода приводит к потере параметричности, некорректным ведомостям или невозможности координации с конструкторами. Ожидаемый результат — параметрическая модель фермы, корректно отображающаяся в спецификациях, разрезах и на 3D-виде, готовая к передаче в расчетную программу.
Цена ошибки проявляется в переработке черновиков на стадии КД, расхождении объемов металла 15–30% и конфликтах при выгрузке в IFC. Ситуация усложняется, когда архитектурная сетка не совпадает с расчетной схемой фермы, либо при необходимости показать сборные узлы с болтами и швайными швами. Граница применимости стандартных инструментов — фермы с постоянным сечением панели и прямыми поясами; для скошенных, ломаных или пространственных ферм требуется адаптивная геометрия.
Определение типа фермы и выбор инструмента
Первым действием является классификация фермы по геометрии: параллельные пояса, однокатная, двухскатная, полигональная или пространственная. Для параллельных и однокатных ферм с постоянным шагом панели достаточно системного семейства «Ферма» (Truss). Двухскатные и полигональные фермы требуют адаптивных точек на каждом узле. Пространственные фермы (сфероиды, купола) собираются только через Adaptive Component с 3D-точками размещения.
Проверьте требования спецификации: если нужна ведомость по профилям с длиной, массой и маркой — системное семейство заполнит её автоматически при корректном назначении типоразмеров. Для адаптивных компонентов придется настраивать общие параметры и формулы вручную. Наблюдаемый признак правильного выбора — возможность изменить шаг панелей одним параметром без разбора геометрии.
Подготовка профилей и материалов
Перед созданием фермы загрузите в проект профили стальных сечений (I-балки, уголки, трубы, двутавры) в формате RFA с правильными параметрами: ProfileName, Height, Width, WebThickness, FlangeThickness. Назначьте материал «Сталь» с плотностью 7850 кг/м³ для корректного расчета массы. Если профилей нет в библиотеке, создайте их через Family → New → Profile, замкнув контур полилинией без самопересечений.
Для сборных ферм подготавливайте отдельные семейства узлов: гусеницы, плиты с швами, болтовые соединения. Размещайте их как вложенные компоненты в основной семействе фермы с привязкой к опорным плоскостям узлов. Контрольный признак — при изменении шага панели узлы перемещаются синхронно с поясами и стойками.
Создание фермы через системное семейство
В проекте перейдите на вкладку Structure → Truss. В свойствах выберите тип «Параллельные пояса» или «Односкатная». Нажмите «Edit Type» → «Truss Type Properties» → добавьте типоразмер под проектное название (например, «Ферма_П-24_6м»). Задайте профили верхнего и нижнего пояса, стойк и строп через выпадающие списки профилей. Установите шаг панелей (Panel Spacing) и высоту фермы (Truss Height).
Разместите ферму кликом по двум точкам: начало и конец оси. Revit построит геометрию по заданным правилам. Проверьте в 3D-виде: пояса должны быть ориентированы полками вверх/вниз, стойки и стропы — перпендикулярно поясам. Если ориентация неверна, в типе фермы измените параметр «Chord Orientation» или поверните профиль в семействе профиля на 90°.
Создание адаптивной фермы для нетиповых схем
Создайте новое семейство: File → New Family → Metric Generic Model Adaptive. В режиме Family Editor разместите адаптивные точки (Adaptive Points) в узлах фермы: верхний пояс, нижний пояс, промежуточные узлы. Нумеруйте точки последовательно по ходу фермы. Соедините точки линиями (Model Lines) или создайте сплайн через точки для скошенных поясов.
На каждой линии разместите профиль через «Create Form» → «Sweep» → выберите профиль и путь. Для стойк и строп создайте отдельные Sweep-формы между соответствующими парами точек. Добавьте параметры типа: «PanelCount» (integer), «TrussHeight» (length), «TopChordProfile», «BottomChordProfile», «WebProfile» (family types). Привяжите геометрию к параметрам через формулы в Family Types.
Параметризация и формулы управления
В Family Types создайте параметр «PanelSpacing» с формулой: TrussLength / PanelCount. Для адаптивных точек задайте координаты X через формулы: Point1_X = 0, Point2_X = PanelSpacing, Point3_X = 2 * PanelSpacing и так далее. Координаты Y верхнего пояса: для параллельных — константа TrussHeight, для скошенных — линейная функция от X. Добавьте параметр «FlipChords» (yes/no) для инверсии ориентации профилей через формулу if(FlipChords, -90°, 0°) в угле вращения профиля.
Обязательное условие: все размерные параметры должны быть типа Instance, если ферма уникальна, или Type — для типовых изделий. Наблюдаемый признак рабочей параметризации — изменение PanelCount перестраивает всю геометрию без ошибок «Constraints not satisfied». Если появляются ошибки, проверьте замкнутость контуров профилей и отсутствие нулевых длин сегментов.
Порядок создания адаптивной фермы
- 01Создать семейство Metric Generic Model AdaptiveКонтроль: Появилась среда Family Editor с 3D-точками
- 02Разместить адаптивные точки в узлах схемыКонтроль: Точки пронумерованы последовательно без пропусков
- 03Построить пути поясов и решетки через Model LinesКонтроль: Линии соединяют соответствующие пары точек
- 04Нанести профили через Sweep на каждый путьКонтроль: Профили следуют за путями при движении точек
- 05Добавить параметры типа и формулы координатКонтроль: Изменение PanelCount перестраивает геометрию без ошибок
- 06Загрузить в проект и разместить по 3D-точкамКонтроль: Ферма привязана к осям и уровням проекта
Размещение адаптивной фермы в проекте
Загрузите семейство в проект. На вкладке Structure → Component → Model In-Place или Place Component выберите семейство фермы. Revit запросит размещение адаптивных точек: кликните в последовательности, соответствующей нумерации в семействе (обычно: левый нижний узел, левый верхний, правый верхний, правый нижний, промежуточные). Для ферм с большим количеством панелей удобнее разместить точки по осям сетки через «Place by Points» на виде 3D или плане крыши.
После размещения проверьте свойства экземпляра: PanelCount, TrussHeight, профили должны читаться и редактироваться. Если ферма «перевернута» — измените порядок точек при размещении или используйте параметр FlipChords. Для привязки к уровням задайте высоту точек через параметр «Elevation» или привяжите к уровням проекта через «Associated Level».
Сборные узлы и детализация
Для стадии КД в семействе фермы добавьте вложенные компоненты узлов: гусеничные плиты, швы, болты. Создайте семейство узла (Metric Structural Connection) с параметрами: толщина плиты, диаметр шва, класс болтов. В основной ферме разместите узел на каждой адаптивной точке через «Component» → «Place Instance» с привязкой к точке. Настройте видимость узлов через параметр «ShowConnections» (yes/no) для переключения между видами АР и КД.
Альтернатива — моделирование узлов в проекте через инструмент Steel Connections после размещения фермы. Это дает доступ к библиотеке типовых узлов (пластинчатые, гусеничные, болтовые) и автоматической спецификации крепежа. Ограничение: соединения не переносятся при копировании фермы в другой проект без переноса базы данных соединений.
Частые проблемы и исправления
| Симптом | Причина | Что сделать |
|---|---|---|
| Ферма не строится: "Constraints not satisfied" | Профиль не замкнут или имеет самопересечения | Открыть семейство профиля, проверить контур на замкнутость и отсутствие пересечений |
| Профили ориентированы неверно (полки вбок) | Угол вращения профиля в семействе или параметр Chord Orientation | В семействе профиля повернуть контур на 90° или в типе фермы сменить Chord Orientation |
| При изменении PanelCount геометрия ломается | Формулы координат ссылаются на несуществующие точки или деление на ноль | Проверить формулы: PanelCount > 0, индексы точек в допустимом диапазоне |
| Спецификация не показывает массу фермы | Материал не назначен или плотность = 0 | Назначить материал "Сталь" с плотностью 7850 кг/м³ в типе профиля или семействе фермы |
Спецификация и выгрузка в IFC
Для получения ведомости ферм создайте спецификацию: View → Schedules → Schedule/Quantities → Category: Structural Framing (если ферма системная) или Generic Models (если адаптивная). Добавьте поля: Type Mark, Length, Volume, Material, Mass (рассчитывается как Volume × Density). Для адаптивных ферм добавьте общие параметры: TrussMark, PanelCount, TrussHeight — и включите их в спецификацию.
При выгрузке в IFC системные фермы попадают в класс IfcMember с типом IfcMemberType.USERDEFINED и атрибутом Truss. Адаптивные фермы выгружаются как IfcBuildingElementProxy. Для корректной передачи в расчетные комплексы (SCAD, LIRA, Robot) назначьте в свойствах семейства параметр «Analytical Model» → «Enable Analytical Model» и проверьте, что аналитическая ось проходит по центроиде сечения поясов.
Контроль готовой модели
- Геометрия фермы перестраивается при изменении PanelCount без ошибок
- Профили ориентированы полками в вертикальной плоскости
- Спецификация выдает длину, объем и массу по каждому типоразмеру
- Адаптивные точки привязаны к осям и уровням проекта
- Узлы соединений отображаются на разрезах и в 3D-виде
- IFC-выгрузка содержит класс IfcMember с атрибутами профилей
Границы применимости и альтернативы
Системное семейство «Ферма» покрывает 80% типовых случаев: параллельные, однокатные, двухскатные фермы с постоянным шагом. Адаптивные компоненты нужны для скошенных поясов, переменного шага панелей, пространственных ферм и интеграции с Dynamo/Grasshopper. Для параметрического генератора типовых ферм используйте Dynamo-скрипт, создающий экземпляры системного семейства по таблице Excel — это быстрее ручного размещения и исключает опечатки в параметрах.
Если проект требует детализации до каждого шва и болта на стадии КМ — моделируйте ферму в Advance Steel или Tekla, а в Revit оставьте только оболочку для координации. Revit не является инструментом конструкторской детализации металла; его роль — координационная модель и базовая спецификация. Граница перехода — появление требования к чертежам узлов с позициями деталей и сборочными чертежами.
Работа с Dynamo для пакетного создания
Для серии типовых ферм (например, 50 ферм с разной длиной и шагом) настройте Dynamo-граф: чтение Excel-таблицы с параметрами (Mark, Length, Height, PanelCount, Profiles) → цикл создания экземпляров System Family Truss через узел StructuralFraming.ByCurveAndLevel. Ключевой узел — TrussType.ByParameters для создания типоразмеров на лету. Проверка: после запуска графа в проекте появляются фермы с заполненными параметрами и корректной геометрией.
Ограничение Dynamo: не может создавать адаптивные компоненты с переменным количеством точек. Для таких ферм генерируйте семейство с максимальным числом точек, а лишние точки схлопывайте в нулевые сегменты через формулы. Альтернатива — Python-скрипт внутри Dynamo, создающий семейство программно через Revit API.
Координация с конструкторами и смежными разделами
Передайте конструктору IFC-файл с фермами и таблицу соответствия марок: Revit Mark ↔ Расчетная марка. Требуйте обратную выгрузку расчетных нагрузок в общие параметры фермы (N_max, M_max) для проверки профилей. С вентиляцией и трубопроводами координируйте пролеты в панелях фермы: минимальная световая высота под нижним поясом и проходы между стропами. Наблюдаемый признак разрешенного конфликта — отсутствие пересечений в Navisworks с допуском 50 мм.
Для архитектурного отображения создайте вид «Крыша_Фермы» с фильтром видимости: только Structural Framing, переопределение графики — тонкие линии, без закраски. Настройте аннотации: марки ферм, размеры между осями, отметки верха поясов. Это база для чертежей КЖ и КМ без дублирования модели.
Выбор подхода по условиям задачи
- Ферма типовая, параллельная или однокатная, стадия КЖСистемное семейство Truss + Dynamo для серии
- Ферма двухскатная, полигональная, переменный шаг панелейAdaptive Component Generic Model
- Требуется детализация узлов до швов и болтов (КМ)Моделирование в Advance Steel / Tekla, в Revit — только оболочка
- Пространственная ферма (купола, арка)Adaptive Component с 3D-точками или Dynamo + Geometry.Translate
- Нужна быстрая спецификация металла без детализации узловСистемная ферма с материалами и параметром Mass
Часто задаваемые вопросы
Почему ферма не появляется в спецификации стальных конструкций?
Системная ферма попадает в категорию Structural Framing только если её тип назначен в семействе Truss. Адаптивная ферма — в Generic Models. Проверьте категорию семейства и настройте спецификацию под соответствующую категорию.
Как изменить ориентацию профиля пояса после размещения фермы?
В типе системной фермы измените параметр Chord Orientation. В адаптивной — параметр экземпляра FlipChords или поверните профиль в исходном семействе профиля на 90° и перезагрузите.
Можно ли сделать ферму с разными профилями стойк в разных панелях?
В системном семействе — нет, профиль строп единый для всех панелей. В адаптивном — да, создайте параметр массива профилей или используйте вложенные адаптивные компоненты для каждой панели с собственным типом профиля.
Как привязать адаптивную ферму к осям сетки, чтобы она двигалась с ними?
При размещении кликайте точно на пересечения осей. После размещения выделите ферму → Edit Adaptive Points → привяжите каждую точку к ближайшей оси через иконку привязки (значок зажима). При движении оси точка последовает за ней.
Почему масса в спецификации показывает 0 или неверное значение?
Проверьте материал профиля: должен быть назначен материал с плотностью (Steel — 7850 kg/m³). В свойствах типа профиля параметр Material не должен быть «By Category» без материала в категории. Для адаптивных ферм включите расчет объема в параметрах формы (Volume = True).
Как выгрузить ферму в IFC с правильным классом IfcTruss?
В настройках экспорта IFC (File → Export → IFC → Modify Setup) в таблице Category Mapping для категории Structural Framing задайте IFC Class = IfcMember, Predefined Type = TRUSS. Для адаптивных ферм в Generic Models задайте IfcBuildingElementProxy с пользовательским типом.