There is more to generating successful IFCs than simply clicking on Export and hoping for the best. For a start, the model needs to be structured correctly, including spaces (rooms and areas)*, the project information needs to be completed, classifications mapped** and your export settings defined as needed.
One of the other things that is critical to produce decent, consistent output is understanding how to map parameters to specific locations in the IFC. That way, your model can be easily validated and used much more effectively for the purposes required.
IFC is a standard ISO16739:2013, a schema that defines exactly how an IFC model should be represented both in terms of geometry and data. In its simplest form, a property would include a label (an IfcLabel). This might be used by a floor level (IfcBuildingStorey) to store its name.
Additionally, standard properties are used for each entity type. A wall will need to know its width; a steel beam its section size, a stair flight its riser height.
These standard properties are grouped into convenient sets called Property Sets, referred to as PSets. Some are generic (width, height, volume, area) and some are common only to a specific entity.
For example, a wall will include standard dimensions, areas and volumes (as do most “physical” entities) but also has a set of properties called PSet_WallCommon including:
In standard syntax, a property would normally be referred to as PSet.Property
Many parameters automatically map to a standard property in an IFC. For example, the Family and Type will automatically convert to the entity’s Name property.
In normal circumstances, the conversion of standard parameter works like this:
Parameter Group = Property Set
Parameter = Property
e.g. Identity Data > Mark = Identity Data.Mark
ADDITIONAL "BUILT IN" PARAMETERS
Revit also allows for a number of additional parameters that can be very helpful in defining well-structured IFC output:
SiteName adding this to the Project Information provides a parameter to name the IfcSite
Building Name also added to Project Information names the IfcBuilding
IfcName added to a level allows the floor name to be defined differently to what the level may be named. i.e. a level may be named 4th but need to export to IFC as 04.
IfcZone is added to rooms or areas to specify a zone name.
ZoneDescription allows a description to be included with each zone.
CUSTOM AND COBIE PARAMETERS
You may also use custom parameters or have a series of COBie shared parameters loaded. When working with custom parameters of any description, it is advisable to use a mapping file to make sure parameters are well-organised when exporting and end up in a consistent and easily identifiable location.
This is defined in the IFC Setup prior to export by ticking the Export user defined property sets ON and browsing to a prepared text file:
The text file needs to be defined very carefully otherwise you may not see the correct, or any, results.
A standard property set mapping would look like this:
PropertySet: COBie_Space I IfcSpace
RoomTag Text COBie.Space.RoomTag
Category Text COBie.Space.Category
GrossArea Real COBie.Space.GrossArea
Name Text COBie.Space.Name
NetArea Real COBie.Space.NetArea
UsableHeight Real COBie.Space.UsableHeight
All entries are separated by a tab. Here’s how it works:
The first line defines the property set name being created. The line must start with PropertySet:
The next entry is the property set name. In this instance COBie_Space. All the rest of the properties listed will be added to that set until another PropertySet is defined. Be aware that custom property sets cannot be named “PSet_”.
The next character defines whether the property is based on an Instance (I) or Type (T). In this example, spaces are created from areas and rooms and so must be instances.
The last entry on the PropertySet line defines the IFC element that will contain this property set. This must be a valid entity. Refer to http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/alphabeticalorder_entities.htm for a full list. If you’re not sure and can’t find the right entry, check your IFCClassMapping settings in Revit.
Then each line in the property set section defines a property and the parameter that will be used. For example:
Category is the property that will be created in the IFC file.
Text is the Type of Parameter
COBie.Space.Category is the parameter name.
If any of the entries do not match the correct parameter name exactly, use the incorrect type or refer to an instance instead of a type (or vice versa), the export will not work!
The mapping will not create any properties that do not exist or do not have a value.
* For more information on IFC structures, take a look at the relationships defined in our COBie guide: https://evolve-consultancy.com/product/cobie-understandingcobie/
** Find out more about classification mapping here: https://evolve-consultancy.com/product/ifc-classification-revit/