Что такое IFC и зачем он нужен

Расшифровывается как Industry Foundation Classes. Задача у формата одна: передать модель объекта так, чтобы её открыла любая программа. Не «картинку», а именно модель — с элементами, размерами, свойствами и связями.

Потребность возникла из простой проблемы. Архитектор работает в ArchiCAD, инженер в Revit, сметчик в чём-то третьем. Отправить RVT инженеру можно, но он его не откроет. Нужен был общий язык — им и стал IFC.

Как устроен файл

Технически это текст по стандарту STEP. Открывается блокнотом, и вы увидите строки вида #123= IFCWALL(...) — сущности с параметрами и ссылками друг на друга.

Шапка файла содержит служебную информацию: версию схемы, имя программы-экспортёра, дату. Если файл не открывается, начинать диагностику стоит именно с шапки — она видна в любом текстовом редакторе.

Практический трюкПереименуйте .ifc в .txt и откройте. Если первые строки содержат ISO-10303-21, файл цел. Если внутри «PK» — это архив, а не модель.

Структура модели: от проекта до элемента

Внутри IFC объекты связаны иерархией. Понимание этой цепочки объясняет, почему в просмотрщиках есть «дерево».

  1. IfcProject — корень: сам проект, единицы измерения, контекст.
  2. IfcSite — площадка, привязка к местности.
  3. IfcBuilding — здание.
  4. IfcBuildingStorey — этаж. Если этих узлов нет, дерево получается плоским.
  5. IfcSpace — помещения, если их выгружали.
  6. Элементы — стены, трубы, воздуховоды, оборудование.

Когда говорят «в модели нет этажей», речь именно об отсутствии IfcBuildingStorey, а не о том, что геометрия нарисована в один уровень.

Классы: язык элементов

Каждый элемент имеет класс. Их сотни, но в инженерии повторяются десятки.

КлассЧто это
IfcWallСтена
IfcSlabПерекрытие, плита
IfcPipeSegmentУчасток трубопровода
IfcDuctSegmentУчасток воздуховода
IfcPump, IfcValveНасос, арматура
IfcBuildingElementProxy«Что-то», класс не определён

Последняя строка — самая показательная. Если вся инженерия выгружена как Proxy, значит экспортёр не смог сопоставить элементы, и структура потеряна ещё до того, как файл открыли.

Свойства, наборы и GUID

Геометрия без данных — просто объёмная картинка. Данные живут в наборах свойств (property sets, pset): марка, тип, материал, система, характеристики.

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

Версии: IFC2x3, IFC4 и IFC4.3

ВерсияОсобенностьКогда выбирать
IFC2x3Самый совместимыйПо умолчанию, если получатель не уточнял
IFC4Больше возможностей, лучше работа с инженериейКогда обе стороны его поддерживают
IFC4.3Добавлена инфраструктура: дороги, мосты, сетиДля линейных объектов

Правило простое: версию диктует получатель. Отдать IFC4 тому, у кого старый просмотрщик, — значит получить «файл не открывается» вместо спасибо.

Почему модели такие тяжёлые

IFC описывает геометрию аналитически: не готовыми треугольниками, а параметрами (радиус, толщина, профиль). При открытии движок превращает это в сетку — и вот на этом шаге простая с виду модель может вырасти в разы.

Отсюда практический вывод: вес файла не равен тяжести просмотра. Модель на 40 МБ с тысячами мелких деталей грузится дольше, чем 100-мегабайтная с крупными плоскостями.

Частые вопросы

IFC — это текстовый или бинарный формат?

Текстовый. Файл .ifc — это описание на языке STEP (ISO 10303-21): его можно открыть обычным текстовым редактором и увидеть строки сущностей.

Чем IFC отличается от RVT или DWG?

IFC — открытый формат обмена, который читают разные программы. RVT и DWG — форматы конкретных вендоров: они хранят больше «родной» информации, но требуют соответствующей программы.

Какая версия IFC актуальна?

IFC4 и его развитие IFC4.3 для инфраструктуры. При этом IFC2x3 до сих пор широко используется, потому что поддерживается везде.

Почему IFC-файл больше исходной модели?

Формат текстовый и подробный: координаты и параметры записываются словами, без компактного сжатия. Плюс геометрия описывается аналитически, а не готовой сеткой.

Что такое GUID в IFC?

Уникальный идентификатор элемента. По нему модель сопоставляется между ревизиями: с его помощью работают сравнение версий и обновление данных.

Посмотреть, как это выглядит вживую

Откройте любую модель в браузере и загляните в дерево и свойства — устройство формата становится понятнее на конкретном файле.

Открыть IFC в браузере

Темы материала: свойства и данные · открыть и посмотреть