Моделирование крыши в Revit — задача, где ошибка на старте умножается на часы переработки при изменении планировки или координации с вентиляцией. Выбор не того инструмента создаёт геометрию, которая не стыкуется со стенами, ломает спецификации и выдаёт некорректные площади в IFC. Цена ошибки — перестройка узлов связи, потеря параметричности и риск расхождений объёмов на сметном этапе. Ожидаемый результат — чистая параметрическая модель, которая пересчитывается при движении стен, корректно режется окнами и выдаёт достоверные ведомости без ручной правки.
Основная сложность кроется не в нажатии кнопок, а в понимании логики движка: Revit строит крышу как набор склонов, связанных условиями стыковки. Если контур незамкнут или склоны конфликтуют по высоте, движок молча создаёт «висячую» геометрию без ошибки, но с нарушением топологии. Распознать свою ситуацию просто: если форма крыши описывается замкнутым контуром с постоянными углами наклона — ваш путь «Крыша по контуру». Если профиль сложный, переменный или криволинейный — переходите к выдавливанию или моделированию по форме. Граница применимости стандартного инструмента проходит там, где появляются разломы склонов внутри контура или свободные формы.
Выбор инструмента создания крыши
В Revit три базовых способа создать крышу, и выбор между ними определяет всю дальнейшую гибкость модели. «Крыша по контуру» (Roof by Footprint) работает по принципу экструзии профиля склона вдоль линий контура с заданным углом. Это единственный инструмент, который нативно понимает «склон» как объект со свойством Slope и автоматически рассчитывает стыки (hips, valleys, gables) при изменении геометрии контура. «Крыша по выдавливанию» (Roof by Extrusion) требует нарисование профиля в плоскости сечения и задаёт экструзию вдоль заданной плоскости — удобно для мансард, бочковых окон и сложных профилей, но теряет автоматическую стыковку склонов. «Крыша по форме» (Roof by Face) накладывает систему крыши на любую массу (Mass) или поверхность — единственный путь для свободных форм, куполов и параметрических фасадов.
Как выбрать инструмент крыши
- Форма задаётся замкнутым контуром, склоны постоянны, стыки — стандартные (яны, слухи)Roof by Footprint (Крыша по контуру)
- Сложный профиль сечения, переменный наклон внутри одного склона, мансардные окна в плоскости склонаRoof by Extrusion (Крыша по выдавливанию)
- Свободная форма, купол, параметрическая геометрия из массы (Mass), двойная кривизнаRoof by Face (Крыша по форме)
Настройка структуры крыши и слоёв
После выбора инструмента первым действием открывается диалог «Структура» (Edit Assembly) в свойствах типа. Здесь формируется «пирог» крыши: несущий слой, утепление, пароизоляция, вентиляционный зазор, кровельное покрытие. Порядок слоёв и их функция (Structure, Thermal, Membrane, Finish) определяют, как крыша будет стыковаться со стенами (функция Structure имеет приоритет при присоединении), как рассчитываются объёмы в спецификациях и как маппится в IFC (IfcRoof -> IfcMaterialLayerSet). Толщину каждого слоя задавайте по проектным данным, а не «на глаз» — ошибка в 50 мм на утеплении даёт кубические метры расхождения в ведомости. Для вентиляционных зазоров создавайте отдельный слой с функцией Air Layer и нулевой стоимостью, чтобы он не попадал в смету материалов, но учитывался в высоте конструкции.
Ключевые параметры типа крыши
- Base Level / Reference Level
- Уровень отсчётаОпределяет базовую высоту контура; менять после моделирования опасно — склоны «поплывут»
- Slope (Наклон)
- Угол или процентЗадаётся на линиях контура; для переменного наклона используйте Slope Arrow
- Structure Thickness
- Сумма толщин слоёв с функцией StructureВлияет на присоединение стен (Attach Top/Base) и высоту конька
- Rafter Cut / Fascia Depth
- Параметры обреза стропил/конькаНастраиваются в типе крыши; влияют на геометрию низа склона и детализацию узлов
Моделирование сложных узлов: яны, слухи, мансардные окна
Автоматическая стыковка склонов в Footprint работает до тех пор, пока топология контура остаётся простой. Яны (внутренние углы) и слухи (внешние) формируются сами, если линии контура стыкуются под углами не 180°. Проблемы начинаются, когда нужен разлом склона (change of slope) внутри одного контура — например, мансардное окно или изменение угла наклона. Здесь нужен инструмент «Стрелка наклона» (Slope Arrow), который задаёт вектор падения для конкретной грани контура, переопределяя общий угол. Для слуховых окон (dormers) используйте инструмент «Окно в крыше» (Dormer Opening) или «Мансардное окно» (Dormer) — они автоматически вырезают отверстие, строят щёки, фронтон и стыкуют склоны малой крыши с большой. Если встроенный функционал не покрывает геометрию (сложная форма щёк, нестандартный коньок) — моделируйте вложенное семейство (In-Place Family) на основе выдавливания и стыкуйте через Join Geometry, но теряете параметричность склонов.
Присоединение стен и обрезка геометрии
Стены не «знают» о крыше до момента явной команды. Рабочий протокол: после моделирования крыши выделите стены мансардного этажа → «Присоединить верх/основание» (Attach Top/Base) → кликните по нижней грани склона. Revit продлит стену до поверхности крыши с учётом слоёв (приоритет у Structure). Если стена состоит из нескольких типов (например, каменный первый этаж + каркас мансардного) — присоединяйте по отдельности. Для фронтонов, где стена должна повторять профиль склона, используйте «Обрезать по крыше» (Trim by Roof) в контекстном меню стены — это создаст зависимость от формы склона. Проверяйте в 3D-виде с включённым «Показать границы» (Show Edges): стык должен быть чистым, без зазоров и пересечений. Частая ошибка — присоединить стены до настройки толщины структурного слоя крыши; при изменении толщины стены «отваливаются» и требуют повторного присоединения.
Протокол присоединения стен к крыше
- 01Завершите моделирование крыши и зафиксируйте структуру типов (слои, толщины)Контроль: Тип крыши не меняется в процессе присоединения
- 02Выделите стены, требующие присоединения (фильтр по уровню или типу)Контроль: Выделены только целевые стены, не зацеплены перегородки
- 03Команда Attach Top/Base → клик по нижней грани склона крышиКонтроль: Стены удлинились до поверхности Structure-слоя, появился значок замка
- 04Для фронтонов — Trim/Extend to Roof → выбор склонаКонтроль: Верх стены повторяет профиль склона, нет зазоров в сечении
- 05Проверка в 3D-виде с тонкими линиями и прозрачностьюКонтроль: Нет пересечений геометрии, стыки чистые, спецификация площадей стен не изменилась скачкообразно
Спецификации, маркировка и площади
Ведомость крыш (Roof Schedule) строятся по категориям «Крыши» и «Слои крыш» (Roof Layers). Ключевой нюанс: параметр «Площадь» (Area) даёт площадь наклонной поверхности, а «Проектированная площадь» (Projected Area) — площадь в плане. Для сметы кровельного покрытия нужна Area, для расчёта несущих конструкций — часто Projected Area или длина конька/янов. Добавьте в спецификацию общие параметры: «Марка склона», «Тип покрытия», «Угол наклона» — это позволит группировать одинаковые склоны для заказа материала. Маркировка склонов на плане делается через аннотацию «Спот-наклон» (Spot Slope) или пользовательский тег с параметром Slope. Не пытайтесь разметить склоны текстовыми заметками — при изменении угла они не обновятся. Для ведомости материалов (Material Takeoff) убедитесь, что у каждого слоя в структуре типа заполнен параметр «Материал» и он не «По умолчанию», иначе объёмы уйдут в категорию «Не назначено».
Координация, проверка и экспорт
Перед выдачей модели в IFC или DWG проведите три проверки. Первая — «Проверка интерференций» (Interference Check) между крышей и вентиляцией/конструкциями: задайте допуск 0 мм, проверяйте коллизии вентиляционных коробов со склонами и коньковыми балками. Вторая — анализ площадей: сумма Area всех склонов должна совпадать с площадью кровли по архитектурному решению в пределах допуска проекта (обычно 1–2% на сложную геометрию). Третья — валидация IFC: экспортируйте тестовый файл, откройте в Solibri или BIMvision, проверьте, что IfcRoof содержит IfcMaterialLayerSet с правильными толщинами и что GUID элементов стабильны при повторном экспорте. Частая проблема — крыша по форме (Roof by Face) экспортируется как IfcBuildingElementProxy вместо IfcRoof, если в настройках экспорта (IFC Export Setup) для категории Roofs не задан маппинг на IfcRoof. Исправляется редактированием таблицы маппинга перед экспортом.
Чек-лист готовности модели крыши к выдаче
- Все склоны построены инструментом Footprint или корректно стыкованы через Join Geometry
- Стены мансардного этажа присоединены к склонам (Attach Top/Base), фронтоны обрезаны (Trim by Roof)
- Спецификация площадей (Area / Projected Area) сходится с архитектурным решением в допуске
- Проверка интерференций (Interference Check) с ВК и КЖ не выдаёт коллизий нулевого допуска
- Экспорт в IFC проходит валидацию: IfcRoof, корректный IfcMaterialLayerSet, стабильные GUID
Типичные ошибки и диагностика
Сообщение «Cannot create roof» (Не удаётся создать крышу) при завершении контура чаще всего означает самопересечение контура или незамкнутый контур — проверьте вершины на совпадение координат (Zoom to Fit + Tab для цепочки линий). Если склоны не стыкуются в яне/слухе — проверьте, что линии контура действительно стыкуются в одной точке (нет микрозазора 0.001 мм) и что у обеих линий задан одинаковый Slope или корректная Slope Arrow. Ошибка «Roof slope is too shallow» возникает, когда угол наклона меньше минимального для выбранного типа кровельного покрытия (задаётся в семействе материала/типе крыши) — либо увеличьте угол, либо смените тип покрытия на подходящий для пологих крыш. Если после изменения высоты уровня крыша «улетела» — проверьте, не привязан ли контур к уровню с фиксированным Offset, а не к Reference Level крыши. При потере параметричности после Join Geometry — отмените стыковку (Unjoin), проверьте приоритеты материалов (Material Priority) в слоях и стыкуйте заново.
Диагностика частых сбоев крыши
| Симптом | Причина | Что сделать |
|---|---|---|
| Cannot create roof при закрытии контура | Самопересечение контура или незамкнутая цепочка линий | Проверьте вершины на совпадение; используйте Trim/Extend to Corner для замыкания |
| Склоны не стыкуются в яне/слухе | Линии контура не стыкуются в одной точке или имеют конфликтующие Slope | Стяните вершины в одну точку; приведите Slope к общему значению или задайте Slope Arrow |
| Roof slope is too shallow | Угол наклона ниже минимального для типа покрытия в семействе материала | Увеличьте угол на линии контура или замените тип покрытия на пологокровное |
| Крыша сместилась после изменения уровня | Контур привязан к уровню с фиксированным Offset, а не к Reference Level типа крыши | В свойствах контура установите Reference Level = базовому уровню крыши, Offset = 0 |
| Потеря параметричности после Join Geometry | Конфликт приоритетов материалов (Structure vs Finish) при стыковке | Unjoin → проверьте Material Priority в слоях → Join Geometry заново |
Ограничения инструментов и альтернативы
Стандартные инструменты крыш не покрывают все задачи. Footprint не умеет делать переменный наклон внутри одной грани без Slope Arrow (а Slope Arrow работает только на одной грани). Extrusion не стыкуется автоматически с соседними склонами — каждый стык нужно делать вручную через Join/Unjoin или Void-вырезание. Roof by Face требует предварительной массы (Mass), что добавляет этап согласования геометрии с архитектором и ломает историю изменений при правке формы. Для криволинейных склонов (бочкообразные, куполообразные) единственный нативный путь — In-Place Roof на основе Sweep/Blend или разбивка на сегменты Footprint с малым шагом аппроксимации. Последний вариант сохраняет параметричность склонов, но раздувает модель сотнями элементов. Если проект требует BIM-уровня LOD 400+ с детализацией каждого стропила, контроветра и узла конька — нативная крыша служит только носителем геометрии для координации, а рабочая документация ведётся в специализированных плагинах (Wood Framing, Metal Framing) или выносится в отдельные семейства конструктивных элементов.
Итог и границы применимости
Надёжный рабочий процесс: начните с Footprint для 80% склонов, добавьте Slope Arrow для разломов, смоделируйте слуховые окна встроенным инструментом Dormer, настройте структуру слоёв до присоединения стен, прогоните Interference Check и валидацию IFC. Этот алгоритм покрывает типовые частные и низкорысные объекты. Выход за границы — сложные мансарды с перекрывающимися склонами, купола, параметрические фасады — требует перехода на Mass + Roof by Face или In-Place семейства с потерей части параметричности. Не пытайтесь заставить Footprint делать то, для чего он не создан: цена «хитрости» через Void-вырезы и вложенные семейства — нестабильная модель, которая ломается при первом изменении планировки.
Как сделать переменный наклон на одной плоскости склона без Slope Arrow?
Нативно — никак. Slope Arrow — единственный параметрический способ задать вектор падения на грани. Альтернатива — разбить склон на несколько границ контура с разными углами (увеличивает количество элементов) или использовать Roof by Extrusion с профилем переменного сечения (теряет автостыковку).
Почему стены не присоединяются к крыше командой Attach Top/Base?
Частая причина: у стены верхняя привязка (Top Constraint) установлена на уровень с фиксированным Offset, а не «Up to level: Roof Level» или «Unconnected». Revit не может придрать стену, если её верх жестко зафиксирован уровнем. Смените Top Constraint на Unconnected, затем Attach.
Как получить площадь кровельного покрытия без площади слуховых окон и янов?
В спецификации крыш добавьте фильтр: «Тип крыши» не равен типу слухового окна (если они отдельные типы) или используйте параметр «Комментарии»/пользовательский параметр «Участок кровли» для группировки. Площадь янов входит в Area склонов — это правильно для материала покрытия, но для стропильной системы яны часто считают отдельно по длине (Hip/Ridge Length).
Крыша по форме (Roof by Face) экспортируется в IFC как BuildingElementProxy, а не IfcRoof. Как исправить?
В настройках экспорта IFC (File → Export → IFC → Modify Setup) найдите категорию Roofs в таблице Category Mapping. Убедитесь, что для подкатегории, на которую повешена система крыши по форме, задан IFC Class = IfcRoof. Часто система создаётся на подкатегории Mass, которая маппится на IfcBuildingElementProxy — переназначьте или создайте отдельную подкатегорию для Roof by Face.
Можно ли сделать вентиляционный зазор в структуре крыши, чтобы он не считался в объёмах материалов?
Да. В диалоге Edit Assembly добавьте слой с функцией Air Layer (или Thermal/Air) и толщиной зазора. В настройках материала для этого слоя установите Density = 0 и Cost = 0. В спецификации материалов (Material Takeoff) он не появится, но в сечении и высоте конструкции будет учтён.
Как моделировать коньковую балку, которая должна резать склоны крыши?
Смоделируйте балку как Structural Framing. Используйте инструмент Cut Geometry (Вырезать геометрию) или Join Geometry с приоритетом материала балки выше, чем у слоя Structure крыши. Балка должна быть смоделирована до моделирования крыши или крыша должна быть перестроена (Recreate) после установки балки, чтобы склоны «обтекали» её профиль.