STEP отлично описывает деталь как геометрию, но BIM-модель здания такую деталь не примет: Revit, Navisworks и AVEVA оперируют не «телами», а классифицированными элементами с атрибутами. Чтобы оборудование, кабельный лоток или фитинг встали в модель как полноценный объект, а не как немой кусок поверхности, STEP нужно перевести в IFC. Одной конвертации геометрии тут мало: придётся присвоить правильный IFC-класс и набор свойств. Ниже разбираем, зачем это нужно, почему прямой импорт STEP в Revit почти всегда плох и как выглядит корректный конвертер STEP в IFC. Перевести деталь в IFC с правильным классом и Property Set помогает НейроИнженер.
Зачем вообще переводить STEP в IFC
STEP (обычно AP242 или AP214) — это формат механического CAD. В нём лежат точные грани, рёбра, оси и иногда материал. Этого достаточно конструктору, который дорабатывает деталь, или технологу ЧПУ. Но в BIM-контуре деталь живёт иначе. Здесь объект здания обязан знать о себе три вещи: что он такое (класс), какие у него характеристики (Property Set) и где он стоит (привязка к осям и уровням здания).
IFC (Industry Foundation Classes) — это открытый стандарт ISO 16739
для обмена BIM-данными. Актуальная схема — IFC4. В IFC геометрия
всегда идёт в паре с семантикой: каждый элемент — это не «тело»,
а, например, IfcPump, IfcCableCarrierSegment
или IfcValve, у которого есть имя, обозначение, материал
и набор инженерных свойств. Именно поэтому нельзя просто «затащить»
STEP в модель здания: глухая геометрия не участвует в спецификациях,
коллизиях и расчётах, а только мешает.
Если коротко: STEP отвечает на вопрос «какой формы деталь», а IFC — на вопрос «каким элементом инженерной системы она является и что про неё нужно знать сметчику, проектировщику и эксплуатации».
Почему прямой импорт STEP в Revit — плохая идея
Revit формально умеет принимать SAT, а через сторонние плагины — и STEP. Технически файл откроется. Но результат почти всегда разочаровывает, потому что STEP приходит как форма без семантики. Вот что вы получаете при прямом «как загрузить STEP в Revit» через импорт геометрии:
- Объект без класса. Деталь становится обобщённой моделью (Generic Model / DirectShape) либо вообще импортированной геометрией. Для Revit это «нечто», а не насос, не лоток, не арматура.
- Нет параметров. Никакого обозначения, артикула, материала, ГОСТа. В спецификацию такой элемент не попадёт — нечего считать.
- Тяжёлая геометрия. BRep из STEP тащит все скругления, резьбы и мелкие фаски. Сотня таких деталей кладёт навигацию по модели и раздувает файл.
- Проблемы с единицами и привязкой. Миллиметры превращаются в метры, деталь улетает за тысячи метров от начала координат или ложится не на тот уровень.
Navisworks и AVEVA ведут себя аналогично: голую геометрию они покажут, но без классов и свойств она бесполезна для проверки коллизий, ведомостей и выгрузки в среду общих данных. Правильный путь один — отдавать в BIM не STEP, а IFC с проставленной семантикой.
Что теряется при прямом импорте — и что даёт IFC
| Что нужно BIM-модели | Прямой импорт STEP | Через IFC4 |
|---|---|---|
| IFC-класс элемента | Нет, Generic Model / DirectShape | Есть, например IfcCableCarrierSegment |
| Обозначение и наименование | Отсутствуют | В Property Set, попадают в спецификацию |
| Материал и ГОСТ/ТУ | Теряются | Атрибуты материала и свойства |
| Единицы измерения | Часто слетают (мм↔м) | Записаны явно в IFCUNITASSIGNMENT |
| Привязка к уровню/осям | Случайные координаты | Корректный IfcLocalPlacement |
| Вес модели | Полный тяжёлый BRep | Оптимизированная геометрия |
| Участие в коллизиях/ведомостях | Нет | Полноценное |
IFC-класс: главное решение при конвертации
IFC-класс (IfcEntity) задаёт, чем элемент работает в логике модели. От него зависит, в какую дисциплину попадёт объект, какие Property Set к нему применимы и как его увидят системы вроде Navisworks. Ошибка в классе — это арматура, посчитанная как воздуховод, или насос, не попавший в спецификацию оборудования.
Для механических деталей и инженерного оборудования чаще всего встречаются классы из доменов HVAC, Electrical и Plumbing. Базовая карта соответствий:
| Что за элемент | IFC4-класс | Комментарий |
|---|---|---|
| Кабельный лоток, короб | IfcCableCarrierSegment | Прямые участки трасс |
| Угол/тройник лотка | IfcCableCarrierFitting | Соединительные элементы трасс |
| Отвод, тройник, переход трубы | IfcFlowFitting / IfcPipeFitting | Фасонные части трубопровода |
| Прямой участок трубы | IfcPipeSegment | Трубопровод |
| Задвижка, клапан, кран | IfcValve | Трубопроводная арматура |
| Насос | IfcPump | Перекачивающее оборудование |
| Двигатель, привод | IfcElectricGenerator / IfcMotorConnection | Электрооборудование |
| Шкаф, щит | IfcElectricDistributionBoard | Распределительное оборудование |
| Опора, кронштейн, закладная | IfcDiscreteAccessory / IfcElementAssembly | Крепёж и сборки |
| Нетипизируемое оборудование | IfcDistributionElement / IfcBuildingElementProxy | Запасной обобщённый класс |
IfcBuildingElementProxy — последний рубеж: его берут,
когда подходящего специализированного класса нет. Но злоупотреблять
им нельзя, иначе модель снова превращается в набор «нечто», которое
не считается в спецификациях. Хороший конвертер STEP IFC старается
присвоить максимально конкретный класс.
Property Set: что должно попасть в атрибуты
IFC4 Property Set (Pset) — это именованный набор свойств, привязанный
к элементу. Часть из них стандартизована (Pset с префиксом
Pset_), часть можно задавать как пользовательские для
внутренних регламентов и российских норм. Для инженерного объекта в
атрибуты обязательно должны попасть:
- Обозначение — артикул/код по чертежу или каталогу. По нему элемент находят в спецификации и заказывают.
- Наименование — человекочитаемое название («Лоток лестничный 200×80»).
- Материал — сталь, нержавейка, ПВХ; задаётся и как свойство, и как IfcMaterial.
- ГОСТ/ТУ — нормативный документ, по которому изготовлен элемент. Критично для российской экспертизы.
- Типоразмер — DN, сечение, длина, номинал — то, что отличает один артикул серии от другого.
Если у вас целая серия типоразмеров, удобно вести её таблицей и генерировать варианты разом — об этом отдельно в материале серия деталей из таблицы. При экспорте в IFC каждая строка таблицы становится отдельным элементом со своим набором свойств.
Типичные проблемы конвертации и как их ловить
Даже корректный IFC легко испортить на этапе экспорта. Чаще всего при импорте оборудования в Revit и сборке модели в Navisworks всплывают четыре проблемы:
- Единицы измерения. STEP по умолчанию в
миллиметрах, IFC чаще ждёт метры. Если блок
IFCUNITASSIGNMENTне согласован с геометрией, лоток длиной 3 метра приедет трёхкилометровым. Проверяйте единицы первым делом. - Координаты и привязка. Деталь должна встать в нужную точку и на нужный уровень. Если базовая точка проекта не учтена, элемент улетает за десятки километров от модели здания — классический симптом «не вижу геометрию после импорта».
- Дубли геометрии. При наивном экспорте сборки одинаковые детали пишутся как уникальные тела вместо ссылок на общий тип (IfcTypeObject + IfcMappedItem). Файл раздувается, Revit тормозит. Повторяющиеся элементы должны идти через типы.
- Неверный IFC-класс. Самая дорогая ошибка: геометрия на месте, но арматура числится проходкой, насос — обобщённым телом. В модели вроде всё видно, а спецификация и коллизии врут.
Помните и про разницу форматов на входе: для BIM нужен именно параметрический STEP/BREP, а не сетка. Почему так — разобрано в статье STEP или STL. И отдельно про то, как чисто завести STEP в механический CAD без потерь, — импорт STEP в CAD.
Как это делает НейроИнженер
НейроИнженер экспортирует деталь или
оборудование сразу в IFC4 с проставленным IFC-классом и Property
Set'ами, а не отдаёт глухую геометрию. По описанию элемента ассистент
подбирает корректный класс — IfcCableCarrierSegment для
кабельного лотка, IfcValve для арматуры,
IfcPump для насоса — и заполняет атрибуты: обозначение,
наименование, материал, ГОСТ/ТУ, типоразмер.
На выходе получается файл, который Revit, Navisworks и AVEVA принимают как полноценный BIM-элемент: он попадает в спецификации, участвует в проверке коллизий, корректно встаёт по единицам и привязке. Это снимает ровно ту работу, которую иначе пришлось бы делать руками — переклассифицировать импортированную геометрию и вбивать параметры по одному.
Короткий чек-лист корректного IFC
- Класс максимально конкретный, а не Proxy «на всякий случай».
- Единицы измерения согласованы с геометрией.
- Координаты и уровень привязаны к модели здания.
- Обозначение, наименование, материал, ГОСТ, типоразмер — в Pset.
- Повторяющиеся элементы идут через типы, без дублей геометрии.
- Файл открывается в стороннем IFC-вьювере без ошибок схемы.
Если все шесть пунктов выполнены, оборудование встанет в модель как объект, а не как балласт — и проектировщику не придётся доводить его вручную после импорта.
Частые вопросы
Можно ли просто импортировать STEP в Revit без конвертации в IFC?
Технически да — через плагин или импорт SAT-геометрии. Но элемент придёт как обобщённая модель без класса, без параметров и с тяжёлой геометрией. В спецификацию он не попадёт, в коллизиях не учтётся. Для реальной BIM-работы нужен IFC с проставленным классом и Property Set, а не голая форма.
Чем IFC-класс отличается от Property Set?
IFC-класс задаёт, чем элемент работает в логике модели (IfcValve, IfcPump, IfcCableCarrierSegment) — от него зависит дисциплина и поведение объекта. Property Set — это набор свойств этого элемента: обозначение, материал, ГОСТ, типоразмер. Сначала выбирается правильный класс, затем он наполняется свойствами.
Почему оборудование «улетает» при импорте IFC в Navisworks или Revit?
Почти всегда дело в единицах или координатах. Если миллиметры прочитались как метры, объект становится огромным; если не учтена базовая точка проекта, он оказывается за километры от модели. Проверьте блок единиц измерения в IFC и привязку IfcLocalPlacement к уровню и осям здания.
Что обязательно класть в атрибуты инженерного элемента?
Минимум — обозначение (артикул), наименование, материал, ГОСТ или ТУ и типоразмер. По обозначению элемент находят в спецификации и заказывают, по типоразмеру отличают варианты серии, ГОСТ нужен для экспертизы. Без этих свойств элемент формально в модели есть, но в ведомостях бесполезен.