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 property, 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 > Interoperability > IFC) to manage schemes.

Note: If you modify an IFC Scheme, then leave the dialog box, you cannot use Undo to undo the modifications. Therefore, before you make major changes to an IFC Scheme, you should first save the original scheme by exporting it in XML format.

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 section summarizes the functions of this command.

Scheme Data Definition

Attribute data defined by the IFC 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 MEP domains. For example, the Structural domain contains the building element (IfcBuildingElement) types (IfcBeam, IfcColumn, etc.) while the MEP 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.

The set of Attributes is predefined, and always consists of the standard Attributes of the IFC (2x3) standard. No matter which scheme you import or create, those Attributes are always available and cannot be deleted. However, you are free to map the Attributes to ARCHICAD data (see later) in any combination, and this mapping can vary among schemes. For example, the Name Attribute might, in one scheme, contain only the element ID, while in another scheme it might contain the ID plus various parameters (such as linked Width and Height values).

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. The same is true of mapping rules. Even if a given Property contains different mapping rules in the merged scheme than in the original, the original mapping rules will not be overridden; the new mapping rules are added to the originals.

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 IfcBuildingElement), then all child elements belonging to it (e.g. IfcBeam, IfcColumn, IfcSlab, IfcWall, etc.) 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.

Note: Even if you do not export the current status of the IFC Scheme Setup, the saved PLN/ARCHICAD project will retain the IFC Scheme Setup, which will thus not be lost.

Data Mapping

DataMappingGenl.png 

ARCHICAD properties, 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 (building, distribution, furnishing and transport elements), IfcSpace (ARCHICAD Zone), and IfcTypeObject (including all IFC Type Product entities).

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.

If a particular parameter is common to several Library Part elements, you can map its corresponding IFC data in just one step (see examples later).

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 Content” drop-down button:

Parameters & Properties (as the Interactive Element Schedule)

Library Part 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.Library Part Parameters can be set in two ways:

Library Part dependent: The selected Library Part parameter will be in effect only for elements that contain this parameter. If the Library Part parameter was defined at the Object subtype level, then the parameter mapping will take place for the child elements, too. For example, if we are mapping the “gs_list_cost”variable parameter of the GS Door Object subtype, then the mapping will be in effect for all Doors (and ifcDoors) which are child Library Part elements of theGS Door (such as Door, Double Door, Metal Door, etc.) See examples below.

Library Part independent: the parameter variable (e.g. “gs_list_cost”) will be in effect for the mapping, regardless of which Library Part it was chosen from. For example, if you select the “gs_list_cost” parameter of the Double Door for mapping as a Library Part Independent parameter, then the mapping will take place for every Door that accesses the “gs_list_cost” parameter. If this door parameter is used for mapping at the IfcElement level, then it will be mapping for all IFC entities which are child entities of the IfcElement and which include the “gs_list_cost” parameter (such as Furnishing elements, e.g. Armchair and Chair). See examples below.

Note: If the IFC Scheme Setup contains a mapping rule involving a Library Part parameter which is not loaded in the project, then the rule, the mapped IFC data, and the mapped IFC Entity data are all shown in red.

6.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 

7.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 user interface: the first evaluable rule wins.

RuleOrderApply.png 

Examples:

1.Map the user-defined “Acousting Rating” property (Options > Property Manager) to the “AcousticRating” property defined for the IfcWall by the IFC standard scheme.

Property_mapping.png 

2.Map the “Fire Rating” parameter of windows to the “FireRating” property defined for the IfcWindow by the IFC standard scheme.

MapFireRating.png 

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

DefineNameAttribute.png 

4.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 

5.Define the “Cost” Property for IfcDoor as Library Part dependent parameter. For mapping, choose the “gs_list_cost” parameter of the “GS Door” Library Part. The mapping rule is valid for the Library Parts which are child elements of the “GS Door” subtype (e.g “Door”, “Double Door”, “Metal Door”, etc.).

dependent_subtype_mapping.png 

6.Define the “Cost” Property for IfcDoor as Library Part independent parameter. For mapping, choose the “gs_list_cost” parameter of the “Double Door”. The mapping rule is valid for all Library Parts which will be converted to IfcDoor and contain the “gs_list_cost” parameter (e.g “Door”, “Metal Door”, etc.).

independent_entity_mapping.png 

7.Define the “Cost” Property for IfcElement as Library Part independent parameter. For mapping, choose the “gs_list_cost” parameter of the “Double Door”. The mapping rule is valid for not just IfcDoor elements but all other Library Parts which will be converted to IFC Entities that are child element of IfcElement (e.g. IfcWindow, IfcFurnishingElement, IfcDistributionElement, IfcTransportElement etc.) and contain the “gs_list_cost” parameter (e.g “Armchair”, “Desk”, “Basin”, “Sink” etc.).

independent_parent_mapping.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 a gray 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 Types

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 ID

IfcProject

Attribute>GlobalId (control, see Note later)

-

Project Info

Project Status

IfcProject

Attribute>Phase

visible/
editable

Project Location

Project North

IfcProject

Attribute>Representation
Context>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 ID

IfcSite

Attribute>Global Id (control, see Note later)

-

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

Building ID

IfcBuilding & IfcBuildingStorey

Attribute>
GlobalId (control, see Note later)

 

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>
PostalBox

-

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>
PostalCode

-

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

Categories and Properties>ID

(IFC element type)

Attribute>Name

visible/
editable

(element)>
Settings

Categories and Properties>
Structural Function

(IFC element type)

Pset_...Common>LoadBearing

visible

(element)>
Settings

Categories and Properties
>Position

(IFC element type)

Pset_...Common>IsExternal

visible

(element)>
Settings

Categories and Properties>
Renovation Status

(IFC element type)

AC_Pset_Renovation
AndPhasing>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

Note: By default, ARCHICAD assigns identical GlobalID attributes to the following entities: IFC Project, IFC Site, IFC Building, and IFC Story. More precisely: the Global IDs will be identical, provided that the respective ID fields, defined at ARCHICAD’s Project Info dialog box (File > Info) contain identical keywords (or no value at all). However, you can alter these keywords in the Project Info dialog box to control whether the spatial entities have identical or different GlobalIDs.

Suppose you have two separate buildings (stored in two different ARCHICAD projects). You want both projects and both sites to share the same GlobalID; yet you want the various buildings on each site to have different GlobalIDs.

To achieve this, enter the same keyword in the “Project ID” and “Site ID” fields of both projects. Enter different keywords for the “Building ID” fields.

allinone_v2.png 

IFC Story entities have no corresponding ID field in the Project Info dialog box. The GlobalIDs of IFC Story entities are derived from their Building ID. If two buildings in two different ARCHICAD projects have the same Building ID, then all stories of those buildings which have the same Story Number will have the same Global ID.