Блог Нико Гамсахурдия

Что увеличивает размер семейства Revit: восемь экспериментов с файлами .rfa

Один из факторов, которому при работе в Autodesk Revit часто уделяют недостаточно внимания, это размер файла семейства. Даже у внешне простого компонента внутри могут быть сложная геометрия, множество параметров, формул и вложенных семейств. Такая структура может влиять и на работу проекта.
В этом исследовании я хотел выяснить, какие элементы сильнее всего увеличивают размер файла семейства. Для этого я провёл серию экспериментов в Revit 2021 на основе шаблона Metric Generic Model Adaptive, последовательно меняя тип и количество добавляемых элементов.
Результаты я собрал в графики и таблицы, чтобы:
  • найти элементы, которые вносят наибольший вклад в размер файла;
  • сформулировать практические рекомендации по уменьшению размера семейств без потери нужной функциональности.

Методика исследования

Чтобы понять, что влияет на размер файлов .rfa, я использовал экспериментальный подход: менял по одному фактору и записывал, как изменился размер файла.
Элементы семейства, рассматриваемые в исследовании

Исходные условия

  • Шаблон: Metric Generic Model Adaptive.
  • Программа: Autodesk Revit 2021.
  • Размер файла измерял вручную в Проводнике Windows после очистки семейства.
  • Размер исходного файла без геометрии и параметров: около 416 КБ.
Исходные условия эксперимента в Revit 2021

Принцип эксперимента

  • Добавлял элементы одного типа, например 10 линий.
  • Сохранял семейство в новый файл.
  • Сравнивал его размер с исходным файлом.
  • Каждый тест начинал с чистой копии, чтобы не переносить остаточные данные предыдущего сценария.

Тест 1. Влияние линий, плоскостей и точек на размер семейства

В этом разделе рассматриваются четыре типа элементов, которые часто используются в семействах, но сами по себе не создают полноценное трёхмерное тело:
  • Линии модели, Model Lines.
  • Опорные линии, Reference Lines.
  • Опорные плоскости, Reference Planes.
  • Адаптивные точки, Adaptive Points.
Для каждого типа я проверил четыре уровня количества элементов, от нуля до ста. Результаты приведены ниже.

Влияние 2D-элементов на размер файла .rfa

График влияния линий, плоскостей и адаптивных точек на размер файла
Таблица размеров файлов для линий, плоскостей и адаптивных точек

Выводы

  • Линии и точки в большинстве проверенных случаев мало увеличивали размер файла, даже при количестве 100. Типичный прирост составлял от 4 до 16 КБ.
  • Самый большой прирост в этой группе дали опорные линии: до 8,6% относительно исходного файла. Возможное объяснение связано с дополнительными данными о направлении, ориентации и положении. Сам тест размера файла не проверял это объяснение отдельно.
  • Опорные плоскости и адаптивные точки были близки к линиям модели по небольшому увеличению размера.
  • При количестве в несколько десятков эти элементы не стали заметным источником роста файла. Когда элементов сотни или тысячи, структуру семейства стоит проверить отдельно; результаты теста до 100 элементов не заменяют такую проверку.

Тест 2. Влияние окружностей на размер семейства

Окружность сложнее прямой линии: для её описания нужны данные о радиусе, центре, угле дуги и ориентации. Однако в проведённых экспериментах влияние окружностей на размер файла оказалось небольшим.

Какие окружности я проверял

  • Окружности из линий модели, Model Curves. Они строятся на рабочих плоскостях и используются как геометрические элементы модели.
  • Опорные окружности, Reference Circles. Это замкнутые опорные кривые, которые могут помогать при построении форм и служить вспомогательной геометрией.

Влияние количества окружностей на размер файла

График зависимости размера файла от количества окружностей
Таблица размеров файлов для окружностей модели и опорных окружностей

Выводы

  • Как и прямые линии, окружности мало влияли на размер файла в этом тесте. Даже 100 окружностей добавляли около 16 КБ.
  • Заметной разницы между окружностями модели и опорными окружностями не было. Их вклад в размер файла оказался одинаковым в проверенных сценариях.
  • Поэтому для графики и вспомогательных построений окружности в таком количестве не стали существенным источником увеличения файла.
  • Граница теста: здесь не проверялись трёхмерные формы на основе окружностей, например тела вращения, элементы по траектории или круговые массивы. Трёхмерная геометрия рассматривается отдельно.

Тест 3. Влияние сплайнов по точкам на размер семейства

Сплайн представляет собой кривую, проходящую через последовательность точек. В адаптивных семействах Revit сплайны часто используют для сложной геометрии и построения поверхностей. В этом эксперименте я проверил, как количество точек сплайна влияет на размер итогового файла .rfa.
Я рассмотрел два варианта:
  • Сплайн модели, Model Spline. Кривая, используемая при построении геометрии.
  • Опорный сплайн, Reference Spline. Направляющая или управляющая кривая, которая может влиять на форму косвенно.

Влияние количества точек сплайна на размер файла

График зависимости размера файла от количества точек сплайна
Таблица размеров файлов для сплайнов модели и опорных сплайнов

Выводы

  • При большом количестве управляющих точек, около 100 и более, вклад сплайна в размер файла становится заметнее.
  • Даже без создания трёхмерной формы одна кривая со 100 точками в тесте добавляла около 28 КБ. Это больше, чем типичные линии и окружности в предыдущих сценариях.
  • Сплайны модели и опорные сплайны дали одинаковый прирост. Это согласуется с предположением, что для обоих вариантов сохраняются данные формы и управляющих точек. Внутренний формат хранения этим тестом отдельно не исследовался.

Тест 4. Влияние трёхмерной геометрии на размер семейства

Трёхмерные тела составляют основу многих семейств Revit. Для их создания используются выдавливание, вращение, построение по траектории и более сложные адаптивные формы на основе сплайнов. В этом тесте я сравнил, как вид и количество трёхмерных элементов влияют на размер файла .rfa.
В эксперименте использовались следующие формы:
  • Куб размером 1 × 1 × 1 м.
  • Шестиугольная призма.
  • Цилиндр.
  • Сфера.
  • Тело на основе сплайна, построенное по криволинейной траектории.

Влияние трёхмерной геометрии на размер файла

График влияния трёхмерных форм на размер файла семейства
Таблица размеров файлов для кубов, призм, цилиндров, сфер и тел на основе сплайна

Выводы

  • Трёхмерные формы дали самый большой прирост размера среди рассмотренных типов элементов.
  • Простая геометрия, например куб или цилиндр, в отдельных сценариях добавляла примерно от 4 до 8 КБ на элемент. При увеличении количества, например до 100, прирост уже нельзя было описать одним постоянным значением на объект.
  • Сложная геометрия на основе сплайнов дала наибольший результат: около 1,3 МБ дополнительного размера при 100 элементах. Это самый большой прирост среди отдельных типов геометрии в этой таблице.
  • Сфера оказалась наиболее лёгкой из рассмотренных сложных форм. В исходном разборе я связывал это с её замкнутостью и симметрией; отдельно механизм хранения не проверялся.
  • Шестиугольные призмы занимали больше места, несмотря на простую форму. Предполагаемая причина связана с большим количеством граней и рёбер.

Тест 5. Влияние параметров на размер семейства Revit

Параметры управляют поведением, внешним видом и вариантами семейства. В этом эксперименте я проверил, как увеличение количества параметров, в том числе параметров семейства, общих параметров и параметров типа, влияет на размер файла .rfa.
Для сценария с зависимостями я использовал простую формулу последовательности Фибоначчи. Она позволяла последовательно добавлять вычислительные зависимости, сохраняя понятную структуру. Так можно было увеличивать сложность семейства за счёт параметров, не добавляя новую геометрию и вложенные элементы.

Влияние количества параметров без геометрии

График влияния количества параметров без геометрии на размер файла
Таблица размеров файлов при разном количестве параметров без геометрии
Небольшое наблюдение из эксперимента: я решил построить последовательность Фибоначчи через параметры, чтобы получить непрерывную цепочку зависимостей. Дошёл до 1000, и Revit, к моему удивлению, посчитал её довольно быстро. Это субъективное наблюдение, а не отдельный замер времени вычисления.
Параметры с формулами последовательности Фибоначчи в Revit

Влияние параметров, связанных с геометрией

График влияния параметров, связанных с геометрией, на размер файла
Таблица размеров файлов с параметрами, связанными с геометрией
Пример волнообразной геометрии, управляемой формулой
В этом варианте я связал геометрию с формулой, чтобы получить волнообразную форму.

Выводы

  • Без геометрии умеренное количество параметров мало влияло на размер файла. Добавление 10 или 100 параметров давало небольшой прирост.
  • Однако при 1000 параметров размер увеличился примерно на 50%, даже без формул.
  • В сценариях с геометрией вклад дополнительных параметров был больше. Возможное объяснение связано с зависимостями между параметрами и элементами геометрии.
  • В проверенном сценарии со 100 параметрами, связанными с геометрией, размер оставался меньше 800 КБ. Это наблюдение относится к конкретному семейству и не задаёт универсальный допустимый размер сложного семейства.

Тест 6. Влияние типоразмеров на размер файла

Типоразмеры семейства, или типы, задают сохранённые сочетания значений параметров, между которыми можно переключаться в проекте. Само добавление типоразмера не создаёт отдельную копию всей геометрии. Но при большом числе вариантов возникает вопрос: насколько растёт файл .rfa?
Я сравнил семейства с одинаковой геометрией и параметрами, меняя только число типоразмеров: от 1 до 100.

Влияние количества типоразмеров на размер файла

График зависимости размера файла от числа типоразмеров
Таблица размеров файлов при разном числе типоразмеров
Точные значения могут отличаться в зависимости от количества параметров, связанных с каждым типоразмером.

Выводы

  • Число типоразмеров влияет на размер файла, но в этих тестах рост был умеренным. Для 100 типоразмеров прирост оставался в пределах примерно от 80 до 100 КБ.
  • Типоразмер можно представить как набор значений параметров. Полученные размеры согласуются с компактным хранением этих данных, но способ их сжатия отдельно не измерялся.
  • Если типоразмеры управляют видимостью геометрии через условные параметры, влияние на размер может быть больше. Этот случай нужно рассматривать вместе со сценарием параметров, связанных с геометрией.
  • Добавление типоразмеров не равнозначно дублированию геометрии. В проверенных сценариях увеличение было предсказуемым и умеренным.

Тест 7. Влияние вложенных семейств на размер файла

Вложенные семейства позволяют собирать сложные компоненты из повторно используемых частей. При этом в основном файле .rfa сохраняется содержимое вложенного семейства, включая геометрию, параметры и определения типов. Это удобно для построения структуры, но может заметно увеличить размер файла.
В эксперименте я сравнил:
  • Разную глубину вложенности: один, два и три уровня.
  • Разное количество экземпляров одного вложенного семейства, чтобы отделить влияние числа копий от самого факта вложенности.

Влияние вложенных семейств на размер файла

График влияния вложенности семейств на размер файла
Таблица размеров файлов при разной глубине вложенности и числе экземпляров

Выводы

  • В исходном тексте основной скачок связывается с добавлением вложенного семейства: для одного экземпляра с одним уровнем вложенности указан прирост около 100 КБ. Однако подробная таблица выше показывает 420 КБ при одном экземпляре и 416 КБ для пустого файла. Эти представления расходятся; утверждение о приросте около 100 КБ для одного экземпляра нельзя подтвердить по этой таблице.
  • Влияние числа экземпляров требует уточнения по исходным файлам. В исходном тексте разница между 1 и 100 копиями названа равной 36 КБ. В подробной таблице для одного уровня вложенности указаны 420, 528 и 564 КБ при 1, 10 и 100 экземплярах соответственно. Поэтому прирост от 1 до 100 здесь равен 144 КБ, а 36 КБ соответствует переходу от 10 до 100. Исходные изображения сохранены без исправления значений.
  • Увеличение глубины вложенности заметно увеличивало файл даже при одном вставленном компоненте. В сценарии с тремя уровнями размер был около 868 КБ против 420 КБ у базового варианта этого сравнения.
  • Результаты показывают, что каждый дополнительный экземпляр не добавляет размер полного вложенного семейства заново. В исходном разборе это описано как сохранение общей структуры с повторным использованием её экземплярами.

Тест 8. Влияние очистки на размер файла

В файлах .rfa могут оставаться скрытые или неиспользуемые данные: типы линий, штриховки, материалы, виды и другие элементы. Они не обязательно видны в модели, но могут занимать место в файле.
Для этого теста я вручную добавил в семейство лишние данные, включая неиспользуемые стили, виды и вложенные компоненты. Затем удалял их поэтапно и сравнивал размер файла.

Влияние удаления неиспользуемых данных на размер файла

График изменения размера файла при поэтапной очистке
Таблица размеров файла после удаления неиспользуемых данных

Выводы

  • Наибольший эффект в этом тесте дало удаление неиспользуемых семейств и стилей. Два этапа, Purge Families и Clean Up Styles, позволили уменьшить файл более чем на 100 КБ.
  • Удаление видов дало меньшую экономию. Это касается, например, оставшихся чертёжных видов и шаблонов.
  • Материалы, штриховки и типы линий по отдельности влияли мало, но вместе в рассматриваемом сценарии составляли от 5 до 10% размера.
  • В исходной публикации также предложено рассматривать Revit Lookup, Dynamo и pyRevit для поиска и обработки лишних данных. Возможность удалить ещё несколько килобайт зависит от конкретного содержимого семейства; универсального результата для этих инструментов тест не устанавливает.

Проверяемые таблицы и данные для скачивания

Ниже приведены выбранные значения из опубликованных таблиц этого исследования. Полная выгрузка содержит 76 значений размера файла из девяти таблиц. Это расшифровка таблиц, а не новые измерения и не исходный журнал эксперимента.

Испытания описаны для Autodesk Revit 2021 и шаблона Metric Generic Model Adaptive. Размер файла проверялся в Проводнике Windows. Исходный размер в статье около 416 KB. Сравнивайте строки с учётом количества и типа объектов: 100 форм и 1000 параметров являются разными сценариями.

Выбранные значения из опубликованных таблиц Revit 2021
СценарийКоличество или этапРазмер, KBИсточник
Линии модели100 элементов432Таблица
Опорные линии100 элементов452Таблица
Опорные плоскости100 элементов432Таблица
Адаптивные точки100 элементов432Таблица
Окружности модели100 окружностей432Таблица
Сплайн модели100 управляющих точек444Таблица
Кубы100 форм760Таблица
Формы на основе сплайна100 форм1740Таблица
Параметры без геометрии1000 параметров624Таблица
Параметры, связанные с геометрией100 параметров784Таблица
Типоразмеры семейства100 типоразмеров≈500Таблица
Кубы, 3 уровня вложенности100 экземпляров936Таблица
Завершение очистки, Revit LookupПоследний этап296Таблица

Область применимости

  • Исследуется размер сохранённого файла, а не скорость работы Revit или потребление памяти. Результаты нельзя автоматически переносить на любое семейство или новую версию Revit.
  • Обозначение KB сохранено как в исходных таблицах. Размеры округлены; точное число байтов по ним восстановить нельзя. Знак ≈ сохранён там, где источник помечает значение как приблизительное.
  • Исходные .rfa-файлы и журналы измерений не приложены к опубликованному материалу и в эту выгрузку не включены. Каждая строка ссылается на изображение таблицы, по которому её можно проверить.
  • Выгрузка воспроизводит ячейки размера файла. Она не переносит неоднозначные колонки среднего или пошагового роста. Для вложенных семейств взяты подробные таблицы, а не нормализованное начало графика.

Скачать все значения

CSV содержит 76 строк. В JSON строки сгруппированы по таблицам; названия колонок заданы в row_columns, ссылки на источники в metadata.source_tables. Все 76 значений сохранены. Пустое количество у этапа очистки не означает ноль элементов.

Как сослаться

Гамсахурдия, Н. (2025). What Makes a Revit Family Heavy? A Deep Dive into File Size. Исследование в Revit 2021. Расшифровка опубликованных таблиц transcription-1.0, подготовлена 6 ноября 2026 года. Дата статьи: 14 апреля 2025 года.
https://nikog.net/blog/file-size-matters-what-makes-a-revit-family-heavy

Автор: Niko Gamsakhurdiya. Выгрузка не является повторным тестом в 2026 году.

Общее сравнение факторов

Ниже собраны результаты всех сценариев и сравнение факторов, которые сильнее всего повлияли на размер .rfa. Основная исходная точка исследования: около 416 КБ.

Итоговая таблица влияния на размер файла

Итоговая таблица влияния разных факторов на размер семейства Revit

Основные выводы

  1. Сложная трёхмерная геометрия даёт самый большой прирост. Формы на основе сплайнов и сложных поверхностей заметно увеличивают файл. Для 10 тел на основе сплайна таблица показывает рост от исходных 416 до 560 КБ, то есть на 144 КБ. Если детализация не нужна для выпуска документации, её стоит упростить.
  2. Вложенность увеличивает размер семейства. Вместе с компонентом сохраняются его геометрия, параметры и типы. В зависимости от глубины и содержимого один вложенный компонент в исходном сравнении мог добавлять до 400 КБ.
  3. Связь параметров с геометрией требует внимания. Отдельные параметры при умеренном количестве относительно компактны. Геометрические зависимости и условная видимость могут заметно увеличить размер; сценарий со 100 параметрами и логикой видимости в исходном разборе приближался к удвоению файла. При этом и 1000 параметров без геометрии уже дали рост около 50%.
  4. Линии, плоскости и типоразмеры повлияли меньше сложной геометрии. Их не нужно удалять только ради небольшого уменьшения файла, если они нужны для работы. Одновременно стоит избегать ненужных стилей и лишних видов.
  5. Очистка может дать результат без изменения нужной геометрии. В тестовом семействе удаление лишних видов, типов линий, материалов и неиспользуемого содержимого позволило убрать более 100 КБ. Перед передачей файла полезно проверить, какие данные действительно не используются.

Практические рекомендации по оптимизации

Рекомендации по оптимизации семейств из исходной публикации

Заключение

Исследование рассмотрело основные элементы, которые влияют на размер файлов .rfa. В проведённых сценариях на него влияли:
  • Количество и сложность трёхмерной геометрии.
  • Использование вложенных компонентов.
  • Количество параметров, особенно связанных с геометрией и условной видимостью.
  • Неиспользуемые данные. В исходной публикации для загрязнённого тестового семейства отмечен возможный прирост размера на 30% и более; это не оценка для любого семейства.
При умеренном количестве параметры, формулы и типоразмеры сами по себе обычно давали небольшой вклад в этих сценариях. Больше внимания требует сочетание сложной геометрии, вложенности и многочисленных зависимостей.
Хорошее семейство делает то, что нужно для задачи, и остаётся понятным и удобным в работе.
Оптимизация семейства помогает и следующему человеку, которому предстоит использовать ваш файл. Размер .rfa полезен как одна из характеристик, но удобство и скорость работы нужно проверять отдельно в условиях реального проекта.
BIM Revit