Autodesk / revit-ifc

IFC for Revit and Navisworks (2019+)
471 stars 193 forks source link

ENH: Export multiple levels as one IfcBuildingStorey #794

Open andydandy74 opened 1 month ago

andydandy74 commented 1 month ago

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

Moult commented 1 month ago

To get around this problem (and similar issues, such as various disciplines not even using storeys (like civil, in-ground services, landscaping, etc), we've started just deleting all spatial elements exported by Revit and modeling our own spatial envelopes in a separate IFC. We then use this envelope to reinject a new spatial hierarchy into the IFC models.

AngelVelezSosa commented 1 month ago

@andydandy74 : That does seem like a decent idea until we can get proper UI in place to make this easier to manage.

@Moult : That seems like overkill - doesn't that override the exporter's intents (which I would think would be fine for the vast majority of cases?) How do you handle situations like which level ceilings should be attached to? Also, for civil that doesn't use levels, is the spatial structure harmful or just an extra step?

Moult commented 1 month ago

@AngelVelezSosa it overrides the exporter's intents because Revit cannot deliver the spatial hierarchy that we needs because Revit limits each file to one site, one building. (so storeys cannot be distinguished between buildings too)

Our projects have multiple sites and buildings mixed within single files, and the spatial location drives construction work zones, cost codes, and asset operator location codes. So getting accurate location is really important - and the unfortunate reality is that across 15 companies working with their own models, it's like herding cats, they all use their own levels and names (and some are justified, like civil or maritime services).

Lendlease seems to have Autodesk contacts here in AUS, happy to demo what we're asked to deliver and how we manage to achieve it, and which are the biggest roadblocks (e.g. issues similar to this one).