IFC Scheme Setup

IFC Attributes, Properties and Classification Reference data can be stored in so-called schemes (.xml files).

Besides managing IFC data, you can use schemes to assign rules to IFC data, which map ArchiCAD parameter and quantity values with IFC data values. Mapping rules are also stored in the scheme’s .xml files.

Use IFC Scheme Setup command (File > File Special > IFC 2x3) to manage schemes.

By default, the IFC Manager and the IFC-related part of the Element Settings dialog boxes display scheme data. The scheme controls IFC data export, too, because the scheme enables you to choose whether to export only scheme data or all data - that is, scheme data plus additionally defined and visible custom data from the IFC management dialog boxes.

SchemeExportDataControl.png 

This chapter summarizes the functions of this command.

Scheme Data Definition

Attribute data defined by the IFC 2x3 standard are always part of the scheme. New data, in the form of Property and Classification Reference data, can be added to the elements in the IFC entity tree (hereinafter “scheme tree”) on the left side of the dialog box.

Notes:

The Scheme tree contains all of the element types, Assignments, Type Products and their “parents” which are available in the IFC 2x3 standard documentation and are editable in ArchiCAD (excluding IfcAnnotation and IfcGrid).

The tree list can be filtered by Structural and HVAC domains. For example, the Structural domain contains the building element (IfcBuildingElement) types (IfcBeam, IfcColumn, etc.) while the HVAC domain contains the IfcDistribution types. The tree list can also be narrowed to the IFC Assignment types or IFC Spatial element types (IfcSpatialStructureElements: IfcSite, IfcBuilding, IfcBuildingStorey and IfcSpace).

Display variations of IFC element entities in the Scheme tree:

-IfcWall: entity type that can appear and is editable in IFC Manager.

-(IfcBuildingElement): “abstract supertype” entity that does not appear in IFC Manager.

To add new Property or Classification Reference data to the current Scheme shown in IFC Scheme Setup, do the following:

Click the New Property/Classification button. This function is similar to the function of the same name found in the IFC Manager and Element Settings dialog boxes. For example: create an identifier-type “Ventilation Type” Property for IfcSpace entity within the Property Set called “ePset_SpaceVentilationCriteria”.

VentilationType.png 

Use the “Get Current Project Settings” button to collect all the current custom (non-scheme) IFC Property Sets and Properties (defined in either IFC Manager or Element Settings) that are available in the current Project. As part of this process of collecting data, if a custom data already exists for at least one instance (e.g. one IfcWall element) of an IFC Entity type, then the custom data will appear as a data of that IFC Entity (e.g. IfcWall). Using this function, you can - for example - transform the custom data from an imported IFC Model into Scheme data, and then save it in Scheme files (.xml).

Load data from an existing scheme (.xml):

When using Import to load a scheme file, then all existing scheme data (except Attributes) will be deleted, and only the data of the imported scheme will be created.

When using Merge to load a scheme file, then that .xml file’s data are added to the existing scheme data. If the two merged schemes contain data with the same name and location (in case of Properties, the Property Set), then the original values will be retained in both IFC Manager and Element Settings: there is no data loss.

Elements used to define scheme data are shown in the Scheme tree in bold type. If that element is at a higher level of the hierarchy (that is, a parent element such as an IfcWall), then all child elements belonging to it (e.g. IfcWallStandardCase) automatically are assigned the scheme data, but the child element will not be shown in bold type. This way it is easy to locate, in the tree structure, where the scheme data were added. In addition, scheme data assigned to a child element are shown in blue type, and the child element’s name is augmented by the parent type name in parentheses. The blue type also means that the scheme data can be modified only at the parent level (which is in black). One example of how this parent-child relationship can be useful: if you want to create a common property for all building elements, you don’t have to create it for every single building element type (IfcWall, IfcColumn, IfcSlab, etc.): instead, create it once at a higher level (e.g. at IfcBuildingElement).

A new scheme data is shown in italics if no ArchiCAD parameter/quantity (or mapping rule - see next section) can be applied to it.

You can rename and delete (click the red X) scheme data except Attributes. You can delete the entire content (mapping rules, Properties and Classification Reference) of the currently used Scheme with the “Clear All Scheme Settings” command.

The current content of IFC Scheme Setup can be saved in an .xml file as part of the Export function, and this file can then be imported (Import) or Merged (Merge) into a new or existing project. With this workflow, you can use the current scheme data in a new project without redefining them.

Data Mapping

DataMappingGenl.png 

ArchiCAD parameters and quantities can be assigned to the IFC data of certain IFC elements. Advantages of data mapping:

You don’t have to enter those data twice (once as ArchiCAD data, and again as IFC data) which have a common meaning as both ArchiCAD data (e.g. Fire Rating) and IFC (FireRating).

You can save ArchiCAD data as a specific IFC model in accordance with a particular standard (e.g. COBie documentation or company standard), a particular collaborative workflow (e.g. MEP, energy analysis, FM), or the capabilities of a particular IFC model receiver application (e.g. Revit, Tekla, Allplan...).

Characteristics and rules of data mapping:

The following elements of the Scheme tree, and their sub-elements (called “child” elements)  are mappable: IfcElement, IfcSpace, and IfcTypeObject.

Mapping works for ‘single value’-type IFC Attributes and Properties only. Thus:

it works for all text-, label- and logical-type properties,

it does not work, for example, for ‘table-type’ properties,

it does not work for Classification Reference data.

A rule can be assigned at different levels. For example, you can apply a rule at the IfcBuildingElement level, which will be applicable to all of its child elements (e.g. IfcWall, IfcSlab, etc.). However, the rule (which appears in blue type at the child element’s level) can be redefined at the child level. For example, the abovementioned rule could be modified for the IfcWall entity.

How to create a Rule:

1.Select the scheme data item which you would like to map. Scheme data in italic type cannot be mapped.

2.Click on the New Rule button. The “Empty Rule” field appears.

3.Select a Rule Content type from the “Add Parameters” drop-down button:

Parameters (as the Interactive Element Schedule)

Object Parameters (as the Interactive Element Schedule)

Static Text

4.Add fields to the rules. Fields can have types: e.g. “Thickness” is length measure, “Area” is area measure, “Library Part Name” is string. If a rule contains more than one field, the fields are always a concatenation of fields converted to a string. Conversion is based on calculation units (Project Preferences > Calculation Units & Rules). Fields implicitly contain filters: for example, the Wall's "Height" field can only be evaluated for Wall elements. "General" fields are listed at tools levels too and they are valid only for that specific tool.

5.String-type rules can be split. Separator type, separator position and split type give you several ways to split a string. For example, use a split to cut out a particular fragment of a Library Part Name.

SplitString.png 

6.You can assign multiple rules to a single scheme property. This is useful, for example, if several tools will generate the same IFC element type. Rules will be applied in the order in which they appear on the UI: the first evaluable rule wins.

RuleOrderApply.png 

Examples:

1.Map the Fire Rating parameter of windows to the FireRating property defined for the IfcWindow by the IFC 2x3 standard.

MapFireRating.png 

2.Define the Name Attribute of IfcWall elements using a combination of Wall ID and Building Material/Composite Name.

DefineNameAttribute.png 

3.Define the Name Attribute for IfcDoorStyle by using a fragment of the Door Library Part name + static text “-” + Width + static text “X” + Height (see splitting string-type rule, above). This rule will also overwrite the program’s factory default IfcDoorStyle creation rule (see IFC Type Product) with new IfcDoorStyle names, and will automatically create the corresponding doors (you can double-check the result in the IFC Manager).

NameAttributeWindow.png 

You can see which elements have a mapping rule assigned: the property is followed by a black lock icon. The same lock is also shown for these elements in IFC Manager and in Element Settings.

Some Attribute and Property data come with a predefined mapping rule. Although these rules do not appear in the IFC Scheme Setup dialog box, they can be seen (if they have values) with with a grey lock icon in the IFC Manager and Element Settings. The following chart shows these predefined mapping rules, which you therefore do not have to create yourself in IFC Scheme Setup:

ArchiCAD Command

ArchiCAD Parameter

IFC Entity Type

IFC Data

IFC Manager

Project Info

Project Name

IfcProject

Attribute>Name

visible/editable

Project Info

Project Description

IfcProject

Attribute>Description

visible/editable

Project Info

Project Status

IfcProject

Attribute>Phase

visible/editable

Project Location

Project North

IfcProject

Attribute>RepresentationContext>
TrueNorth

-

Project Location

Latitude

IfcSite

Attribute>RefLatitude

visible

Project Location

Longitude

IfcSite

Attribute>RefLongitude

visible

Project Location

Altitude

IfcSite

Attribute>RefAltitude

visible

Project Info

Site Name

IfcSite

Attribute>Name

visible/editable

Project Info

Site Description

IfcSite

Attribute>Description

visible/editable

Project Info

Site Full Address>Site Address1

IfcSite

Attribute>SiteAddress>AddressLines

-

Project Info

Site Full Address>Site Address2

Project Info

Site Full Address>Site Address3

Project Info

Site Full Address>Site Postal Box

IfcSite

Attribute>SiteAddress>PostalBox

-

Project Info

Site Full Address>Site City

IfcSite

Attribute>SiteAddress>Town

-

Project Info

Site Full Address>Site State

IfcSite

Attribute>SiteAddress>Region

-

Project Info

Site Full Address>Site Postcode

IfcSite

Attribute>SiteAddress>PostalCode

-

Project Info

Site Full Address>Site Country

IfcSite

Attribute>SiteAddress>Country

-

Project Info

Site Gross Perimeter

IfcSite

BaseQuantity>GrossPerimeter

-

Project Info

Site Gross Area

IfcSite

BaseQuantity>GrossLandArea

-

Project Info

Building Name

IfcBuilding

Attribute>Name

visible/editable

Project Info

Building Description

IfcBuilding

Attribute>Description

visible/editable

Project Info

Contact Full Name>Contact Prefix Title

IfcPerson

Attribute>PrefixTitles

-

Project Info

Contact Full Name>Contact Given Name

IfcPerson

Attribute>GivenName

-

Project Info

Contact Full Name>Contact Middle Name

IfcPerson

Attribute>MiddleNames

-

Project Info

Contact Full Name>Contact Family Name

IfcPerson

Attribute>FamilyName

-

Project Info

Contact Full Name>Contact Suffix Title

IfcPerson

Attribute>SuffixTitles

-

Project Info

Contact ID

IfcPerson

Attribute>Id

-

Project Info

Contact Role

IfcPerson

Attribute>Roles

-

Project Info

Contact Department

IfcPerson

Addresses>Postal>InternalLocation

-

Project Info

Contact Company

IfcOrganization

Attribute>Name

-

Project Info

Contact Company Code

IfcOrganization

Attribute>Id

-

Project Info

Contact Full Address>Contact Address1

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>AddressLines

-

Project Info

Contact Full Address>Contact Address2

Project Info

Contact Full Address>Contact Address3

Project Info

Contact Full Address>Contact Postal Box

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>Postal
Box

-

Project Info

Contact Full Address>Contact City

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>Town

-

Project Info

Contact Full Address>Contact State

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>Region

-

Project Info

Contact Full Address>Contact Postcode

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>Postal
Code

-

Project Info

Contact Full Address>Contact Country

IfcPerson & IfcOrganization

Attribute>Addresses>Postal>Country

-

Project Info

Contact E-mail

IfcPerson & IfcOrganization

Attribute>Addresses>Telecom>
ElectronicMailAddress

-

Project Info

Contact Phone Number

IfcPerson & IfcOrganization

Attribute>Addresses>Telecom>
TelephoneNumbers

-

Project Info

Contact Fax

IfcPerson & IfcOrganization

Attribute>Addresses>Telecom>
FacsimileNumbers

-

Project Info

Contact Web

IfcPerson & IfcOrganization

Attribute>Addresses>Telecom>
WWWHomePageURL

-

Story Settings

Elevation

IfcBuildingStorey

Attribute>Elevation

visible/editable

Zone Settings

Name

IfcSpace

Attribute>LongName

visible/editable

Zone Settings

Number (No)

IfcSpace

Attribute>Name

visible/editable

(element)>
Settings

Tags and Categories>ID

(IFC element type)

Attribute>Name

visible/editable

(element)>
Settings

Tags and Categories>
Structural Function

(IFC element type)

Pset_...Common>LoadBearing

visible

(element)>
Settings

Tags and Categories>Position

(IFC element type)

Pset_...Common>IsExternal

visible

(element)>
Settings

Tags and Categories>
Renovation Status

(IFC element type)

AC_Pset_RenovationAndPhasing>
Renovation Status

visible

Schedule>
(element)

General>Unique ID

(IFC element type)

Attribute>Tag

visible/editable

Window/Door Settings

Preview and Positioning>Width

IfcWindow / IfcDoor

Attribute>OveralWidth

visible

Window/Door Settings

Preview and Positioning>Height

IfcWindow / IfcDoor

Attribute>OverallHeight

visible

(automatic type naming rule)

 

IfcColumn

Attribute>ObjectType

visible/editable

 

 

 

Pset_ColumnCommon>Reference

visible/editable

 

 

IfcColumnType

Attribute>Name

visible/editable

(automatic type naming rule)

 

IfcBeam

Attribute>ObjectType

visible/editable

 

 

 

Pset_BeamCommon>Reference

visible/editable

 

 

IfcBeamType

Attribute>Name

visible/editable