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.
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”.
•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.
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.
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.
Examples:
1.Map the Fire Rating parameter of windows to the FireRating property defined for the IfcWindow by the IFC 2x3 standard.
2.Define the Name Attribute of IfcWall elements using a combination of Wall ID and Building Material/Composite Name.
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).
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> |
- |
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 |
- |
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 |
- |
Project Info |
Contact Full Address>Contact Country |
IfcPerson & IfcOrganization |
Attribute>Addresses>Postal>Country |
- |
Project Info |
Contact E-mail |
IfcPerson & IfcOrganization |
Attribute>Addresses>Telecom> |
- |
Project Info |
Contact Phone Number |
IfcPerson & IfcOrganization |
Attribute>Addresses>Telecom> |
- |
Project Info |
Contact Fax |
IfcPerson & IfcOrganization |
Attribute>Addresses>Telecom> |
- |
Project Info |
Contact Web |
IfcPerson & IfcOrganization |
Attribute>Addresses>Telecom> |
- |
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)> |
Tags and Categories>ID |
(IFC element type) |
Attribute>Name |
visible/editable |
(element)> |
Tags and Categories> |
(IFC element type) |
Pset_...Common>LoadBearing |
visible |
(element)> |
Tags and Categories>Position |
(IFC element type) |
Pset_...Common>IsExternal |
visible |
(element)> |
Tags and Categories> |
(IFC element type) |
AC_Pset_RenovationAndPhasing> |
visible |
Schedule> |
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 |