Difference between revisions of "Revit setup for OpenBIM/Revit IFC spatial hierarchy"

From Wiki.OSArch
(Created page with "The following attributes may be set on the <code>IfcSite</code>. If you have a <code>Toposurface</code> object overriding your <code>IfcSite</code> object representation as de...")
 
Line 1: Line 1:
The following attributes may be set on the <code>IfcSite</code>. If you have a <code>Toposurface</code> object overriding your <code>IfcSite</code> 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 <code>IfcSite</code> may exist. It is not possible to create multiple sites.
+
== IfcSite ==
 +
 
 +
The following attributes may be set on the <code>IfcSite</code>. If you have a <code>Toposurface</code> object overriding your <code>IfcSite</code> 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 <code>IfcSite</code> may exist. It is not possible to create multiple sites.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 9: Line 11:
 
| <code>Name</code>
 
| <code>Name</code>
 
| Yes
 
| Yes
| Create a new IfcName instance parameter, assigned to the Toposurface object.
+
| Create a new <code>IfcName</code> instance parameter, assigned to the Toposurface object.
| Create a new SiteName instance parameter, assigned to the Project Information object.
+
| Create a new <code>SiteName</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>Description</code>
 
| <code>Description</code>
 
|  
 
|  
| Create a new IfcDescription instance parameter, assigned to the Toposurface object.
+
| Create a new <code>IfcDescription</code> instance parameter, assigned to the Toposurface object.
| Create a new SiteDescription instance parameter, assigned to the Project Information object.
+
| Create a new <code>SiteDescription</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>ObjectType</code>
 
| <code>ObjectType</code>
 
|  
 
|  
| Create a new IfcObjectType instance parameter, assigned to the Toposurface object.
+
| Create a new <code>IfcObjectType</code> instance parameter, assigned to the Toposurface object.
| Create a new SiteObjectType instance parameter, assigned to the Project Information object.
+
| Create a new <code>SiteObjectType</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>LongName</code>
 
| <code>LongName</code>
 
| Yes
 
| Yes
| Create a new IfcLongName instance parameter, assigned to the Toposurface object.
+
| Create a new <code>IfcLongName</code> instance parameter, assigned to the Toposurface object.
| Create a new SiteLongName instance parameter, assigned to the Project Information object.
+
| Create a new <code>SiteLongName</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>LandTitleNumber</code>
 
| <code>LandTitleNumber</code>
 
| Yes
 
| Yes
| Create a new IfcLandTitleNumber instance parameter, assigned to the Toposurface object.
+
| Create a new <code>IfcLandTitleNumber</code> instance parameter, assigned to the Toposurface object.
| Create a new SiteLandTitleNumber instance parameter, assigned to the Project Information object.
+
| Create a new <code>SiteLandTitleNumber</code> instance parameter, assigned to the Project Information object.
 +
|-
 +
| <code>SiteAddress</code>
 +
|
 +
| This may be set via <code>File > Export > IFC > Modify setup > General > Project Address</code> and checking <code>Assign address to site</code>.
 +
| Same procedure as with <code>Toposurface</code>.
 
|}
 
|}
 +
 +
== IfcBuilding ==
  
 
The following attributes may be set on the <code>IfcBuilding</code>. Note that in Revit, only a single <code>IfcBuilding</code> may exist. It is not possible to create multiple buildings.
 
The following attributes may be set on the <code>IfcBuilding</code>. Note that in Revit, only a single <code>IfcBuilding</code> may exist. It is not possible to create multiple buildings.
Line 42: Line 51:
 
| <code>Name</code>
 
| <code>Name</code>
 
| Yes
 
| Yes
| Fill out the Building Name field in the Project Information dialog.
+
| Fill out the <code>Building Name</code> field in the Project Information dialog.
 
|-
 
|-
 
| <code>Description</code>
 
| <code>Description</code>
 
|  
 
|  
| Create a new BuildingDescription instance parameter, assigned to the Project Information object.
+
| Create a new <code>BuildingDescription</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>ObjectType</code>
 
| <code>ObjectType</code>
 
|  
 
|  
| Create a new BuildingObjectType instance parameter, assigned to the Project Information object.
+
| Create a new <code>BuildingObjectType</code> instance parameter, assigned to the Project Information object.
 
|-
 
|-
 
| <code>LongName</code>
 
| <code>LongName</code>
 
| Yes
 
| Yes
| Create a new BuildingLongName instance parameter, assigned to the Project Information object.
+
| Create a new <code>BuildingLongName</code> instance parameter, assigned to the Project Information object.
 +
|-
 +
| <code>ElevationOfRefHeight</code>
 +
|
 +
| ?
 +
|-
 +
| <code>ElevationOfTerrain</code>
 +
|
 +
| ?
 +
|-
 +
| <code>BuildingAddress</code>
 +
|
 +
| This may be set via <code>File > Export > IFC > Modify setup > General > Project Address</code> and checking <code>Assign address to building</code>.
 
|}
 
|}
 +
 +
An example of the building address settings to be provided is shown below.
 +
 +
[[File:Revit-building-address.PNG]]
 +
 +
Note that if you fill out address details in <code>File > Export > IFC > Modify setup > General > Project Address</code>, 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 <code>Assign address to building/site</code> will not remove this information, but only remove the link between the address and the building/site.
 +
 +
== IfcBuildingStorey ==
 +
 +
<code>IfcBuildingStorey</code> elements are generated for each Revit level. The following attributes can be set:
 +
 +
{| class="wikitable"
 +
! '''Attribute Name'''
 +
! '''Required'''
 +
! '''Procedure'''
 +
|-
 +
| <code>Name</code>
 +
| Yes
 +
| This defaults to the <code>Name</code> parameter in the <code>Identity Data</code> parameter group. This is usually incorrect, as IFC names are usually short codes, not long descriptions. You can override this by creating a new <code>IfcName</code> instance parameter.
 +
|-
 +
| <code>Description</code>
 +
|
 +
| Create a new <code>IfcDescription</code> instance parameter.
 +
|-
 +
| <code>ObjectType</code>
 +
|
 +
| Create a new <code>IfcObjectType</code> instance parameter.
 +
|-
 +
| <code>LongName</code>
 +
| Yes
 +
| Create a new <code>IfcLongName</code> instance parameter. This should typically contain the same value as the <code>Name</code> parameter in the <code>Identity Data</code> parameter group.
 +
|-
 +
| <code>CompositionType</code>
 +
|
 +
| This is asserted by default to <code>ELEMENT</code>. It is not possible to override this. It is not possible to nest spatial structures in Revit.
 +
|-
 +
| <code>Elevation</code>
 +
|
 +
| This is automatically derived from the <code>Elevation</code> parameter in the <code>Constraints</code> parameter group. Although not obviously wrong, this does not match the current intention by buildingSMART. This is fundamentally broken in Revit.
 +
|}
 +
 +
== IfcSpace ==
 +
 +
To do.
 +
 +
== IfcZone ==
 +
 +
To do.

Revision as of 21:26, 16 March 2020

IfcSite

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

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 ?
ElevationOfTerrain ?
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

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

To do.

IfcZone

To do.