ENH: Better handling of import class mapping tables
- Dominant language
- C#
- Stars
- 637
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
### Enhancement Description
## Context
We often receive IFC files with MEP elements where the elements are only loosely classified by generic IFC classes like ```IfcFlowSegment``` (instead of e.g. ```IfcDuctSegment```). When consultants are unable or unwilling to provide more precise classifications of their elements, we have to take matters into our own hands. To improve the mapping to Revit categories we have therefore created multiple import class mapping tables (e.g. one specific for HVAC models etc.).
## Problem description
The main challenges of using these tables are:
- User needs to (remember to) navigate to Open > IFC Options first
- User needs to repeat this workflow when receiving an updated version of the model
- The IFC import settings dialog has no ability to store a list of tables to pick from
## Proposed changes
- Add the possibility of managing multiple import class mappings in the Import IFC Options dialog (either per model via ```DataStorage``` or per user via Revit.ini - I'd actually prefer the latter so we could deploy all our standard tables to all users)
- Add the ability to set one of those class mappings as the default
- Add a dropdown for picking a class mapping in the Link IFC dialog
- Have models generated from linking an IFC remember which class mapping was used so the same mapping file is used when the IFC file is updated and the Revit model gets re-generated
### Revit Version
2024.0.x
### IFC for Revit Addon Version
24.x.x
### Windows Version
10 22H2
Contributor guide
Research direction
Start by reviewing the Import IFC Options dialog and Link IFC dialog, then trace how class mapping tables are currently selected and how DataStorage or Revit.ini could retain them. Done means users can manage multiple mappings, choose a default, select one while linking, and preserve that choice when the linked IFC model is regenerated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100