ENH: Ability to reference external export class mapping
- 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
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