Что такое IFC и зачем он нужен
Расшифровывается как Industry Foundation Classes. Задача у формата одна: передать модель объекта так, чтобы её открыла любая программа. Не «картинку», а именно модель — с элементами, размерами, свойствами и связями.
Потребность возникла из простой проблемы. Архитектор работает в ArchiCAD, инженер в Revit, сметчик в чём-то третьем. Отправить RVT инженеру можно, но он его не откроет. Нужен был общий язык — им и стал IFC.
Как устроен файл
Технически это текст по стандарту STEP. Открывается блокнотом, и вы увидите строки вида #123= IFCWALL(...) — сущности с параметрами и ссылками друг на друга.
Шапка файла содержит служебную информацию: версию схемы, имя программы-экспортёра, дату. Если файл не открывается, начинать диагностику стоит именно с шапки — она видна в любом текстовом редакторе.
Структура модели: от проекта до элемента
Внутри IFC объекты связаны иерархией. Понимание этой цепочки объясняет, почему в просмотрщиках есть «дерево».
- IfcProject — корень: сам проект, единицы измерения, контекст.
- IfcSite — площадка, привязка к местности.
- IfcBuilding — здание.
- IfcBuildingStorey — этаж. Если этих узлов нет, дерево получается плоским.
- IfcSpace — помещения, если их выгружали.
- Элементы — стены, трубы, воздуховоды, оборудование.
Когда говорят «в модели нет этажей», речь именно об отсутствии 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 в браузереТемы материала: свойства и данные · открыть и посмотреть