revit-ifc icon indicating copy to clipboard operation
revit-ifc copied to clipboard

ENH: Customise spatial hierarchy

Open Moult opened this issue 6 months ago • 13 comments

Enhancement Description

Revit's spatial hierarchy seems to be hardcoded to IfcSite > IfcBuilding > IfcBuildingStorey.

A large number of the projects I work on have multiple sites and multiple buildings. I'm not aware of any way currently to configure this in Revit. Is it possible?

Similarly, for anybody working in infra, such as a bridge, I also don't think it's possible to export this.

Revit Version

2024.3.x

IFC for Revit Addon Version

26.1.0

Windows Version

11 24H2

Moult avatar Jun 19 '25 03:06 Moult

You may not have the latest version, but we let you change the spatial structure for ifc4.3 in the export settings. As far as multiple buildings, if you export a federated model where you share a common site, each revit file will correspond to one IfcBuilding. Currently there's no one to have multiple buildings in one RVT. That said, even that violates the rules of every existing MVD, which limits the number of buildings to 1. Being conscious of the existence of the validation service, how would you recommend to reconcile the two?

AngelVelezSosa avatar Jun 19 '25 11:06 AngelVelezSosa

we let you change the spatial structure for ifc4.3 in the export settings

In the export settings in Revit you cannot assign the designed object its type as IfcFacility. This is necessary when it is not possible to define the object as Building, Road, Rail, Bridge or MarineFacility, for example, for tunnels or underground passages. According to the IFC standard, the IfcFacility entity is a non-abstract class.

alexshilo avatar Jul 03 '25 08:07 alexshilo

@AngelVelezSosa I tried to check the IFC4 Reference View MVD and I couldn't find any rule that said that there is a limit of only one building.

Moult avatar Jul 03 '25 08:07 Moult

@alexshilo : we can add IfcFacility, @ArtemHnatko please file a JIRA item for this. @Moult : interesting. The way to specify multiple buildings, then, is to use one Revit file per building, link them into a host, and then export the host model as a federated IFC model using the same IfcSite. Then every link will be an IfcBuilding. There's no way in Revit to specify that one RVT file has objects that belong to multiple buildings.

AngelVelezSosa avatar Jul 03 '25 14:07 AngelVelezSosa

@AngelVelezSosa Thank you! Continuing my thought, it would be great to identify the type of the IfcFacility object using the classification code by using IfcClassificationReference. Many classification systems have a list of object types, but unfortunately now in Revit there is no way to link the classification directly to the designed object (not to its elements).

alexshilo avatar Jul 03 '25 14:07 alexshilo

What is your proposal for specifying it that way? Also, would it be language-dependent?

AngelVelezSosa avatar Jul 03 '25 14:07 AngelVelezSosa

This issue is also reported in Jira as "REVIT-238522" and is currently in the "Open" status.

ArtemHnatko avatar Jul 03 '25 17:07 ArtemHnatko

@AngelVelezSosa that solution might work for multiple buildings but doesn't work for multiple sites, or multiple files that make up one building, or multiple sub-buildings (i.e. east wing, west wing), or sub spaces (common in outdoor landscaping works).

Moult avatar Jul 04 '25 07:07 Moult

What is your proposal for specifying it that way?

@AngelVelezSosa I propose to implement the ability to add to IfcFacility (and its child classes) IfcClassificationReference with the IfcClassification specified, for example, by adding the corresponding fields in the export settings. It may look like this.

Image

@Moult I apologize for mixing up your issue, it just seems to me that the project structure is inextricably linked with the classification. I'm ready to move my topic to another thread, if you are against it.

alexshilo avatar Jul 04 '25 12:07 alexshilo

One possibility would be that each Revit file has the ability to specify a project GUID, a site GUID and a building GUID. We use those to decide what goes where. That doesn't work for multiple buildings in one file, but covers one building across multiple files. Would that be enough? Anything more probably should be core Revit, not IFC, work.

AngelVelezSosa avatar Jul 04 '25 12:07 AngelVelezSosa

Continuing with the topic of the project structure, it is also important to attributively determine the composition type of the building. It would be good to add this here

Image

information about this here: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcBuilding.htm#:~:text=A%20building%20is,%3A%20building%20section

alexshilo avatar Jul 04 '25 12:07 alexshilo

How about in the setup you can reference a JSON config file which can have your spatial hierarchy defined, with references to Revit element IDs of floor levels? (and also provide classification data)

Moult avatar Jul 04 '25 14:07 Moult

We are trying to get away from needing auxiliary files to define IFC. Of course, we can import and export configuration files, but we want to make sure that there is UX in the product that helps you set things up properly.

AngelVelezSosa avatar Jul 07 '25 13:07 AngelVelezSosa