ENH: Export multiple levels as one IfcBuildingStorey
- 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
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