Мэпинг параметров и категорий IFC - CIVIL
Гость из угла у камина
БиО и ПС самые простые модели - в части параметризации, но о них мало говорят.
Когда вы создадите ваши модели, вам потребуется до финального шага сделать две вещи - добавить параметры, и мепинг категорий.
Мепинг\добавление параметров

Прежде, чем что либо заполнять - надо сначала создать группу и параметры в ней, а затем присвоить элементам.
Сначала перейдите на вкладку Управление, выберите "Определить наборы характеристик". В появившемся окне кликните правой кнопкой мыши и создайте "Группу для параметров". Название указывайте как в требованиях для АГР, у меня на скриншоте это RUS_ГРУППА.
Затем на вкладке "Применяется к" нужно выбрать перечень элементов для которых можно будет добавить эти параметры (аналог категория в Revit)
И уже на вкладке "Определение" - вы создаете через кнопки 5 - нужные вам параметры

А теперь применим нашу "Группу с параметрами к элементу". Выберем элементы, перейдем на вкладку Дополнительно (в окне Свойств).
Через кнопку 2 откроем меню добавления, выберем нужные группы и всё готово.
Если на этом этапе у вас кнопка не активна - значит вы не добавили элементы на вкладке "Применяется к" из предыдущего шага.
Мэпинг категорий
При стандартной выгрузке элементов из Civil - у вас часто все они будут попадать в категорию IfcProxyElementGeometry - что нас не устраивает, при этом стандартными инструментами, я не нашел как починить данну. проблему, поэтому:
Идём на оффициальный сайт Autodesk и через дебри и личный кабинет скачиваем себе IFC 4.3 Import/Export Extension for Civil 3D или идем на Я.Диск где в архив я выкачал последние 3 версии этого плагина.
После установки, у нас на вкладке "Надстройки" появятся заветные кнопки с экспортом в IFC.

Теперь, если мы будем выгружать через этот плагин - по умолчанию, у нас будет сразу нужная нам категория IfcBuildElement
Но если не получилось - смотрим что можно сделать дальше:
Нажимаем на кнопку "Save Mapping". Эта команда создаст файл IfcInfraExportMapping.json в папке с вашим текущим чертежом - где будет происходить мэпинг категорий.
Далее, если вы нажмете "Export to IFC" - вашим элементам внутри CIVIL будут добавлены параметры IFCExportAS - до этого они могли не отображаться.
И теперь вы можете либо вручную, через параметр IFCExportAS указать категорию, либо внутри файла JSON указать правила
Синтаксис JSON
Файл содержит JSON-массив объектов. Каждый объект - это одно правило, состоящее из трех ключевых полей.
[
{
"Name": "Название_объекта_или_код",
"IfcExportAs": "IFCКласс.Подтип",
"Export": true
},
{
"Name": "Еще_один_объект",
"IfcExportAs": "IfcBuildingElementProxy",
"Export": true
}
]
"Name" (строка): Это имя или код объекта Civil 3D, к которому вы хотите применить правило. Это может быть имя слоя, код связи (Link Code), код формы (Shape Code) или имя самого объекта
Важно: "Name" поддерживает регулярные выражения (regex). Это мощный инструмент, который позволяет создавать гибкие правила. Например, "Name": ".*_Опора" применит правило ко всем объектам, чье имя заканчивается на _Опора"IfcExportAs" (строка): Здесь вы указываете, в какой класс IFC превратить объект . Это именно то, что мы обсуждали в прошлый раз. Синтаксис такой:
- Просто класс:
"IfcFooting" - Класс с подтипом:
"IfcAnnotation.StringLine"(как в примере Autodesk) . - Пользовательский тип:
"IfcBuiltElement.UserDefined"
"Export" (логическое значение): Определяет, будет ли объект экспортироваться. true - экспортировать, false - исключить из выгрузки
Система обрабатывает правила в строго определенном порядке. Это важно, так как правило, найденное на позднем этапе, переопределяет найденное на раннем .
- Этап 1: "Умное" предположение - Civil 3D сам пытается угадать класс на основе типа объекта (например, коридор станет
IfcRoad). - Этап 2: По имени слоя - система ищет правило, где
"Name"совпадает с именем слоя объекта. - Этап 3: По кодам (только для коридоров) - для объектов коридора система ищет правила, где
"Name"совпадает с кодом точки, связи или формы . - Этап 4: Применение вашего JSON-файла - применяются правила из вашего
IfcInfraExportMapping.json
Ваш JSON-файл имеет самый высокий приоритет. Правила, которые вы в него запишете, будут иметь приоритет над всеми встроенными настройками Civil 3D.
Пример 1: Переназначить класс для всех объектов на слое "CUT-SLOPE"
Вот как будет выглядеть правило, которое найдет все объекты на слое CUT-SLOPE и назначит им класс IfcFill (насыпь):
{
"Name": "CUT-SLOPE",
"IfcExportAs": "IfcFill",
"Export": true
}
Пример 2: Переназначить класс для всех форм (Shape) с кодом "PAVEMENT"
Это правило применится ко всем формам в коридоре, у которых код равен PAVEMENT, и назначит им специальный класс IfcPavement (дорожное покрытие
{
"Name": "PAVEMENT",
"IfcExportAs": "IfcPavement",
"Export": true
}