Autodesk / Autodesk/revit-ifc

ENH: Ability to reference external export class mapping

Open
#840 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
637
Forks
225
PR merge metrics
No merged PRs in 30d

Description

### Enhancement Description

## Context
In Revit 2025, the ability to set export class mapping was moved from the File menu to the IFC export settings. This is generally a great idea since different projects require different IFC schemas for export.

However, along with this, the way the export class mapping is referenced has changed from file-based to DataStorage object.

## Problem description
Unfortunately, this approach doesn't scale very well. Since the class mapping is now stored in the model there are some dire consequences:
- Class mappings need to be stored in **every** model. (For new projects this can be remedied by including the class mappings in the project template, but not for upgrading from previous Revit versions...)
- In case of any changes, class mappings need to be updated in **every** model.

This is not an issue if you deal with only five models but is no joke if you're dealing with hundreds.

## Proposed change
As an alternative, allow users to specify the class mapping **as a name _or_ a path** in the export settings JSON file.

So both ```"CategoryMapping": "myIFCClassMapping_IFC2x3"``` and ```"CategoryMapping": "C:\myfolder\myIFCClassMapping_IFC2x3.txt"``` would work.

### Revit Version

2024.0.x

### IFC for Revit Addon Version

24.x.x

### Windows Version

11 22H2

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the export settings JSON reads CategoryMapping and how the current Revit 2025 DataStorage-based class mapping is resolved. Compare the proposed mapping name and Windows path forms, then verify that both external references work without requiring mappings in every model.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.