Autodesk / Autodesk/revit-ifc

ENH: Export multiple levels as one IfcBuildingStorey

Open
#794 4 comments 2 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

# Current export behaviour
Any elements assigned to a level that is not declared as a building storey are assigned to the closest level below that has that attribute. That behaviour can be overridden on a per element basis using the ```IfcSpatialContainer``` parameter and the target level name as a value.

# Proposed change
If the ```IfcSpatialContainer``` parameter is assigned to a level (instead of a single element), assign all of the elements on that level to the target level specified in the parameter value. This would make managing export levels a lot easier.

# Use case
In Germany, we typically use multiple levels per storey in Revit (top of finished floor, top of floor slab, maybe even more depending on client request, e.g. bottom of floor slab). However when exporting to IFC, we need the elements of those different levels to end up on the same building storey. Generally, the finished floor is the desired level to represent the building storey, but this results in the elements on the floor slab level being exported to the storey below by default. As stated above, we are aware that we can control this export behaviour on a per element level and, yes, we can automate this with a script but why should it have to be so hard?

### 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 tracing how the exporter reads the IfcSpatialContainer parameter and assigns elements to building stores, comparing element-level handling with level-level handling. Done means assigning all elements on a level to the target level named by that level's parameter while preserving the existing behavior otherwise; no files or tests are named in the issue.

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
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.