Revit spatial hierarchy

From Wiki.OSArch

IfcSite[edit]

The following attributes may be set on the IfcSite. If you have a Toposurface object overriding your IfcSite object representation as detailed in Revit geolocation, the procedure is slightly different. Do not implement both procedures simultaneously. Note that in Revit, only a single IfcSite may exist. It is not possible to create multiple sites.

Attribute Name Required Procedure with Toposurface Procedure without Toposurface
Name Yes Create a new IfcName instance parameter, assigned to the Toposurface object. Create a new SiteName instance parameter, assigned to the Project Information object.
Description Create a new IfcDescription instance parameter, assigned to the Toposurface object. Create a new SiteDescription instance parameter, assigned to the Project Information object.
ObjectType Create a new IfcObjectType instance parameter, assigned to the Toposurface object. Create a new SiteObjectType instance parameter, assigned to the Project Information object.
LongName Yes Create a new IfcLongName instance parameter, assigned to the Toposurface object. Create a new SiteLongName instance parameter, assigned to the Project Information object.
LandTitleNumber Yes Create a new IfcLandTitleNumber instance parameter, assigned to the Toposurface object. Create a new SiteLandTitleNumber instance parameter, assigned to the Project Information object.
SiteAddress This may be set via File > Export > IFC > Modify setup > General > Project Address and checking Assign address to site. Same procedure as with Toposurface.

IfcBuilding[edit]

The following attributes may be set on the IfcBuilding. Note that in Revit, only a single IfcBuilding may exist. It is not possible to create multiple buildings.

Attribute Name Required Procedure
Name Yes Fill out the Building Name field in the Project Information dialog.
Description Create a new BuildingDescription instance parameter, assigned to the Project Information object.
ObjectType Create a new BuildingObjectType instance parameter, assigned to the Project Information object.
LongName Yes Create a new BuildingLongName instance parameter, assigned to the Project Information object.
ElevationOfRefHeight Does not seem possible to change this value. Defaults to null.
ElevationOfTerrain Does not seem possible to change this value. Defaults to null.
BuildingAddress This may be set via File > Export > IFC > Modify setup > General > Project Address and checking Assign address to building.

An example of the building address settings to be provided is shown below.

Revit-building-address.PNG

Note that if you fill out address details in File > Export > IFC > Modify setup > General > Project Address, then that address will be exported twice in your IFC: once for the site and another for the building. This behaviour cannot be changed. Even unchecking Assign address to building/site will not remove this information, but only remove the link between the address and the building/site.

IfcBuildingStorey[edit]

IfcBuildingStorey elements are generated for each Revit level. The following attributes can be set:

Attribute Name Required Procedure
Name Yes This defaults to the Name parameter in the Identity Data parameter group. This is usually incorrect, as IFC names are usually short codes, not long descriptions. You can override this by creating a new IfcName instance parameter.
Description Create a new IfcDescription instance parameter.
ObjectType Create a new IfcObjectType instance parameter.
LongName Yes Create a new IfcLongName instance parameter. This should typically contain the same value as the Name parameter in the Identity Data parameter group.
CompositionType This is asserted by default to ELEMENT. It is not possible to override this. It is not possible to nest spatial structures in Revit.
Elevation This is automatically derived from the Elevation parameter in the Constraints parameter group. Although not obviously wrong, this does not match the current intention by buildingSMART. This is fundamentally broken in Revit.

IfcSpace[edit]

In Revit, there are Room objects, Space objects. Both of these objects translate into IfcSpace entities. Revit Area objects do not translate into IFC and are lost.

If you are exporting from a 3D view which has filters to turn certain objects on and off, you may have enabled the Export only elements visible in view option in File > Export > IFC > Modify Setup > Additional Content. If this is enabled, you must enable the Export rooms in 3D views option, or IfcSpace entities will not be created in your IFC file. Despite the use of the word "rooms", the option applies to both Revit Room and Space objects.

Revit-export-spaces.PNG

The following attributes may be set:

Attribute Name Required Procedure
Name Yes This defaults to the Number parameter in the Identity Data parameter group. You can override this by creating a new IfcName instance parameter.
Description Create a new IfcDescription instance parameter.
ObjectType Create a new IfcObjectType instance parameter.
LongName Yes This defaults to the Name parameter in the Identity Data parameter group. You can override this by creating a new IfcLongName instance parameter.
CompositionType This is asserted by default to ELEMENT. It is not possible to override this. It is not possible to nest spatial structures in Revit.
PredefinedType This defaults to INTERNAL. It is not possible to override this.
ElevationWithFlooring This is null by default. Create a new IfcElevationWithFlooring instance parameter.

IfcZone[edit]

The Revit HVAC Zone object translates into IFC IfcZone entities. In addition, it is also possible to group Revit Room objects into IfcZone entities. To do this, create a new ZoneName instance parameter assigned to a Revit Room object. For each unique string supplied in this parameter, an IfcZone entity will be created.

Warning Warning: Virtual IfcZones created by grouping multiple Revit Room objects will not maintain their GlobalId values on subsequent exports. Additionally, if two ZoneName parameters have the same value, but their other attributes, such as ZoneDescription are different, then only one will be exported, and the rest of the data will be lost. It is not clear to the user which will be retained and which will be lost, so care must be taken to manually ensure data consistency between all these fields.

The following attributes may be set:

Attribute Name Required Procedure with Revit HVAC Zone Procedure with virtual zone from Revit Room
Name Yes This defaults to the Name parameter in the Identity Data parameter group, concatenated with the Revit Element ID. This concatenation usually results in an undesirable value. You can override this by creating a new IfcName instance parameter. Create a new ZoneName instance parameter, assigned to the Room object.
Description Create a new IfcDescription instance parameter, assigned to the HVAC Zone object. Create a new ZoneDescription instance parameter, assigned to the Room object.
ObjectType Create a new IfcObjectType instance parameter, assigned to the HVAC Zone object. Create a new ZoneObjectType instance parameter, assigned to the Room object.
LongName Yes Create a new IfcLongName instance parameter, assigned to the HVAC Zone object. Create a new ZoneLongName instance parameter, assigned to the Room object.