Autodesk / Autodesk/revit-ifc

ENH: Better handling of import class mapping tables

Open
#798 3 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
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.