31;IfcOrganization;"

A named and structured grouping with a corporate identity.

NOTE: The relationships between IfcOrganizations, like a Department within a Company, can be expressed using IfcOrganizationRelationship.
NOTE Corresponds to the following entity in ISO-10303-41: organization.
HISTORY New entity in IFC Release 1.5.1.
IFC 2x4 change: attribute Id renamed to Identification.
" 40;IfcActorRole;"

Definition: A role which is performed by an actor, either a person, an organization or a person related to an organization.

NOTE: The list of roles of the enumeration values of the Role attribute can never be complete. Therefore using enumeration value USERDEFINED, the user can provide his/her own role as a value of the attribute UserDefinedRole.
Corresponds to the following entity in ISO-10303-41: organization_role and person_role.
HISTORY New entity in IFC Release 1.5.1
" 70;IfcAddress;"

Definition: An abstract entity type for various kinds of postal and telecom addresses.

NOTE Corresponds to the following entity in ISO-10303-41: address.
HISTORY New entity in IFC Release 1.5.1.
" 79;IfcPostalAddress;"

Definition: The address for delivery of paper based mail.

HISTORY New entity in IFC Release 2x.
" 88;IfcTelecomAddress;"

Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed.

HISTORY New entity in IFC Release 2x.
IFC 2x4 change: Added attribute MessagingIDs. Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference.
" 102;IfcPerson;"

Definition: an individual human being.

NOTE Many countries have legislation concerning the identification of individual persons within databases. Although the intent of the IFC Model is to act as a specification for data exchange and sharing, an IFC file might in some situations be considered to be a database that enables identification of a particular person under the terms of such legislation. Users should be aware of the constraints of legislation that might apply in the places where IFC files are used.
NOTE Corresponds to the following entity in ISO-10303-41: person.
HISTORY New entity in IFC Release 1.5.1.
IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided.
" 113;IfcPersonAndOrganization;"

Definition: Identification of a person within an organization.

NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization.
HISTORY New entity in IFC Release 1.5.1
" 117;IfcOrganizationRelationship;"

Definition: establishes an association between one relating organization and one or more related organizations.

NOTE Corresponds to the following entity in ISO-10303-41: organization_relationship.
HISTORY New entity in IFC Release 2x.
IFC 2x4 change: attribute Name made optional.
" 123;IfcApproval;"

Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship

HISTORY New Entity in IFC Release 2.0
IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead).
" 139;IfcApprovalRelationship;"

An IfcApprovalRelationship associates approvals (one relating approval and one or more related approvals), each having different status or level as the approval process or the approved objects evolve.

HISTORY: New entity in Release IFC2x2.
IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed.
" 142;IfcResourceApprovalRelationship;"

An IfcResourceApprovalRelationship is used for associating an approval to resource objects. A single approval might be given to one or many items via IfcResourceObjectSelect.

HISTORY  New Entity in IFC Release 2x4
" 146;IfcPerformanceHistory;"

IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc.

IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl.

HISTORY: New entity in Release IFC2x Edition 2.
" 152;IfcRelAssociatesApproval;"

The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot.

HISTORY: New entity in IFC2x2.
" 154;IfcRelAssociatesConstraint;"

The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot.

HISTORY: New entity in IFC2x2.
" 157;IfcRelAssociatesTimeSeries;"

IfcRelAssociatesTimeSeries associates to objects (subtypes of IfcRoot) a time-series that is applicable to one or more calendar dates.

HISTORY: New entity in Release IFC2x Edition 2.
IFC2x Edition 4 CHANGE entity renamed to IfcRelAssociatesTimeSeries and made an objectified realtionship (subtype of IfcRelAssociates), replacing the old entity IfcTimeSeriesSchedule (was subtype of IfcControl
" 162;IfcPileType;"

Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile.

HISTORY New entity in IFC Release 2x4

Material Use Definition:

Material profile set association analogous to IfcColumnStandardCase should be used when applicable.

" 174;IfcFootingType;"

Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting.

HISTORY New entity in IFC Release 2x4

Note, slab foundation types are not instantiated as IfcFootingType but as IfcSlabType with a predefined type of IfcSlabTypeEnum.BASESLAB.

Material Use Definition:

Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable.

" 185;IfcSurfaceFeature;"

Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology.

The standard use of instances of IfcSurfaceFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements.

HISTORY New type in IFC 2x4.

Containment Use Definition:

Surface features shall have no spatial containment relationship to the spatial structure since they are dependent on element types without spatial containment relationships or on an element occurrence with own spatial containment relationship.

Geometry use definition:

The geometric representation of IfcSurfaceFeatureElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcSurfaceFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Shape representation

Different shape representations may be used, depending on the nature of the feature and information requirements:

Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements.

" 194;IfcVoidingFeature;"

Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete.

The standard use of instances of IfcVoidingFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements.

HISTORY New type in IFC 2x4.

Containment Use Definition:

Voiding features shall have no spatial containment relationship to the spatial structure since they are dependent on element types without spatial containment relationships or on an element occurrence with own spatial containment relationship.

Geometry use definition:

The geometric representation of IfcVoidingFeatureElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcVoidingFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Shape representation

Different shape representations may be used, depending on the nature of the feature and information requirements:

Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements.

" 206;IfcFooting;"

A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles.

HISTORY New entity in IFC2x2

Note, slab foundations are not instantiated as IfcFooting but as IfcSlab or IfcSlabStandardCase with a predefined type of IfcSlabTypeEnum.BASESLAB.

Property Set Use Definition

The following property set definitions are part of this IFC release:

Quantity Use Definition

The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Geometry Use Definition

Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable.

" 210;IfcPile;"

A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load.

HISTORY New entity in IFC2x2

Property Set Use Definition

The following property set definitions are part of this IFC release:

Quantity Use Definition

The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Geometry Use Definition

Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable.

" 222;IfcReinforcingElementType;"

Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces.

HISTORY New entity in IFC Release 2x4
" 230;IfcReinforcingElement;"

Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces.

HISTORY New entity in IFC Release 2x2
IFC 2x4 CHANGE Entity made non-abstract.
Subtypes IfcTendon and IfcTendonAnchor removed.
Attribute SteelGrade removed.
Attributes PredefinedType and Role added.
" 237;IfcReinforcingBar;"

Definition from IAI: A steel bar, usually with manufactured deformations in the surface, used in concrete and masonry construction to provide additional strength. A single instance of this class may represent one or many of actual rebars, for example a row of rebars.

HISTORY New entity in IFC Release 2x2
IFC 2x4 CHANGE All attributes removed; information now provided by IfcReinforcingBarType.

Geometry Use Definition

The geometric representation of IfcReinforcingBar is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

Local Placement
The use of local placement is defined at the supertype IfcElementComponent.

Multiple Mapped Representation
See supertype IfcElementComponent. This method of representation allows for several rebars represented by a single instance of IfcReinforcingBar. The representation map should contain one IfcSweptDiskSolidPolygonal.

An IfcElementQuantity, attached via IfcRelDefinesByProperties, should contain an IfcQuantityCount named 'Count' with the number rebars and, if this is a regularly spaced arrangement of rebars, an IfcQuantityLength named 'Spacing' which expresses the center-to-center distances of bars.

Simplified Geometric Representation
Simplified geometric representations may be used based on local agreements.

" 249;IfcReinforcingMesh;"

Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric.

HISTORY New entity in IFC Release 2x2
IFC 2x4 CHANGE All attributes removed; information now provided by IfcReinforcingMeshType.

Geometry Use Definition

The geometric representation of IfcReinforcingBar is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

Local Placement
The use of local placement is defined at the supertype IfcElementComponent.

Multiple Mapped Representation
See supertype IfcElementComponent. This method of representation allows for several meshes represented by a single instance of IfcReinforcingMesh.

An IfcElementQuantity, attached via IfcRelDefinesByProperties, should contain an IfcQuantityCount named 'Count' with the number of meshes represented by this instance.

Simplified Geometric Representation
Simplified geometric representations may be used based on local agreements.

" 252;IfcReinforcingBarType;"

Definition from IAI: A steel bar, usually with manufactured deformations in the surface, used in concrete and masonry construction to provide additional strength.

HISTORY New entity in IFC Release 2x4

Material Use Definition:

An associated material denotes the steel grade, preferrably by material classification.

Geometry Use Definition:

The IfcReinforcingBarType may define the shared geometric representation for all rebar occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShapeRepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body').

A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal.

Simplified geometric representations may be used based on local agreements.

" 258;IfcReinforcingMeshType;"

Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric.

HISTORY New entity in IFC Release 2x4

Material Use Definition:

An associated material denotes the steel grade, preferrably via material classification.

Geometry Use Definition:

The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations.

" 271;IfcReinforcementDefinitionProperties;"

Definition from IAI: An IfcReinforcementDefinitionProperties defines the cross section properties of reinforcement included in reinforced concrete building elements. The property set definition may be used both in conjunction with insitu and precast structures.

HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Supertype changed from IfcPropertySetDefinition to IfcPreDefinedPropertySet

General usage:

This subtype of IfcPropertySetDefinition is used to define the reinforcement properties in early design stages, such as in requirement definition or scheme design. In later design stages explicit instances of subtypes of IfcReinforcingElement are used. The intended usage may be indicated using the DefinitionType attribute value as a designator: recommended values are 'Reinforcement area requirement' or 'Reinforcement configuration requirement'. Other values may be used according to local standards.

Only one property set definition of this kind is used for each concrete building element in each intended usage indicated by the DefinitionType attribute value. This set then defines a list of cross section properties in a discrete number of longitudinal sections as instances of IfcSectionReinforcementProperties (one for each structural reinforcement bar role), which in turn have a section cross section property defined as a profile and a number of reinforcement properties, one for each steel grade / bar type.

" 279;IfcPreDefinedTextFont;"

The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices:

NOTE  Corresponding ISO 10303 name: pre_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype.
" 282;IfcPreDefinedItem;"

A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source).

NOTE  The convention on using the Name value is defined at the subtypes of IfcPreDefinedItem and is part of the specification.
NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 286;IfcPreDefinedColour;"

The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components).

NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 288;IfcDraughtingPreDefinedColour;"

The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are:

NOTE ˙The IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting.

The following table states the RGB values associated with the names given by the IfcDraughtingPreDefinedColour.

Colour name Red Green Blue
black 0 0 0
red 1.0 0 0
green 0 1.0 0
blue 0 0 1.0
yellow 1.0 1.0 0
magenta 1.0 0 1.0
cyan 0 1.0 1.0
white 1.0 1.0 1.0
by layer colour values obtained from
IfcPresentationLayerWithStyle.
NOTE ˙Corresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard.
HISTORY ˙New entity in IFC2x2.

Informal proposition

  1. The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable).
" 290;IfcDraughtingPreDefinedTextFont;"

The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are:

The ISO 3098-1 font A is the text font as denoted as Letterng A in clause 3 of ISO 3098-1, the ISO 3098-1 font B is the text font as denoted as Letterng B in clause 3 of ISO 3098-1.

NOTE  The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 292;IfcTextStyleFontModel;"

Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font.

Font matching

Because there is no accepted, universal taxonomy of font properties, matching of properties to font faces must be done carefully. The properties are matched in a well-defined order to ensure that the results of this matching process are as consistent as possible across user agents (assuming that the same library of font faces is presented to each of them).

  1. The user agent makes (or accesses) a database of relevant CSS1 properties of all the fonts of which the UA is aware. The UA may be aware of a font because it has been installed locally or it has been previously downloaded over the web. If there are two fonts with exactly the same properties, one of them is ignored.
  2. At a given element and for each character in that element, the UA assembles the font-properties applicable to that element. Using the complete set of properties, the UA uses the 'font-family' property to choose a tentative font family. The remaining properties are tested against the family according to the matching criteria described with each property. If there are matches for all the remaining properties, then that is the matching font face for the given element.
  3. If there is no matching font face within the 'font-family' being processed by step 2, and if there is a next alternative 'font-family' in the font set, then repeat step 2 with the next alternative 'font-family'.
  4. If there is a matching font face, but it doesn't contain a glyph for the current character, and if there is a next alternative 'font-family' in the font sets, then repeat step 2 with the next alternative 'font-family'. 
  5. If there is no font within the family selected in 2, then use a UA-dependent default 'font-family' and repeat step 2, using the best match that can be obtained within the default font.

(The above algorithm can be optimized to avoid having to revisit the CSS1 properties for each character.)

The per-property matching rules from (2) above are as follows:

  1. 'font-style' is tried first. 'italic' will be satisfied if there is either a face in the UA's font database labeled with the CSS keyword 'italic' (preferred) or 'oblique'. Otherwise the values must be matched exactly or font-style will fail.
  2. 'font-variant' is tried next. 'normal' matches a font not labeled as 'small-caps'; 'small-caps' matches (1) a font labeled as 'small-caps', (2) a font in which the small caps are synthesized, or (3) a font where all lowercase letters are replaced by upper case letters. A small-caps font may be synthesized by electronically scaling uppercase letters from a normal font.
  3. 'font-weight' is matched next, it will never fail. (See 'font-weight' below.)
  4. 'font-size' must be matched within a UA-dependent margin of tolerance. (Typically, sizes for scalable fonts are rounded to the nearest whole pixel, while the tolerance for bitmapped fonts could be as large as 20%.) Further computations, are based on the 'font-size' value that is used, not the one that is specified.

The inherited Name attribute is used to define the font name, particularly in cases, where no (list of) font families are provided.

NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight').
HISTORY  New entity in IFC2x3.
" 306;IfcExternallyDefinedTextFont;"

Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font

NOTE  Restrictions of the font source and font names to be used may be exposed by implementation guidelines.
NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 307;IfcColourSpecification;"

Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space.

NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 310;IfcColourRgb;"

Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model.

NOTE  In contrary to the usual value range of colour components being integer from 0...255, the definition from ISO10303-46 defines the colour components as real from 0.0 ... 1.0. Applications need to execute this conversion before populating the colour RGB values.
NOTE  Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 314;IfcPlanarExtent;"

The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position.

NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 318;IfcPlanarBox;"

Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system.

NOTE  Corresponding ISO 10303 name: planar_box. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
" 324;IfcPropertyDependencyRelationship;"

An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another.

HISTORY  New entity in IFC2x2
IFC2x4 CHANGE  Made subtype of IfcResourceLevelRelationship (attribute order changed).

Use Definition

Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency.

" 329;IfcProperty;"

IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism.

HISTORY  New entity in IFC Release 1.0.
" 339;IfcComplexProperty;"

IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's.

NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements.
HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x.
" 344;IfcSimpleProperty;"

IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set.

HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x.
" 351;IfcPropertySingleValue;"

The property with a single value IfcPropertySingleValue defines a property object which has a single (numeric or descriptive) value assigned. It defines a property - single value combination for which the property Name, an optional Description,˙and an optional NominalValue with measure type is provided. In addition, the default unit as specified within the project unit context can be overriden by assigning an Unit.

The unit is handled by the Unit attribute:

Examples of a property with single value are:

Name NominalValue Type
(through IfcValue)
Unit
Description Manufacturer ""A"" door IfcLabel -
PanelThickness 0.12 IfcPositiveLengthMeasure -
ThermalTransmittance 2.6 IfcThermalTransmittanceMeasure W/(m2K)
HISTORY ˙New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x.
IFC2x3 CHANGE ˙Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange.
" 354;IfcPropertyEnumeratedValue;"

A property with an enumerated value, IfcPropertyEnumeratedValue, defines a property object which has a value assigned that is chosen from an enumeration. It defines a property - value combination for which the˙property Name, an optional Description,˙the optional EnumerationValues with measure type and optionally an Unit is given.

NOTE  Multiple choices from the property enumeration are supported.

The unit is handled by the Unit attribute of the IfcPropertyEnumeration:

More precisely: The IfcPropertyEnumeratedValue defines a property, which value is selected from a defined list of enumerators. The enumerators are stored in a dynamic enumeration of values including the type information from IfcValue (see IfcPropertyEnumeration). This enables applications to use an enumeration value as a property within a property set (IfcPropertySet) including the allowed list of values.˙

NOTE  An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL.

Examples of a property with enumerated value are:

Name˙ Value
(EnumerationValue)
Type
(through IfcValue)
ref.IfcPropertyEnumeration
(Name)˙
BladeAction Opposed IfcString DamperBladeActionEnum
BladeAction Parallel IfcString DamperBladeActionEnum

The IfcPropertyEnumeratedValue refers to an IfcPropertyEnumeration, e.g. for the above:

Name EnumerationValues Type
(through IfcValue)
Unit
DamperBladeActionEnum (Parallel, Opposed, Other, Unset) IfcString -

It is not mandatory to use an instance of IfcPropertyEnumeration to hold the applicable values for IfcPropertyEnumeratedValue, however this is the preferred way. A single instance of IfcPropertyEnumeration can be referenced by multiple instances of IfcPropertyEnumeratedValue.

HISTORY ˙New Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has been renamed from IfcEnumeratedProperty in IFC2x.
IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward compatibility for file based exchange.
" 358;IfcPropertyEnumeration;"

IfcPropertyEnumeration is a collection of simple or measure values that define a prescribed set of alternatives from which 'enumeration values' are selected. This enables inclusion of enumeration values in property sets. IfcPropertyEnumeration provides a name for the enumeration as well as a list of unique (numeric or descriptive) values (that may have a measure type assigned). The entity defines the list of potential enumerators to be exchanged together (or separately) with properties of type IfcPropertyEnumeratedValue that selects their actual property values from this enumeration.

The unit is handled by the Unit attribute:

Name EnumerationValues Type (through IfcValue) Unit
PEnum_DamperBladeAction Parallel IfcString -
  Opposed IfcString  
  Other IfcString  
  Unset IfcString  
HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x.
" 365;IfcPropertyBoundedValue;"

A property with a bounded value, IfcPropertyBoundedValue, defines a property object which has a maximum of two (numeric or descriptive) values assigned, the first value specifying the upper bound and the second value specifying the lower bound. It defines a property - value bound (min-max) combination for which the property Name, an optional Description,˙the optional UpperBoundValue with measure type, the optional LowerBoundValue with measure type, and the optional Unit is given.

A set point value can be provided in addition to the upper and lower bound values for operational value setting.

The unit is handled by the Unit attribute:

The IfcPropertyBoundedValue allows for the specification of an interval for the value component of the property description. If either the LowerBoundValue or the UpperBoundValue is not given, then it indicates an open bound (either a minimum value or a maximum value). The interval is by definition inclusive, that is, the value given for the LowerBoundValue or the UpperBoundValue is included in the interval.

NOTE  An IfcPropertyBoundedValue may be exchanged with no values assigned yet. In this case the LowerBoundValue and the UpperBoundValue are set to NIL.

Examples of a property with bounded value are:

Name UpperBoundValue LowerBoundValue SetPointValue Type
(through IfcValue, WR1 ensures same type for both values)
Unit
OverallHeight 1930 2300 <nil> IfcPositiveLengthMeasure -
OverallWidth 0.9 1.25 <nil> IfcPositiveLengthMeasure m
MaxHeight 20.0 <nil> <nil> IfcPositiveLengthMeasure -
MinWeight <nil> 20 <nil> IfcMassMeasure kg
HISTORY ˙New entity in IFC Release 2x.
IFC2x2 CHANGE  The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange.
IFC2x4 CHANGE  The attribute SetPointValue has been added.

Informal proposition:

  1. If the measure type for the upper and lover bound value is a numeric measure, then the following shall be true: UpperBoundValue > LowerBoundValue.
" 373;IfcPropertyTableValue;"

A property with a range value (IfcPropertyTableValue) defines a property object which has two lists of (numeric or descriptive) values assigned, the values specifying a table with two columns. The defining values provide the first column and establish the scope for the defined values (the second column). Interpolations are out of scope of the IfcPropertyTableValue. An optional Expression attribute may give the equation used for deriving the range value, which is for information purposes only.

The IfcPropertyTableValue defines a defining/defined property value combination for which the property name, the table with defining and defined values with measure type (and optional the units for defining and defined values) are given.

The units are handled by the DefiningUnit and DefinedUnit attributes:

The IfcPropertyTableValue allows for the specification of a table of defining/defined value pairs of the property description. The optional attribute CurveInterpolation allows to determine the interval between two given values.

Examples of a property with range value are:

Name DefiningValues DefiningValue Type
(through IfcValue)
DefinedValues DefinedValue Type
(through IfcValue)
DefingUnit DefinedUnit
SoundTransmissionLoss 100 IfcFrequencyMeasure 20 IfcNumericMeasure - dB
˙ 200 IfcFrequencyMeasure 42 IfcNumericMeasure ˙ ˙
˙ 400 IfcFrequencyMeasure 46 IfcNumericMeasure ˙ ˙
˙ 800 IfcFrequencyMeasure 56 IfcNumericMeasure ˙ ˙
˙ 1600 IfcFrequencyMeasure 60 IfcNumericMeasure ˙ ˙
˙ 3200 IfcFrequencyMeasure 65 IfcNumericMeasure ˙ ˙
HISTORY: New entity in IFC2x.
IFC2x4 CHANGE  Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added..

Informal propositions:

  1. The list of DefinedValues and the list of DefiningValues are corresponding lists.
" 388;IfcPropertyReferenceValue;"

IfcPropertyReferenceValue allows a property value to be given by referencing other entities within the resource definitions of IFC. Those other entities are regarded as predefined complex properties and can be aggregated within a property set (IfcPropertySet). The allowable entities to be used as value references are given by the IfcObjectReferenceSelect.

HISTORY  New entity in IFC Release 1.5. Entity has been renamed from IfcObjectReference in IFC Release 2x.
IFC2x4 CHANGE  Attribute PropertyReference has been made OPTIONAL with upward compatibility for file based exchange.
" 400;IfcPropertyListValue;"

An IfcPropertyListValue defines a property that has several (numeric or descriptive) values assigned, these values are given by an ordered list.˙It defines a property - list value combination for which the property Name, an optional Description,˙the optional ListValues with measure type and optionally an Unit is given.

An IfcPropertyListValue is a list of values. The order in which values appear is significant. Each value in the list is unique i.e. no duplicate values are allowed. All list members shall be of the same type.

The unit applicable to all values is handled by the Unit attribute:

Example of a property with list value is:

Name ListValues Type
(through IfcValue)
Unit
ApplicableSizes 1200 IfcPositiveLengthMeasure -
- 1600 IfcPositiveLengthMeasure -
- 2400 IfcPositiveLengthMeasure -
HISTORY  New Entity in Release IFC 2x Edition 2.
IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange.
" 406;IfcPhysicalQuantity;"

The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value.

The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute.

HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases.
" 413;IfcPhysicalSimpleQuantity;"

The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value.

EXAMPLE  An element, like a wall, may have several area measures, like footprint area, left wall face area, right wall face area. These areas would be given by three instances of the area quantity subtype, with different Name string values.

A section ""Quantity Use Definition"" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name attribute to characterize the individual quantities. If the Unit attribute is given, the value attribute (introduced at the level of subtypes of IfcPhysicalSimpleQuantity) are given as quantities of this unit, otherwise the global unit definitions (given by IfcUnitAssignment) are used.

HISTORY New entity in IFC2x2 Addendum 1.
IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed.
" 421;IfcQuantityLength;"

IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.

EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used.
HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases.
" 426;IfcQuantityArea;"

IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.

EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used.
HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases.
" 431;IfcQuantityVolume;"

IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.

EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used.
HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases.
" 436;IfcQuantityCount;"

IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.

EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used.
HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases.
" 440;IfcQuantityWeight;"

IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.

EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used.
HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases.
" 445;IfcQuantityTime;"

IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement.

EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information.
HISTORY  New entity in IFC2x2.
" 450;IfcPhysicalComplexQuantity;"

The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element.

EXAMPLE: A layered element, like a wall, may have several material layers, each having individual quantities, like footprint area, side area and volume. An instance of IfcPhysicalComplexQuantity would group these individual quantities (given by a subtype of IfcPhysicalSimpleQuantity) and name them according to the material layer name by using the Name attribute. The Discrimination attribute would then be 'layer'.

A section ""Quantity Use Definition"" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name and Discrimination attribute to characterize the complex quantities.

HISTORY  New entity in IFC2x2 Addendum 1.
IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed.
" 459;IfcSystem;"

Definition from IAI: Organized combination of related parts within an AEC product, composed for a common purpose or function or to provide a service. System is essentially a functionally related aggregation of products. The grouping relationship to one or several instances of IfcProduct (the system members) is handled by IfcRelAssignsToGroup.

NOTE: The use of IfcSystem often applies to the representation of building services related systems, such as the piping system, cold water system, etc. Members within such a system may or may not be connected using the connectivity related entities (e.g. through IfcPort).

HISTORY: New entity in IFC Release 1.0

" 464;IfcZone;"

Definition from IAI: A zone is˙a group of spaces, partial spaces or other zones. Zone structures may not be hierarchical (in contrary to the spatial structure of a project - see IfcSpatialStructureElement), i.e. one individual IfcSpace may be associated with zero, one, or several IfcZone's. IfcSpace's are grouped into an IfcZone by using the objectified relationship IfcRelAssignsToGroup as specified at the supertype IfcGroup.

NOTE ˙Certain use cases may restrict the freedom of non hierarchical relationships. In some building service use cases the zone denotes a˙view based delimited volume for the purpose of analysis and calculation. This type of zone cannot overlap with respect to that analysis, but may overlap otherwise.

An IfcZone is a spatial system under which individual IfcSpace's (and other IfcZone's) are grouped. In contrary to the IfcSpatialZone entity, IfcZone is a mere grouping, it can not define an own geometric representation and placement. Therefore it cannot be used for spatial zones having a different shape and size compared to the shape and size of aggregated spaces.

NOTE˙ The IfcZone is regarded as the spatial system (as compared to the building service, electrical, or analytical system), the name remains IfcZone for compatibility reasons, instead of using a proper naming convention, like IfcSpatialSystem.
NOTE ˙One of the purposes of a zone is to define a fire compartmentation. In this case it defines the geometric information about the fire compartment (through the contained spaces) and information, whether this compartment is ventilated or sprinkler protected. In addition the fire risk code and the hazard type can be added, the coding is normally defined within a national fire regulation. All that information is available within the relevant property sets. Again, if an independent shape has to be provided to the fire compartment, then the entity IfcSpatialZone shall be used.
RECOMMENDATION˙ In case of a zone denoting a (fire) compartment, the following types should be used, if applicable, as values of the ObjectType attribute:

Additional classifications of the IfcZone, as provided by a national classification system, can be assigned by using the IfcRelAssociatesClassification relationship, accessible via the inverse attribute HasAssociations. The IfcZone can be assigned to a spatial structure element, it refers to, e.g. to a particular IfcBuildingStorey by using the IfcRelServicesBuildings relationship, accessible via the inverse attribute ServicesBuilding.

HISTORY˙ New entity in IFC Release 1.0
IFC2x4 CHANGE˙ The entity is now subtyped from IfcSystem (not its supertype IfcGroup) with upward compatibility for file based exchange.

Property Set Use Definition:

The property sets relating to the IfcZone are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcZone are part of this IFC release:

" 467;IfcRelConnectsElements;"

Definition from IAI: The IfcRelConnectsElements objectified relationship provides the generalization of the connectivity between elements. It is a 1 to 1 relationship. The concept of two elements being physically or logically connected is described independently from the connecting elements. The connectivity may be related to the shape representation of the connected entities by providing a connection geometry.

HISTORY New entity in IFC Release 1.0.

" 474;IfcRelSpaceBoundary;"

The space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary to the surrounding elements.

The IfcRelSpaceBoundary is defined as an objectified relationship that handles the element to space relationship by objectifying the relationship between an element and the space it bounds. It is given as a one-to-one relationship, but allows each element (including virutal elements and openings) to define many such relationship and each space to be defined by many such relationships.

Space boundaries are always defined as seen from the space. In general two basic types of space boundaries are distinguished:

The exact definition of how space boundaries are broken down depends on the view definition, more detailed conventions on how space boundaries are decomposed can only be given at the domain or application type level.

Figure 42 — Space boundary at first level

Figure 43 — Space boundary at second level

Figure 44 — Space boundary at second level type A

Figure 45 — Space boundary at second level type B

HISTORY New entity in IFC Release 1.5, the entity has been modified in IFC Release 2x.
IFC2x CHANGE The data type of the attributeRelatedBuildingElement has been changed from IfcBuildingElement to its supertype IfcElement. The data type of the attribute ConnectionGeometry has been changed from IfcConnectionSurfaceGeometry to its supertype IfcConnectionGeometry.
IFC2x4 CHANGE The attribute RelatedBuildingElement has been made mandatory. For virtual boundaries the reference to IfcVirtualElement is now mandatory.

Attribute Use Definitions

The differences between the 1st and 2nd level space boundaries is identified by:

Differentiation between physical and virtual space boundary is illustrated in Figure 46 and Figure 47.

As shown in Figure 46, if the IfcRelSpaceBoundary is used to express a virtual boundary, the attribute PhysicalOrVirtualBoundary has to be set to VIRTUAL. The attribute RelatedBuildingElement shall point to an instance of IfcVirtualElement. If the correct location is of interest, the attribute ConnectionGeometry is required.

NOTE The connection geometry, either by a 2D curve or a 3D surface, is used to describe the portion of the ""virtual wall"" that separates the two spaces. All instances of IfcRelSpaceBoundary given at the adjacent spaces share the same instance of IfcVirtualElement. Each instance of IfcRelSpaceBoundary provides in addition the ConnectionGeometry given within the local placement of each space.

Figure 46 — Space boundary of virtual element

As shown in Figure 47, if the IfcRelSpaceBoundary is used to express a physical boundary between two spaces, the attribute PhysicalOrVirtualBoundary has to be set to PHYSICAL. The attribute RelatedBuildingElement has to be given and points to the element providing the space boundary. The attribute ConnectionGeometry may be inserted, in this case it describes the physical space boundary geometically, or it may be omited, in that case it describes a physical space boundary logically.

Figure 47 — Space boundary of physical element

Geometry Use Definitions

The IfcRelSpaceBoundary may have geometry attached. If geometry is not attached, the relationship between space and building element is handled only on a logical level. If geometry is attached, it is given within the local coordinate systems of the space.

NOTE: The attributes CurveOnRelatingElement at IfcConnectionCurveGeometry or SurfaceOnRelatingElement at IfcConnectionSurfaceGeometry provide the geometry within the local coordinate system of the IfcSpace, whereas the attributes CurveOnRelatedElement at IfcConnectionCurveGeometry or SurfaceOnRelatedElement at IfcConnectionSurfaceGeometry provide the geometry within the local coordinate system of the subtype of IfcElement.
NOTE In most view definitions the connection geometry for the related IfcElement is not provided.

The geometric representation (through the ConnectionGeometry attribute) is defined using either 2D curve geometry or 3D surface geometry for space boundaries. In most view definitions the 3D connection surface geometry is required.

Surface connection geometry

The following constraints apply to the surface connection geometry representation:

Curve connection geometry

The following constraints apply to the 2D curve representation:

" 483;IfcRelSpaceBoundary1stLevel;"

The 1st level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary1stLevel to the surrounding elements. 1st level space boundaries are characterizeda by:

1st level space boundaries define a space by its boundary surfaces without taking anything on the other side of the bounding elements into account.

NOTE 1st level space boundaries are used e.g. in quantity take-off and facility management as they describe the surfaces for finishes. They cannot be directly used for thermal analysis. However 1st level space boundaries can provide the input to preprocessors to thermal analysis software that take 1st level space boundaries and perform the necessary transformation into 2nd level space boundaries that are required for energy analysis.
HISTORY New entity in IFC2x4.

Relationship Use Definitions

As shown in Figure 48, the attribute ParentBoundary with inverse InnerBoundaries is provided to link the space boundaries of doors, windows, and openings to the parent boundary, such as of a wall or slab.

NOTE The space boundary of the parent is not cut by the inner boundary - both overlap.

Figure 48 — Space boundary first level relationships

Geometry Use Definitions

See the definition at the supertype IfcRelSpaceBoundary for guidance on using the connection geometry for first level space boundaries.

" 486;IfcRelSpaceBoundary2ndLevel;"

The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by:

2nd level space boundaries define the heat transfer surfaces on both sides of building elements that separate spaces. The generation of 2nd level space boundaries has to take building elements and spaces on the other side into account.

NOTE 2nd level space boundaries are used by many analysis packages that require a surface view of the building that can be transformed into the various simple topological models. Examples of such analysis packages include: (1) energy analysis, (2) lighting analysis, (3) fluid dynamics
HISTORY New entity in IFC2x4.

Relationship Use Definitions

As shown in Figure 49, the attribute ParentBoundary with inverse InnerBoundaries is provided to link the space boundaries of doors, windows, and openings to the parent boundary, such as of a wall or slab.

NOTE The space boundary of the parent is not cut by the inner boundary - both overlap.

The attribute CorrespondingBoundary with inverse Corresponds is provided to link the pair of space boundaries on the opposite sides of the building element.

NOTE Only 2nd level space boundaries of type A have corresponding boundaries.

Figure 49 — Space boundary second level relationships

Geometry Use Definitions

See the definition at the supertype IfcRelSpaceBoundary for guidance on using the connection geometry for second level space boundaries.

" 494;IfcSpace;"

A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building.

A space is associated to a building storey (or in case of exterior spaces to a site). A space may span over several connected spaces. Therefore a space group provides for a collection of spaces included in a storey. A space can also be decomposed in parts, where each part defines a partial space. This is defined by the CompositionType attribute of the supertype IfcSpatialStructureElement which is interpreted as follow:

NOTE View definitions and implementation agreements may restrict spaces with CompositionType=ELEMENT to be non-overlapping.

The following guidelines should apply for using the Name, Description, LongName and ObjectType attributes.

HISTORY New Entity in IFC Release 1.0

Property Set Use Definition

The property sets relating to the IfcSpace are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcSpace are part of this IFC release:

Quantity Use Definition

The quantities relating to the IfcSpace are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Spatial Structure Use Definition

The IfcSpace is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcSpace references them by its inverse relationships:

If there are building elements and/or other elements directly related to the IfcSpace (like most furniture and distribution elements), they are associated with the IfcSpace by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcSpace references them by its inverse relationship:

Figure 57 shows the IfcSpace as part of the spatial structure. It also serves as the spatial container for space related elements.

NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.

Figure 57 — Space composition

Attribute Use Definition

Figure 58 describes the heights and elevations of the IfcSpace.

Figure 58 — Space elevations

Geometry Use Definition

The geometric representation of IfcSpace is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

NOTE In cases of inconsistency between the geometric representation of the IfcSpace and the combined geometric representations of the surrounding IfcRelSpaceBoundary, the geometric representation of the space should take priority over the geometric representation of the surrounding space boundaries.

Local Placement

The local placement for IfcSpace is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Currently, the use of a 2D 'FootPrint' representation of type 'Curve2D' or 'GeometricCurveSet' and a 3D 'Body' representation of type 'SweptSolid, 'Clipping' and 'Brep' is supported.

'Foot Print' Representation

The 2D geometric representation of IfcSpace is defined using the 'Curve2D' or 'GeometricCurveSet' geometry. The following attribute values should be inserted

The following constraints apply to the 2D representation:

Figure 59 shows a two-dimensional bounded curve representing the foot print of IfcSpace.

Figure 59 — Space footprint

'Swept Solid' Representation

The standard geometric representation of IfcSpace is defined using the swept area solid geometry. The following attribute values should be inserted

The following constraints apply to the standard representation:

Figure 60 shows an extrusion of an arbitrary profile definition with voids into the swept area solid of IfcSpace.

Figure 60 — Space body swept solid

'Clipping' representation

The advanced geometric representation of IfcSpace is defined using the swept area solid geometry that can be subjected to a Boolean expression. The following attribute values should be inserted.

The following additional constraints apply to the advanced representation:

Figure 61 shows an extrusion of an arbitrary profile definition into the swept area solid. The solid and an half space solid are operands of the Boolean result of IfcSpace.

Figure 61 — Space body clipping

'Brep' representation

The fallback advanced geometric representation of IfcSpace is defined using the Brep solid geometry. may be represented as a single or multiple instances of IfcFacetedBrep or IfcFacetedBrepWithVoids. The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

" 501;IfcSpatialStructureElement;"

A spatial structure element (IfcSpatialStructureElement) is the generalization of all spatial elements that might be used to define a spatial structure. That spatial structure is often used to provide a project structure to organize a building project.

A spatial project structure might define as many levels of decomposition as necessary for the building project. Elements within the spatial project structure are:

or aggregations or parts thereof. The composition type declares an element to be either an element itself, or an aggregation (complex) or a decomposition (part). The interpretation of these types is given at each subtype of IfcSpatialStructureElement.

The IfcRelAggregates is defined as an 1-to-many relationship and used to establish the relationship between exactly two levels within the spatial project structure. Finally the highest level of the spatial structure is assigned to IfcProject using the IfcRelAggregates.

Informal proposition:

  1. The spatial project structure, established by the IfcRelAggregates, shall be acyclic.
  2. A site should not be (directly or indirectly) associated to a building, storey or space.
  3. A building should not be (directly or indirectly) associated to a storey or space.
  4. A storey should not be (directly or indirectly) associated to a space.
HISTORY New entity in IFC Release 2x.

Relationship Use Definition

The subtypes of IfcSpatialStructureElement relate to other elements and systems by establishing the following relationships:

The subtypes of IfcSpatialStructureElement relate to each other by using the IfcRelAggregates relationship to build the project spatial structure.

Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes.

Figure 62 — Spatial structure element composition

" 509;IfcSpatialElement;"

Definition from IAI: A spatial element is the generalization of all spatial elements that might be used to define a spatial structure or to define spatial zones.

HISTORY New entity in IFC Release 2x Edition 4.
" 516;IfcElement;"

Definition from IAI: Generalization of all components that make up an AEC product. Those elements can be logically contained by a spatial structure element that constitutes a certain level within a project structure hierarchy (e.g., site, building, storey or space). This is done by using the IfcRelContainedInSpatialStructure relationship.

Elements are physically existent objects, although they might be void elements, such as holes. Elements either remain permanently in the AEC product, or only temporarily, as formwork does. Elements can be either assembled on site or pre-manufactured and built in on site.

EXAMPLEs of elements in a building construction context are walls, floors, windows and recesses.

An element can have material and quantity information assigned through the IfcRelAssociatesMaterial and IfcRelDefinesByProperties relationship.

In addition an element can be declared to be a specific occurrence of an element type (and thereby be defined by the element type properties) using the IfcRelDefinesByType relationship.

An element can also be defined as an element assembly that is a group of semantically and topologically related elements that form a higher level part of the AEC product. Those element assemblies are defined by virtue of the IfcRelAggregates relationship.

EXAMPLEs for element assembly are complete Roof Structures, made by several Roof Areas, or a Stair, composed by Flights and Landings.

Elements that performs the same function may be grouped by an ""Element Group By Function"". It is realized by an instance of IfcGroup with the ObjectType = 'ElementGroupByFunction"".

HISTORY New entity in IFC Release 1.0

Property Set Use Definition:

The property sets relating to the IfcElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship.

Quantity Use Definition:

The quantities relating to the IfcElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcElement.

Geometry Use Definitions

The geometric representation of any IfcElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. A detailed specification for the local placement and shape representaion is introduced at the level of subtypes of IfcElement.

" 537;IfcBuildingElement;"

Definition from ISO 6707-1:1989: Major functional part of a building, examples are foundation, floor, roof, wall.

The building element comprises all elements that are primarily part of the construction of a building, i.e., its structural and space separating system.

EXAMPLEs of building elements are walls, beams, or doors, they are all physically existent and tangible things.

The IfcBuildingElement utilizes the following capabilities mainly through inverse attributes referencing objectified relationships:

NOTE View definitions and implementer agreements will determine those relationships that have to be supported in actual exchange.
  1. Grouping - being part of a logical group of objects
    • objectified relationship: IfcRelAssignsToGroup
    • object referenced by relationship: IfcGroup (and subtypes)
    • inverse attribute: HasAssignment
  2. Work processes - reference to work tasks, in which this building element is used
    • objectified relationship: IfcRelAssignsToProcess
    • object referenced by relationship: IfcProcess (and subtypes)
    • inverse attribute: HasAssignments
  3. Structural member reference - information whether the building element is represented in a structural analysis model by a structural member
    • objectified relationship: IfcRelAssignsToProduct
    • object referenced by relationship: IfcStructuralMember (and by default IfcStructuralCurveMember)
    • inverse attribute: HasAssignments
  4. Aggregation - aggregated together with other elements to form an aggregate
    • objectified relationship: IfcRelAggregates
    • object referenced by relationship: IfcElement (and subtypes)
    • inverse attribute (for container): IsDecomposedBy
    • inverse attribute (for contained parts): Decomposes
  5. Material - assignment of material used by this building element
    • objectified relationship: IfcRelAssociatesMaterial
    • object referenced by relationship: IfcMaterialSelect (and selected items)
    • inverse attribute: HasAssociations
  6. Classification - assigned reference to an external classification
    • objectified relationship: IfcRelAssociatesClassification
    • object referenced by relationship: IfcClassificationNotationSelect (and selected items, default IfcClassificationReference)
    • inverse attribute: HasAssociations
  7. Library - assigned reference to an external library item reference
    • objectified relationship: IfcRelAssociatesClassification
    • object referenced by relationship: IfcLibrarySelect (and selected items, default IfcLibraryReference)
    • inverse attribute: HasAssociations
  8. Documentation - assigned reference to an external documentation
    • objectified relationship: IfcRelAssociatesDocumentation
    • object referenced by relationship: IfcDocumentSelect (and selected items, default IfcDocumentReference)
    • inverse attribute: HasAssociations
  9. Type - reference to the common product type information for the element occurrence
    • objectified relationship: IfcRelDefinesByType
    • object referenced by relationship: IfcBuildingElementType (and subtypes)
    • inverse attribute: IsTypedBy
  10. Properties - reference to all attached properties, including quantities
    • objectified relationship: IfcRelDefinesByProperties
    • object referenced by relationship: IfcPropertySetDefinition (default IfcPropertySet)
    • inverse attribute: IsDefinedBy
  11. Connection - connectivity to other elements, including the definition of the joint
    • objectified relationship: IfcRelConnectsElements
    • object referenced by relationship: IfcElement
    • inverse attribute: ConnectedTo
    • inverse attribute: ConnectedFrom
  12. Realization - information, whether the building element is used to realize a connection (e.g. as a weld in a connection between two members)
    • objectified relationship: IfcRelConnectsWithRealizingElements
    • object referenced by relationship: IfcElement
    • inverse attribute: IsConnectionRealization
  13. Assignment to spatial structure - hierarchical assignment to the right level within the spatial structure
    • objectified relationship: IfcRelContainedInSpatialStructure
    • object referenced by relationship: IfcSpatialStructureElement
    • inverse attribute: ContainedInStructure
  14. Reference to spatial structure(s) - non hierarchical reference to one or more elements within the spatial structure (e.g. a curtain wall, being contained in the building, references several stories)
    • objectified relationship: IfcRelContainedInSpatialStructure
    • object referenced by relationship: IfcSpatialElement
    • inverse attribute: ContainedInStructure
  15. Boundary - provision of space boundaries by this building element
    • objectified relationship: IfcRelSpaceBoundary
    • object referenced by relationship: IfcSpace
    • inverse attribute: ProvidesBoundaries
  16. Coverings - assignment of covering elements to this building element (note: normally covering elements are assigned to the space, only used for special cases)
    • objectified relationship: IfcRelCoversBldgElements
    • object referenced by relationship: IfcCovering
    • inverse attribute: HasCoverings
  17. Voids - information, whether the building element includes openings, recesses or other voids
    • objectified relationship: IfcRelVoidsElement
    • object referenced by relationship: IfcFeatureElementSubtraction (default IfcOpeningElement)
    • inverse attribute: HasOpenings
  18. Projection - information, whether the building element has projections (such as a fascia)
    • objectified relationship: IfcRelProjectsElement
    • object referenced by relationship: IfcFeatureElementAddition (default IfcProjectionElement)
    • inverse attribute: HasProjections
  19. Filling - information whether the building element is used to fill openings
    • objectified relationship: IfcRelFillsElement
    • object referenced by relationship: IfcOpeningElement
    • inverse attribute: FillsVoids
HISTORY New entity in IFC Release 1.0

Property Set Use Definition

The properties relating to the IfcBuildingElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties. A detailed specification for individual property sets applicable is introduced at the level of subtypes of IfcBuildingElement.

NOTE The applicable property sets are provided by an xml property set definition that includes multilingual translations for each property. The xml definition file format, psdXML, can be used to automatically configure the properties for each building element.

Quantity Use Definition:

The quantities relating to the IfcBuildingElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcBuildingElement.

NOTE The applicable element quantities are provided by an xml quantity definition that includes multilingual translations for each quantity. The xml definition file format, qdXML, can be used to automatically configure the quantities for each building element.

Geometry Use Definitions

The geometric representation of any IfcBuildingElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for any IfcBuildingElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. Further constraints are defined at the level of its subtypes.

Geometric Representations

An IfcBuildingElement can be represented by one or several geometric representations. The following representation identifiers are used for building elements 'Box', 'Axis', 'FootPrint', 'Surface', and 'Body'. A detailed specification is introduced at the level of subtypes.

NOTE Some subtypes of IfcBuildingElement may exclude one or several geometric representation types, e.g. standard case elements, such as IfcWallStandardCase, do not allow the use of 'SurfaceModel', 'Brep', 'AdvancedBrep', and 'MappedRepresentation'. In addition view definitions and implementer agreements may restrict the use of geometric representation types, e.g. the use of 'AdvancedBrep'.

Box Representation

Any IfcBuildingElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

As shown in Figure 22, the bounding box representation is given by an IfcShapeRepresentation that includes a single item, an IfcBoundingBox.

Figure 22 — Building element box representation

Axis Representation

Some IfcBuildingElement may be represented by an axis as an abstract geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:

Surface Representation

Some IfcBuildingElement may be represented by an surface as an abstract geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:

FootPrint Representation

Any IfcBuildingElement may be represented by a footprint as a specific floor plan geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:

Body Representation

The body representation of any IfcBuildingElement can have the following representation types: 'SurfaceModel', 'Brep', 'AdvancedBrep', and 'MappedRepresentation'. Other representation types might be specified at the level of subtypes.

SurfaceModel Representation Type

Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.

As shown in Figure 23, the surface model representation is given by an IfcShapeRepresentation, which includes a single item which is either:

Figure 23 — Building element surface model representation

Brep Representation Type

Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.

As shown in Figure 24, the Brep representation is given by an IfcShapeRepresentation, which includes one or more items, all of type IfcFacetedBrep.

Figure 24 — Building element body boundary representation

AdvancedBrep Representation Type

An IfcBuildingElement (so far no further constraints are defined at the level of its subtypes or by view definitions) may be represented as a single or multiple Boundary Representation elements (which are based on advanced surfaces, usually refered to as NURBS surfaces). The AdvancedBrep representation allows for the representation of complex free-form element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.

MappedRepresentation Representation Type

Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented using the MappedRepresentation. This shall be supported as it allows for reusing the geometry definition of a type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

The same constraints, as given for 'SurfaceModel', 'Brep', and 'AdvancedBrep' geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

" 540;IfcFurnishingElement;"

Definition from IAI: Generalization of all furniture related objects. Furnishing objects are characterized as being

Thus furnishing elements can either be movable, or not (as the built-ins).

HISTORY New entity in IFC Release 2x.
IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.

Geometry Use Definitions:

The geometric representation of IfcFurnishingElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representation.

Local Placement

The local placement for IfcFurnishingElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Any IfcFurnishingElement can be represented by one or several geometric representations. This includes the general representation types 'BoundingBox', 'GeometricCurveSet', 'SurfaceModel', 'Brep', and 'MappedRepresentation' being defined here.

Bounding Box Representation

Any IfcFurnishingElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Foot Print Representation

The foot print representation of IfcFurnishingElement is given by either a single or multiple 2D points and curves. The representation identifier and type of this geometric representation are:

SurfaceModel Representation

Any IfcFurnishingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. The representation identifier and type of this geometric representation are:

Brep Representation

Any IfcFurnishingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. The representation identifier and type of this geometric representation are:

MappedRepresentation

The IfcMappedItem should always be used in appropriate cases as it allows for reusing the geometry definition of the furnishing type for all occurrences of the same type. The representation identifier and type of this geometric representation are:

" 541;IfcDistributionElement;"

Definition from IAI: Generalization of all elements that participate in a distribution system. Typical examples of IfcDistributionElement are (among others):

The IfcDistributionElement is further specialized in the IFC model. Direct instantiation of IfcDistributionElement without an assigned subtype of IfcDistributionElementType provides the meaning of an distribution element proxy.

HISTORY New entity in IFC Release 1.5.
IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.

Relationship Use Definition

  1. Ports - information, whether the distribution element has ports for system connections
    • objectified relationship: IfcRelConnectsPortToElement
    • object referenced by relationship: IfcPort
    • inverse attribute: HasPorts

Type Use Definition

The IfcDistributionElement defines the occurrence of any HVAC, electrical, sanitary or other element within a distribution system. Common information about distribution element types (or styles) is handled by subtypes of IfcDistributionElementType. The IfcDistributionElementType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcDistributionElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

The assignment of types to distribution element occurrences is vital for providing the additional meaning, or ontology, of the distribution element. Many specialized type are defined in other schemas of the IFC specification.

Quantity Use Definition

The quantities relating to the IfcDistributionElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcDistributionElement.

Containment Use Definition

The IfcDistributionElement may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

Geometry Use Definitions

The geometric representation of IfcDistributionElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcDistributionElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

The geometric representation of IfcDistributionElement is defined using different geometric representation types for the various subtypes. Only general recommendations are given at the level of the supertype, further constraints are defined at the level of its subtypes.

The shared geometric representation of the distribution element type (or in some cases of the distribution element) should follow (if applicable) the the following guidelines:

" 545;IfcDistributionElementType;"

Definition from IAI: The IfcDistributionElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

NOTE˙ The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A distribution element type is used to define the common properties of a certain type of a distribution element that may be applied to many instances of that feature type to assign a specific style. Distribution element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcDistributionElementType are represented by instances of IfcDistributionElement (or its subtypes).

HISTORY˙ New entity in Release IFC2x Edition 2.
IFC2x3 CHANGE˙ The entity has been made non-abstract

IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.
" 549;IfcElementType;"

Definition from IAI: The IfcElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

An element type is used to define the common properties of a certain type or style of an element that may be applied to instances of that element type to assign a specific style. Element types (the instantiable subtypes) may be exchanged without being already assigned to occurrences.

HISTORY New entity in Release IFC2x Edition 2

" 557;IfcSpatialElementType;"

Definition from IAI: The IfcSpatialElementType defines a list of commonly shared property set definitions of a spatial structure element and an optional set of product representations. It is used to define a spatial element specification (i.e. the specific element information, that is common to all occurrences of that element type).

NOTE ˙The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A spatial element type is used to define the common properties of a certain type of a spatial structure element that may be applied to many instances of that˙type to assign a specific style. Spatial element types (i.e. the instantiable subtypes) may be exchanged without being already assigned to occurrences.

NOTE ˙The spatial element types are often used to represent catalogues of predefined spatial types for shared attributes, less so for sharing a common representation map.

The occurrences of subtypes of the abstract IfcSpatialElementType are represented by instances of subtypes of the abstract IfcSpatialElement.

HISTORY ˙New entity in Release IFC2x Edition 4.

" 561;IfcSpatialStructureElementType;"

Definition from IAI: The element type (IfcSpatialStructureElementType) defines a list of commonly shared property set definitions of a spatial structure element and an optional set of product representations. It is used to define an element specification (i.e. the specific element information, that is common to all occurrences of that element type).

NOTE ˙The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A spatial structure element type is used to define the common properties of a certain type of a spatial structure element that may be applied to many instances of that˙type to assign a specific style. Spatial structure element types (i.e. the instantiable subtypes) may be exchanged without being already assigned to occurrences.

NOTE ˙The spatial structure element types are often used to represent catalogues of predefined spatial types for shared attributes, less so for sharing a common representation map.

The occurrences of subtypes of the abstract˙IfcSpatialStructureElementType are represented by instances of subtypes of IfcSpatialStructureElement.

HISTORY ˙New entity in Release IFC2x Edition 3.

" 563;IfcSpaceType;"

Definition from IAI: A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building.

The IfcSpaceType defines a list of commonly shared defines commonly shared information for occurrences of spaces. The set of shared information may include:

It is used to define an space specification (i.e. the specific space information, that is common to all occurrences of that space type. Space types may be exchanged without being already assigned to occurrences.

NOTE ˙The space types are often used to represent space catalogues, less so for sharing a common representation map. Space types in a space catalogue share same space classification and a common set of space requirement properties.

The occurrences of IfcSpaceType are represented by instances of IfcSpace.

HISTORY ˙New entity in IFC2x3.

Property Set Use Definition:

The shared property sets relating to the IfcSpaceType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcSpaceType are part of this IFC release:

NOTE There is no differentiation between properties within the property set that are only assignable to IfcSpaceType and those that are only assignable to IfcSpace. If the same property is assigned to the IfcSpaceType and the IfcSpace being an occurrence of the IfcSpaceType, then the occurrence property overrides the type property.

Geometry Use Definition:

The IfcSpaceType may define the shared geometric representation for all space occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'FootPrint', or 'Body').

NOTE ˙The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

However view definitions and implementer agreements may prevent the usage of shared geometry for spaces.
.
" 574;IfcSpatialZoneType;"

Definition from IAI: The IfcSpatialZoneType defines a list of commonly shared property set definitions of a space and an optional set of product representations. It is used to define a space specification (i.e. the specific space information, that is common to all occurrences of that space type).

NOTE ˙The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A spatial zone type is used to define the common properties of a certain type of space that may be applied to many instances of that type to assign a specific style. Space types may be exchanged without being already assigned to occurrences.

NOTE ˙The spatial zone types are often used to represent space catalogues, less so for sharing a common representation map. Spatial zone types in a space catalogue share same space classification and a common set of space requirement properties.

The occurrences of IfcSpatialZoneType are represented by instances of IfcSpatialZone.

HISTORY ˙New entity in Release IFC2x Edition 4.

" 586;IfcBuildingElementType;"

Definition from IAI: The element type (IfcBuildingElementType) defines a list of commonly shared property set definitions of a building element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A building element type is used to define the common properties of a certain type of a building element that may be applied to many instances of that feature type to assign a specific style. Building element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The IfcBuildingElementType is an abstract type. Occurrences of subtypes of the IfcBuildingElementType are represented by instances of the appropriate subtypes of IfcBuildingElement.

HISTORY New entity in Release IFC2x Edition 2.

" 587;IfcFurnishingElementType;"

Definition from IAI: The IfcFurnishingElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

NOTE˙ The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

A furnishing element type is used to define the common properties of a certain type of a furnishing element that may be applied to many instances of that feature type to assign a specific style. Furnishing element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcFurnishingElementType are represented by instances of IfcFurnishingElement (or its subtypes).

HISTORY˙New entity in Release IFC2x Edition 2.
IFC2x3 CHANGE The entity has been made non-abstract
IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.
" 590;IfcTransportElementType;"

Definition from IAI: The element type IfcTransportElementType defines commonly shared information for occurrences of transport elements. The set of shared information may include:

It is used to define a transport element specification (i.e. the specific product information that is common to all occurrences of that beam type). Transport element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcTransportElementType are represented by instances of IfcTransportElement (or its subtypes).

HISTORY: New entity in Release IFC2x Edition 2.

Property Set Use Definition:

The shared property sets relating to the IfcTransportElementType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcTransportElementType are part of this IFC release:

NOTE There is no differentiation between properties within the property set that are only assignable to IfcTransportElementType and those that are only assignable to IfcTransportElement. If the same property is assigned to the IfcTransportElementType and the IfcTransportElement being an occurrence of the IfcTransportElementType, then the occurrence property overrides the type property.

Geometry Use Definition:

The IfcTransportElementType may define the shared geometric representation for all transport element occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'FootPrint', or 'Body').

NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcTransportElementType.
" 601;IfcGeographicElementType;"

Definition from IAI: An IfcGeographicElementType is used to define an element specification of a geographic element (i.e. the specific product information, that is common to all occurrences of that product type).˙Geographic element types include for different types of element that may be used to represent information within a geographical landscape external to a building. Within the world of geographic information they are referred to generally as 'features'.˙

Geographic element types includes for many possibilities:

The specification of the specific types are given by the inherited attribute IfcElementType.ElementType given as an IfcLabel

NOTE ˙This is due to the range of choices of element type thyat are available and their expression in different languages. It is not considered possible to create a reasonably full list of types within an enumeration. It is suggested that selection of the relevant type be drawn from an available 'feature catalog'.

HISTORY˙ New entity in Release IFC2x Edition 4.

Feature Catalog Use Definition

Geographic element types are frequently identified in feature catalogs that are produced for particular purposes.˙The IfcGeographicElementType entity enables the continued use of existing feature catalogs through capture of their identity and attributes.

Information from feature catalogs might be captured in various ways:

  1. via property sets, some of which will be specifically defined within the IFC property set catalog whilst others will be created for local use; this is the form of capture that is expected to be most widely used
  2. through use of the IFC classification model whereby features might be identified through a classification notation and additional description; in which case, any further attributes required would still need to be captured in property sets.
" 607;IfcElementAssemblyType;"

Definition from IAI: The IfcElementAssemblyType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

NOTE˙ The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

An element assembly type is used to define the common properties of a certain type of an element assembly that may be applied to many instances of that type to assign a specific style. An element assembly types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcElementAssemblyType are represented by instances of IfcElementAssembly.

HISTORY˙ New entity in Release IFC2x Edition 4.
" 622;IfcRelConnectsPortToElement;"

The objectified relationship IfcRelConnectsPortToElement defines the relationship that is made between a port and the IfcElement, or IfcElementType in which it is contained. It is a 1 to 1 relationship.

The IfcRelConnectsPortToElement established a whole part relationship between the element and its port. The port is used as the means to connect to other ports in other elements. Since both, the element-to-port, and the port-to-port relationships are 1:1 relationships, a topological system (or system path or ciruit) can be defined.

Ports contained in different elements are connected to each other using the IfcRelConnectsPorts relationship.

See relevant subtypes of IfcDistributionElement for examples and port use definition sections.

HISTORY  New entity in Release IFC2x Edition 2.
IFC2x4 CHANGE  The definition has been extended to include element types.

" 626;IfcPort;"

Definition from IAI: An IfcPort provides the means for an element to connect to other elements.

An IfcPort is associated with an IfcElement, it belongs to, through the objectified relationship IfcRelConnectsPortToElement. Exactly two ports, belonging to two different elements, are connected with each other through the objectified relationship IfcRelConnectsPorts.

An instance of IfcElement may have one or more points at which it connects to other instances of IfcElement. An instance of IfcPort is located at a point where a connection can occur. The location of the port is determined in the context of the local coordinate system of the element to which it belongs.

HISTORY New entity in Release IFC2x Edition 2.

Containment Use Definitions

As a subordinate part being fully dependent on the master element the IfcPort shall have no independent containment relationship to the spatial structure.

Geometry Use Definition

The geometric representation of IfcPort is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcPort is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Shape Representation

The geometry use definitions for the shape representation of the IfcPort is given at the level of its subtypes.

" 630;IfcRelConnectsPorts;"

Definition from IAI: An IfcRelConnectsPorts defines the relationship that is made between two ports at their point of connection. It may include the connection geometry between two ports.

IfcRelConnectsPorts is required for defining how instances of IfcPort connect together. Each of the port is being logically attached to the IfcElement by using the IfcRelConnectsPortToElement relationship.

HISTORY New entity in IFC 2.0, modified in IFC2x.

" 638;IfcTransportElement;"

Definition from IAI: Generalization of all transport related objects that move people, animals or goods within a building or building complex. The IfcTransportElement defines the occurrence of a transport element, that (if given), is expressed by the IfcTransportElementType.

EXAMPLE Transportation elements include elevator (lift), escalator, moving walkway, etc.
NOTE More detailed equipment that may be a part of a transportation device, like a lifting hook, is defined as IfcDiscreteAccessory

Depending on local classification systems transport elements and transportation systems in buildings are either considered as part of a building system, or as part of a building service system. Within IFC they are considered as part of a building system and may have to be mapped appropriately.

HISTORY New entity in IFC Release 2x.
IFC2x PLATFORM CHANGE The attribute PredefinedType (previously OperationType) is made optional.

Type Use Definition

IfcTransportElement defines the occuurence of any transportation device, common information about transportation device types (or styles) is handled by IfcTransportElementType. The IfcTransportElementType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcTransportElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

If no IfcTransportElementType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

Property Set Use Definition:

The property sets relating to the IfcTransportElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcTransportElement are part of this IFC release:

Containment Use Definition

The IfcTransportElement, as any subtype of IfcElement, may have a hierarchical spatial containment relationships that is mandatory in most implementation scenarios.

Geometry Use Definitions:

The geometric representation of IfcTransportElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcTransportElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

SurfaceModel Representation

Any IfcTransportElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. Then the following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Brep Representation

Any IfcTransportElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). Then the following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

MappedRepresentation

The mapped item, IfcMappedItem, should be used if appropriate as it allows for reusing the geometry definition of the property element type at occurrences of the same equipement type. Then the following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

" 644;IfcFeatureElement;"

Definition from IAI: Generalization of all existence dependent elements which modify the shape and appearance of the associated master element. The IfcFeatureElement offers the ability to handle shape modifiers as semantic objects within the IFC object model.

NOTE The term ""feature"" has a predefined meaning in a context of ""feature-based modeling"" and within steel construction work. It is introduced here in a broader sense to cover all existence dependent, but semantically described, modifiers of an element's shape and appearance. It is envisioned that future releases enhance the feature-based capabilities of the IFC model.

In contrary to the aggregation, as used in IfcElementAssembly, that defines the aggregate as a container element, that has equally treated parts, the feature concept introduced by IfcFeatureElement defines the master element with subordinate parts as additions, or with voids or cut-outs as subtractions.

HISTORY New entity in Release IFC2x Edition 2.
NOTE The entity is introduced as an upward compatible extension of the IFC2x platform. It is an intermediate abstract supertype without defining its own explicit attributes.

Containment Use Definition

As a subordinate part being fully dependent on the master element the IfcFeatureElement shall have no independent containment relationship to the spatial structure.

Geometry Use Definition

The geometric representation of IfcFeatureElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Any IfcFeatureElement can be represented by one or several geometric representations. A detailed specification is introduced at the level of subtypes. Only the general representation identifier 'Box' with representation type 'BoundingBox', and representation identifier 'Body' with representation type 'Brep' are defined here.

Box Representation

Any IfcFeatureElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Body Representation

The body representation of any IfcFeatureElement can have the following representation types: 'Brep'. Other representation types might be specified at the level of subtypes.

Brep Representation Type

Any IfcFeatureElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.

" 647;IfcFeatureElementAddition;"

Definition from IAI: A specialization of the general feature element, that represents an existence dependent element which modifies the shape and appearance of the associated master element. The IfcFeatureElementAddition offers the ability to handle shape modifiers as semantic objects within the IFC object model that add to the shape of the master element.

HISTORY New entity in Release IFC2x Edition 2.
NOTE The entity is introduced as an upward compatible extension of the IFC2x platform. It is an intermediate abstract supertype without defining its own explicit attributes.

The IfcFeatureElementAddition is associated to its master element by virtue of the objectified relationship IfcRelProjectsElement. This relationship implies a Boolean 'union' operation between the shape of the master element and the shape of the addition feature.

Containment use definition

The containment to the spatial structure is defined at the level of the supertype IfcFeatureElement

Geometry Use Definitions

The geometric representation of IfcFeatureElementAddition is given by the IfcProductDefinitionShape, allowing multiple geometric representations.

Local Placement

The local placement for IfcFeatureElementAddition is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement is always defined in relation to the local placement of the element to which the feature element is added:

Shape Representation

The geometry use definitions for the shape representation of the IfcFeatureElementAddition is given at the level of its subtypes.

" 650;IfcProjectionElement;"

The projection element is a specialization of the general feature element to represent projections applied to building elements. It represents a solid attached to any element that has physical manifestation.

EXAMPLE A wall projection such as a pilaster strip is handled by IfcProjectionElement
NOTE View definitions or implementer agreements may restrict the types of elements to which IfcProjectionElement can be applied.

An IfcProjectionElement has to be linked to a element (all subtypes of IfcElement) by using the IfcRelProjectsElement relationship. Its existence depends on the existence of the master element. The relationship implies a Boolean union operation between the volume of the projection element and the volume of the element.

HISTORY New entity in IFC2x2.
IFC2x4 CHANGE The attribute PredefinedType has been added at the end of attribute list.

The quantities relating to the IfcProjectionElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Containment Use Definition

The IfcProjectionElement shall not participate in the containment relationship, i.e. it is not linked directly to the spatial structure of the project. It has a mandatory ProjectsElements inverse relationship pointing to the IfcElement that is contained in the spatial structure.

Geometry Use Definition

The geometric representation of IfcProjectionElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for IfcOpeningRecess is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Swept Solid Representation

The geometric representation of IfcProjectionElement is defined using the swept area solid geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

The following additional constraints apply to the swept solid representation:

As shown in Figure 38, the following interpretation of dimension parameter applies for rectangular projection:

NOTE  Rectangles are now defined centric, the placement location has to be set:
NOTE  The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well.

Figure 38 — Projection representation

Brep Representation

The general b-rep geometric representation of IfcProjectionElement is defined using the Brep geometry. The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

" 655;IfcRelProjectsElement;"

The IfcRelProjectsElement is an objectified relationship between an element and one projection element that creates a modifier to the shape of the element. The relationship is defined to be a 1:1 relationship, if an element has more than one projection, several relationship objects have to be used, each pointing to a different projection element. The IfcRelProjectsElement establishes an aggregation relationship between the main element and a sub ordinary addition feature.

NOTE  In contrary the IfcRelAggregates relationship established an aggregation of equal parts to a whole.

The IfcRelProjectsElement implies a Boolean operation of addition for the geometric bodies of the element and the feature element. As with all decomposition relationships it determines:

HISTORY New entity in Release IFC2x Edition 2.
IFC2x4 CHANGE  Supertype changed to IfcRelDecomposes.

" 658;IfcRelVoidsElement;"

IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening.

As shown in Figure 50, the insertion of a void into a wall is represented by the relationship IfcRelVoidsElement. The opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement.

Figure 50 — Relationship for element voiding

HISTORY New entity in IFC Release 1.0
" 661;IfcFeatureElementSubtraction;"

The IfcFeatureElementSubtraction is specialization of the general feature element, that represents an existence dependent elements which modifies the shape and appearance of the associated master element. The IfcFeatureElementSubtraction offers the ability to handle shape modifiers as semantic objects within the IFC object model that subtract from the shape of the master element.

A single subtraction feature such as the subtype IfcOpeningElement is assigned by a single subtraction relationship IfcRelVoidsElement to one occurrences of IfcElement. It establishes a 1:1 relationship between the opening and the element. An element may have several IfcRelVoidsElement relationships, enabling several voids.

The voiding relationship between a master element and a subtraction feature is geometrically resolved by a Boolean difference operation.

HISTORY New entity in Release IFC2x Edition 2.

Containment use definition

The IfcFeatureElementSubtraction shall have no independent containment relationship to the spatial structure. See explanation at supertype IfcFeatureElement

Geometry Use Definitions

The geometric representation of IfcFeatureElementSubtraction is given by the IfcProductDefinitionShape, allowing multiple geometric representations.

Local Placement

The local placement for IfcFeatureElementSubtraction is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement is always defined in relation to the local placement of the building element from which the feature element substration is substracted:

Shape Representation

The geometry use definitions for the shape representation of the IfcFeatureElementSubtraction is given at the level of its subtypes.

" 666;IfcOpeningElement;"

The opening element stands for opening, recess or chase, all reflecting voids. It represents a void within any element that has physical manifestation. Openings can be inserted into walls, slabs, beams, columns, or other elements.

The IFC specification provides two entities for opening elements:

NOTE View definitions or implementer agreements may restrict the types of elements which can be voided by an IfcOpeningElement or IfcOpeningStandardCase

There are two different types of opening elements:

The attribute PredefinedType should be used to capture the differences,

NOTE Until IFC2x3 the information had been provided by the inherited attribute ObjectType.

An IfcOpeningElement has to be inserted into an IfcElement by using the IfcRelVoidsElement relationship. The relationship implies a Boolean subtraction operation between the volume of the voided element and the volume of the opening. It may be filled by an IfcDoor, IfcWindow, or another filling element by using the relationship IfcRelFillsElements.

HISTORY New entity in IFC Release 1.0
IFC2x CHANGE The intermediate ABSTRACT supertypes IfcFeatureElement and IfcFeatureSubtraction have been added.
IFC2x4 CHANGE The attribute PredefinedType has been added at the end of attribute list.

Property Set Use Definition:

The property sets relating to the IfcOpeningElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcOpeningElement are part of this IFC release:

Quantity Use Definition:

The quantities relating to the IfcOpeningElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Containment Use Definition

The IfcOpeningElement shall not participate in the containment relationship, i.e. it is not linked directly to the spatial structure of the project. It has a mandatory VoidsElements inverse relationship pointing to the IfcElement that is contained in the spatial structure.

NOTE See IfcRelVoidsElement for a diagram on how to apply spatial containment and the voiding relationship.

Geometry Use Definitions

The geometric representation of IfcOpeningElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for IfcOpeningElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representation

Currently, the 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcFeatureElement.

Body Representation

The 'Body' representation of IfcOpeningElement can be represented using the representation types 'SweptSolid', and 'Brep'. The representation type 'Brep' is explained at IfcFeatureElement

Swept Solid Representation Type with Horizontal Extrusion

The 'SweptSolid' geometric representation of IfcOpeningElement, using horizontal extrusion direction (for walls), is defined using the swept area solid geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

The following additional constraints apply to the swept solid representation:

NOTE In case of non-parallel jambs, the shape representation shall be a 'SweptSolid' representation with vertical extrusion.

Figure 34 illustrates an opening with horizontal extrusion.

NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.

Figure 34 — Opening with full extrusion

Figure 35 illustrates an opening for a recess.

NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.
NOTE Rectangles are now defined centric, the placement location has to be set:

Figure 35 — Opening with recess extrusion

Swept Solid Representation with Vertical Extrusion

The 'SweptSolid' geometric representation of IfcOpeningElement, using vertical extrusion direction (for walls), is defined using the swept area solid geometry, however the extrusion direction may be vertical, i.e. in case of a wall opening, the extrusion would be in the direction of the wall height. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

The following additional constraints apply to the swept solid representation:

Vertical extrusions shall be used when an opening or recess has a non rectangular foot print geometry that does not change along the height of the opening or recess.

Figure 36 shows a vertical extrusion with multiple extrusion bodies for the opening. Each extrusion body has a different extrusion lenght.

NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.

Figure 36 — Opening with multiple extrusions

" 670;IfcOpeningStandardCase;"

The standard opening, IfcOpeningStandardCase, defines an opening with certain constraints for the dimension parameters, position within the voided element, and with certain constraints for the geometric representation. The IfcOpeningStandardCase handles all cases of openings, that:

HISTORY New entity in IFC2x4

Property Set Use Definition:

The property sets relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement.

Quantity Use Definition:

The quantities relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement.

Containment Use Definition

The containment use definitions relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement.

Geometry Use Definitions

The geometric representation of IfcOpeningStandardCase is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The following constraint is mandatory for IfcOpeningStandardCase

Geometric Representation

The geometric representation of IfcOpeningStandardCase is defined using the following multiple shape representations for its definition:

Body Representation

The body representation of IfcOpeningStandardCase is represented using the representation type 'SweptSolid'.

Swept Solid Representation Type with Horizontal Extrusion

The standard geometric representation of IfcOpeningStandardCase is defined using the 'SweptSolid' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used::

The following additional constraints apply to the swept solid representation:

As shown in Figure 37, the orientation of the opening profile that is extruded for the opening body shall guarantee the following interpretation of dimension parameter for rectangular openings:

Figure 37 — Opening standard representation

" 676;IfcRelFillsElement;"

IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship.

NOTE view definitions or implementer agreements may restrict an opening to be filled by one filling element only.
HISTORY New entity in IFC Release 1.0

As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor.

Figure 40 — Relationships for element filling

" 679;IfcElementAssembly;"

The IfcElementAssembly represents complex element assemblies aggregated from several elements, such as discrete elements, building elements, or other elements.

EXAMPLE Steel construction assemblies, such as trusses and different kinds of frames, can be represented by the IfcElementAssembly entity. Other examples include slab fields aggregated from a number of precast concrete slabs or reinforcement units made from several reinforcement bars. Also bathroom units, staircase sections and other premanufactured or precast elements are examples of the general IfcElementAssembly entity
NOTE The IfcElementAssembly is a general purpose entity that is required to be decomposed. Also other subtypes of IfcElement can be decomposed, with some dedicated entities such as IfcWallElementedCase and IfcSlabElementedCase.

The assembly structure can be nested, i.e. an IfcElementAssembly could be an aggregated part within another IfcElementAssembly.

NOTE View definitions and/or implementer agreements may restrict the number of allowed levels of nesting.
HISTORY New Entity for Release IFC2x Edition 2.

Containment Use Definition

The IfcElementAssembly should have (and in most implementation scenarios it is mandatory) a relationship for its hierachical containment in the spatial structure of the project.

The IfcElementAssembly shall represent an aggregate, i.e. it should have other elements, being subtypes of IfcElement, as contained (sub)parts.

Figure 27 illustrates spatial containment and element aggregation relationships.

Figure 27 — Element assembly containment

Geometry Use Definitions

The geometric representation of IfcElementAssembly is given by the IfcProductDefinitionShape, allowing multiple geometric representations.

Local Placement

The local placement for IfcElementAssembly is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

The geometry of an IfcElementAssembly is generally formed from its components, in which case it does not need to have an explicit geometric representation. In some cases it may be useful to also expose an own explicit representation of the aggregate.

NOTE˙ View definitions or implementer agreements may further constrain the applicability of certain shape representations at the IfcElementAssembly in respect of the shape representations of its parts.

Informal proposition

  1. The IfcElementAssembly shall have an aggregation relationship to the contained parts, i.e. the (INV) IsDecomposedBy relationship shall be utilzed.
" 688;IfcVirtualElement;"

A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached.

NOTE The main purpose of IfcVirtualElement is the provision of a virtual space boundary. The IfcVirtualElement may provide the 2D curve or 3D surface representation of the virtual space connection and is referenced by two instances of IfcRelSpaceBoundary, each pointing to one of the two adjacent IfcSpaces.
HISTORY New entity in IFC Release 2x2 Addendum.
IFC2x2 CHANGE: The entity IfcVirtualElement has been added. Upward compatibility for file based exchange is guaranteed.

Space Boundary Use Definition

The IfcVirtualElement is mainly used to define a virtual boundary between two spaces. Figure 63 describes how to use IfcRelSpaceBoundary in conjunction with IfcVirtualElement to define space boundaries.

Figure 63 — Virtual element space boundaries

Geometry Use Definition

The geometric representation of any IfcVirtualElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. Included are:

Local Placement

The local placement for IfcVirtualElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representation

Currently, the use of 'FootPrint' and 'Surface' representation is supported.

FootPrint Representation

The 2D geometric representation of IfcVirtualElement is defined using the 'FootPrint' representation.

The following constraints apply to the 2D FootPrint representation:

Surface Representation

The 3D geometric representation of IfcVirtualElement is defined using a surface geometry.

The following constraints apply to the 3D surface representation:

" 689;IfcGeographicElement;"

Definition from IAI: An IfcGeographicElement is a generalization of all elements within a geographical landscape. It includes occurrences of typical geographical element, often referred to as features, such as roads, zones, trees, etc. Common type information behind several occurrences of IfcGeographicElement is provided by the IfcGeographicElementType

HISTORY ˙New entity in Release IFC2x4.

Type Use Definition

An IfcGeographicElement defines the occuurence of any element within a geographic landscape, common information about geographic elements is handled by IfcGeographicElementType. The IfcGeographicElementType (if present) may establish the common˙type name, usage (or predefined) type, common set of properties and common shape representations (using IfcRepresentationMap). The IfcGeographicElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

Classification Use Definition

An IfcGeographicElement might be further qualified by referencing a feature catalog as a particular classification. The feature classification is assigned using the inverse relationship HasAssociations pointing to IfcClassificationReference. The attributes should have the following meaning:

Containment Use Definition

The IfcGeographicElement, as any subtype of IfcElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

Geometry Use Definitions

The geometric representation of IfcGeographicElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcGeographicElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representation

GeometricCurveSet and GeometricSet Representation

The standard representation of IfcGeographicElement is defined using 'GeometricCurveSet' or, when including surfaces, the 'GeometricSet' geometry. This also supports a 2D representation of IfcGeographicElement

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Annotation2D Representation

Additional annotation objects, like text or hatching, and style information to the 2D representations, may be exchanged using the 'Annotation2D' representation. Style information is assigned to the geometric representation items within the set of Items at IfcShapeRepresentation using the inverse StyledByItem relationship.

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

SurfaceModel and Brep Representation

For full 3D representations, the use of 'SurfaceModel' and 'Brep' geometry is supported. This supports a 3D representation, including support for 3D digital terrain models.

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

MappedRepresentation Representation

When using the IfcGeographicElement in conjunction with the IfcGeographicElementType having RepresentationMaps defined, the geometric representation of˙IfcGeographicElement˙shall be based on 'MappedRepresentation', referencing the IfcRepresentationMap given at the type object.

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

" 693;IfcRelInterferesElements;"

Definition from IAI: The IfcRelInterferesElements objectified relationship indicates that two elements interfere. Interference is a spatial overlap between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry.

The RelatingElement and RelatedElement define the two elements in the relationship, that may have different roles. This is controlled by the attribute ImpliedOrder.

HISTORY˙ New entity in IFC2x4.
" 700;IfcRelReferencedInSpatialStructure;"

The objectified relationship, IfcRelReferencedInSpatialStructure is used to assign elements in addition to those levels of the project spatial˙structure, in which they are referenced, but not primarily contained.˙

NOTE ˙The primary containment relationship between an element and the spatial structure is handled by˙IfcRelContainsInSpatialStructure.

Any element can be referenced˙to zero, one or several levels of the spatial structure. Whereas the IfcRelContainsInSpatialStructure relationship is required to be hierarchical (an element can only be contained in exactly one spatial structure element), the IfcRelReferencedInSpatialStructure is not restricted to be hierarchical.

EXAMPLE A wall might be normally contained within a storey, and since it does not span through several stories, it is not referenced in any additional storey. However a curtain wall might span through several stories, in this case it can be contained within the ground floor, but it would be referenced by all additional stories, it spans.

Predefined spatial structure elements to which elements can be assigned are

Elements can also be references in a spatial zone that is provided as IfcSpatialZone.

The same element can be assigned to different spatial structure elements depending on the context.

HISTORY New entity in˙Release IFC2x Edition 3.

Use Definition

Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWall˙to two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor.


Figure 41 — Relationship for spatial structure referencing

" 704;IfcRelConnectsWithRealizingElements;"

Definition from IAI: IfcRelConnectsWithRealizingElements defines a generic relationship that is made between two elements that require the realization of that relationship by means of further realizing elements.

An IfcRelConnectsWithRealizingElements is a specialization of IfcRelConnectsElement where the connecting operation has the additional attribute of (one or many) realizing elements that may be used to realize or further qualify the relationship. It is defined as a ternary relationship.

EXAMPLE: It may be used to describe the attachment of one element to another where the attachment is realized by a 'fixing' element such as a bracket. It may also be used to describe the mounting of one element onto another such as the requirement for the mounting major plant items onto builders work bases and/or anti-vibration isolators.

HISTORY: New entity in Release IFC2x Edition 2.

" 707;IfcRelContainedInSpatialStructure;"

This objectified relationship, IfcRelContainedInSpatialStructure, is used to assign elements to a certain level of the spatial project structure. Any element can only be assigned once to a certain level of the spatial structure. The question, which level is relevant for which type of element, can only be answered within the context of a particular project and might vary within the various regions.

EXAMPLE A multi-storey space is contained (or belongs to) the building storey at which its ground level is, but it is referenced by all the other building storeys, in which it spans. A lift shaft might be contained by the basement, but referenced by all storeys, through which it spans.

The containment relationship of an element within a spatial structure has to be a hierarchical relationship, an element can only be contained within a single spatial structure element. The reference relationship between an element and the spatial structure may not be hierarchical, i.e. an element can reference many spatial structure elements.

NOTE The reference relationship is expressed by IfcRelReferencedInSpatialStructure.

Predefined spatial structure elements to which elements can be assigned are

Occurrences of the same element type can be assigned to different spatial structure elements depending on the context of the occurrence.

EXAMPLE A wall might be normally assigned to a storey, however the curtain wall might be assigned to the building and the retaining wall in the terrain might be assigned to the site.

HISTORY New entity in IFC Release 2x.

IFC2x PLATFORM CHANGE: The data type of the attribute RelatedElements has been changed from IfcElement to its supertype IfcProduct with upward compatibility for file based exchange.

Containment Use Definition

Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure.

˙

Figure 39 — Relationship for spatial structure containment

" 711;IfcGrid;"

IfcGrid ia a planar design grid defined in 3D space used as an aid in locating structural and design elements. The position of the grid (ObjectPlacement) is defined by a 3D coordinate system (and thereby the design grid can be used in plan, section or in any position relative to the world coordinate system). The position can be relative to the object placement of other products or grids. The XY plane of the 3D coordinate system is used to place the grid axes, which are 2D curves (for example, line, circle, trimmed curve, polyline, or composite curve).

The inherited attributes Name and Description can be used to define a descriptive name of the grid and to indicate the grid's purpose. A grid is defined by (normally) two, or (in case of a triangular grid) three lists of grid axes. The following table shows some examples.

A grid may support a rectangular layout (Figure 28), a radial layout (Figure 29), or a triangular layout (Figure 30).

Figure 28 — Grid rectangular layout

Figure 29 — Grid radial layout

Figure 30 — Grid triangular layout

The grid axes, defined within the design grid, are those elements to which project objects will be placed relatively using the IfcGridPlacement.

HISTORY New entity in IFC Release 1.0.

Informal Proposition

  1. Grid axes, which are referenced in different lists of axes (UAxes, VAxes, WAxes) shall not be parallel.
  2. Grid axes should be defined such as there are no two grid axes which intersect twice (see Figure 31).
    • left side: ambiguous intersections A1 and A2, a grid containing such grid axes is not a valid design grid.
    • right side: the conflict can be resolved by splitting one grid axis in a way, such as no ambiguous intersections exist.

Figure 31 — Grid intersections

Geometry Use Definitions

The geometric representation of IfcGrid is given by the IfcProductDefinitionShape, allowing geometric representations. Included are:

Local Placement

The local placement for IfcGrid is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Currently, the use of a 2D 'FootPrint' representation of type 'GeometricCurveSet' is supported.

GeometricCurveSet representation

The 2D geometric representation of IfcGrid is defined using the 'GeometricCurveSet' geometry. The following attribute values should be inserted

The following constraints apply to the 2D representation:

As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet.

Figure 32 — Grid layout

As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid.

Figure 33 — Grid representation

" 717;IfcAnnotation;"

Definition from IAI: An annotation is a graphical representation within the geometric (and spatial) context of a project, that adds a note or meaning to the objects which constitutes the project model. Annotations include additional line drawings, text, dimensioning, hatching and other forms of graphical notes.

NOTE Additional presentation information (often 2D) such as tag number, hatching, etc., that is directly related to a particular product representation is included within the IfcProductDefinitionShape having various IfcShapeRepresentation's of the IfcElement (and its subtypes). Only those presentation information, that cannot be directly related to a single product, have to be wrapped within the IfcAnnotation.

If available, the annotation should be related to the spatial context of the project, by containing the annotation within the appropriate level of the building structure (site, building, storey, or space). This is handled by the IfcRelContainedInSpatialStructure relationship.

HISTORY: New entity in Release IFC2x Edition 2.

Use definition

The IfcAnnotation can provide specific 0D, 1D, and 2D geometric items as representation of the annotation, offering annotation point, curves, and surfaces.

Geometry Use Definitions

The geometric representation of any IfcAnnotation is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for any IfcAnnotation is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

The standard representation of IfcAnnotation is defined using 'Annotation2D', when using 2D geometry, hatching and text, 'GeometricCurveSet' when using points and curves, or, when including als surfaces, the 'GeometricSet' geometry. Geometric representation items may be styled items by adding the style information.

Annotation2D Representation
This representation is used, when the representation of the IfcAnnotation includes specific drafting representation elements. The Annotation may have:

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Annotation Curve Representation
This representation is used, when the representation of the IfcAnnotation does not includes specific drafting representation elements. The Annotation may have:

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

Annotation Surface Representation
This representation is used, when the representation of the IfcAnnotation does includes surfaces. The Annotation may have:

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
" 719;IfcSpatialZone;"

Definition from IAI: A spatial element is the generalization of all spatial elements that might be used to define a spatial structure or to define spatial zones.

NOTE The IfcSpatialZone is different to the IfcZone entity by allowing an own placement and shape representation, whereas IfcZone is only a grouping of IfcSpace's.

Attribute Use Definition

The IfcSpatialZone inherits and declares these attributes that shall have the following meaning:

HISTORY New entity in IFC Release 2x Edition 4.
" 723;IfcExternalSpatialStructureElement;"

Definition from IAI: The external spatial structure element is an abstract entity provided for different kind of external spaces, regions, and volumes.

HISTORY New entity in IFC2x4.
" 725;IfcExternalSpatialElement;"

Definition from IAI: The external spatial element defines external regions at the building site. Those regions can be defined:

HISTORY New entity in IFC2x4.
" 735;IfcRelServicesBuildings;"

Definition from IAI: An objectified relationship that defines the relationship between a system and the sites, buildings, storeys or spaces, it serves. Examples of systems are:

HISTORY New entity in IFC Release 1.0

IFC2x PLATFORM CHANGE˙ The data type of the attributeRelatedBuildings has been changed from IfcBuilding to its supertype IfcSpatialStructureElement with upward compatibility for file based exchange. The name IfcRelServicesBuildings is a known˙anomaly, as the relationship is not restricted to buildings anymore.
" 738;IfcBuilding;"

Definition from ISO 6707-1:1989: Construction work that has the provision of shelter for its occupants or contents as one of its main purpose and is normally designed to stand permanently in one place.

A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).

A building is (if specified) associated to a site. A building may span over several connected or disconnected buildings. Therefore building complex provides for a collection of buildings included in a site. A building can also be decomposed in (vertical) parts, where each part defines a building section. This is defined by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:

HISTORY New entity in IFC Release 1.0.

Property Set Use Definition

The property sets relating to the IfcBuilding are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuilding are part of this IFC release:

Quantity Use Definition

The quantities relating to the IfcBuilding are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Spatial Structure Use Definition

The IfcBuilding is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcBuilding references them by its inverse relationships:

If there are building elements and/or other elements directly related to the IfcBuilding˙(like a curtain wall spanning several stories), they are associated with the IfcBuilding by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuilding references them by its inverse relationship:

Figure 20 shows the IfcBuilding as part of the spatial structure. It also serves as the spatial container for building and other elements.

NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.

Figure 20 — Building composition

Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuilding by using the objectified relationship IfcRelServicesBuildings.

Attribute Use Definition

Figure 21 describes the heights and elevations of the IfcBuilding. It is used to provide the height above sea level of the project height datum for this building, that is, the internal height 0.00. The height 0.00 is often used as a building internal reference height and equal to the floor finish level of the ground floor.

˙

Figure 21 — Building elevations

Geometry Use Definitions

The geometric representation of IfcBuilding is given by the IfcProductDefinitionShape and IfcLocalPlacement, allowing multiple geometric representation.

Local Placement

The local placement for IfcBuilding is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Currently, the use of a 2D 'FootPrint' representation of type 'GeometricCurveSet' and a 3D 'Body' representation of type 'Brep' is supported.

Foot Print Representation

The foot print representation of IfcBuilding is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building has an independent geometric representation.

The representation identifier and type of this geometric representation of IfcBuilding is:

Body Representation

The body (or solid model) geometric representation (if the building has an independent geometric representation) of IfcBuilding is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids.

The representation identifier and type of this representation of IfcBuilding is:

Since the building shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building is exposed independently from its constituting elements.

" 742;IfcBuildingStorey;"

The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.

A storey is (if specified) associated to a building. A storey may span over several connected storeys. Therefore storey complex provides for a collection of storeys included in a building. A storey can also be decomposed in (horizontical) parts, where each part defines a partial storey. This is defihned by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:

EXAMPLE In split level houses, a storey is split into two or more partial storeys, each with a different elevation. It can be handled by defining a storey, which includes two or more partial storeys with the individual elevations.
HISTORY New entity in IFC Release 1.0

Property Set Use Definition

The property sets relating to the IfcBuildingStorey are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuildingStorey are part of this IFC release:

Quantity Use Definition

The quantities relating to the IfcBuildingStorey are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Spatial Structure Use Definition

The IfcBuildingStorey is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcBuildingStoreyreferences them by its inverse relationships:

If there are building elements and/or other elements directly related to the IfcBuildingStorey (like most building elements, such as walls, columns, etc.), they are associated with the IfcBuildingStorey by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuildingStorey references them by its inverse relationship:

Figure 25 shows the IfcBuildingStorey as part of the spatial structure. It also serves as the spatial container for building and other elements.

NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.

Figure 25 — Building storey composition

Elements can also be referenced in an IfcBuildingStorey, for example, if they span through several storeys. This is expressed by using the objectified relationship IfcRelReferencedInSpatialStructure. Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuildingStorey by using the objectified relationship IfcRelServicesBuildings.

Attribute Use Definition

Figure 26 describes the heights and elevations of the IfcBuildingStorey.

Figure 26 — Building storey elevations

Geometry Use Definitions

The geometric representation of IfcBuildingStorey is given by the IfcProductDefinitionShape and IfcLocalPlacement, allowing multiple geometric representation.

Local Placement

The local placement for IfcBuildingStorey is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Currently, the use of a 2D 'FootPrint' representation of type 'GeometricCurveSet' and a 3D 'Body' representation of type 'Brep' is supported.

NOTE The independent geometric representation of IfcBuildingStorey may not be required or allowed in certain view definitions. In those cases only the contained elements and spaces have an independent geometric representation.

Foot Print Representation

The foot print representation of IfcBuildingStorey is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building storey has an independent geometric representation.

The representation identifier and type of this geometric representation of IfcBuildingStorey is:

Body Representation

The body (or solid model) geometric representation (if the building storey has an independent geometric representation) of IfcBuildingStorey is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids.

The representation identifier and type of this representation of IfcBuildingStorey is:

Since the building storey shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building storey is exposed independently from its constituting elements.

" 744;IfcSite;"

Definition from ISO 6707-1:1989: Area where construction works are undertaken.

A site is a defined area of land, possibly covered with water, on which the project construction is to be completed. A site may be used to erect building(s) or other AEC products.

A site (IfcSite) may include a definition of the single geographic reference point for this site (global position using WGS84 with Longitude, Latitude and Elevation). The precision is provided up to millionth of a second and it provides an absolute placement in relation to the real world as used in exchange with geospational information systems. If asserted, the Longitude, Latitude and Elevation establish the point in WGS84 where the point 0.,0.,0. of the LocalPlacement of IfcSite is situated.

The geometrical placement of the site, defined by the IfcLocalPlacement, shall be always relative to the spatial structure element, in which this site is included, or absolute, i.e. to the world coordinate system, as established by the geometric representation context of the project. The world coordinate system, established at the IfcProject.RepresentationContexts, may include a definition of the true north within the XY plane of the world coordinate system, if provided, it can be obtained at IfcGeometricRepresentationContext.TrueNorth.

A project may span over several connected or disconnected sites. Therefore site complex provides for a collection of sites included in a project. A site can also be decomposed in parts, where each part defines a site section. This is defined by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:

HISTORY  New entity in IFC Release 1.0.

Property Set Use Definition

The property sets relating to the IfcSite are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcSite are part of this IFC release:

Quantity Use Definition

The quantities relating to the IfcSite are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Spatial Structure Use Definition

The IfcSite is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcSite references them by its inverse relationships:

If there are building elements and/or other elements directly related to the IfcSite (like a fence, or a shear wall), they are associated with the IfcSite by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcIfcSite references them by its inverse relationship:

Figure 51 shows the IfcSite as part of the spatial structure. In addition to the logical spatial structure, also the placement hierarchy is shown. In this example the spatial structure hierarchy and the placement hierarchy are identical.

NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.

Figure 51 — Site composition

Attribute Use Definition

Figure 52 describes the heights and elevations of the IfcSite. It is used to provide the geographic longitude, latitude, and height above sea level for the origin of the site. The origin of the site is the local placement.

The provision of longitude, latitude, height at the IfcSite for georeferencing is provided for upward compatibility reasons. It requires a single instance of IfcSite and WGS84 as coordinate reference system.

For exact georeferencing the new entities IfcCoordinateReferenceSystem and IfcMapConversion should be used.

 

Figure 52 — Site elevations

Geometry Use Definitions

The geometric representation of IfcSite is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local placement

The local placement for IfcSite is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Foot Print Representation

The foot print representation of IfcSite is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries).

The representation identifier and type of this geometric representation of IfcSite is:

Survey Points Representation

The survey point representation of IfcSite is defined using a set of survey points and optionally breaklines. The breaklines are restricted to only connect points given in the set of survey points. Breaklines, if given, are used to constrain the triangulation.

The representation identifier and type of this geometric representation of IfcSite is:

Figure 53 shows a set of survey points, given as 3D Cartesian points within the object coordinate system of the site. Figure 54 shows the result after facetation.

The set of IfcCartesianPoint is included in the set of IfcGeometricCurveSet.Elements.

Figure 53 — Site survey points

Figure 54 — Site survey points facetation

Figure 55 shows A set of survey points, given as 3D Cartesian points, and a set of break points, given as a set of lines, connecting some survey points, within the object coordinate system of the site. Figure 56 shows the result after facetation.

The set of IfcCartesianPoint and the set of IfcPolyline are included in the set of IfcGeometricCurveSet.Elements.

Figure 55 — Site breaklines

Figure 56 — Site breaklines facetation

NOTE  The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 ""Building Elements using explicit shape representation"".

Body Representation

The body representation of IfcSite is defined using a solid or surface model. Applicable solids are the IfcFacetedBrep or on the IfcFacetedBrepWithVoids, applicable surface models are the IfcFaceBasedSurfaceModel and the IfcShellBasedSurfaceModel.

The representation identifier and type of this representation of IfcSite is:

" 765;IfcElementQuantity;"

Definition from IAI: An IfcElementQuantity defines a set of derived measures of an element's physical property. Elements could be spatial structure elements (like buildings, storeys, or spaces) or building elements (like walls, slabs, finishes). The IfcElementQuantity gets assigned to the element by using the IfcRelDefinesByProperties relationship.

The optional MethodOfMeasurement attribute defines the code, e.g. from a standard method of measurement, which had been used to calculate the element quantity.

NOTE The recognizable values for the name and the method of measurement attributes have to be agreed upon in further agreement documents, such as implementers agreements. Some of these agreements might be limited to a certain region, to which the method of measurement applies.

The name attribute, given at the individual Quantities provides a recognizable semantic meaning of the element quantity. Both information is needed to establish a precise meaning for the measure value. An optional description may be assigned to each of the Quantities. All quantities assigned by a single instance of IfcElementQuantity are deemed to have been generated according to the same method of measurement. However several instances of IfcElementQuantity are assignable to an element, thus allowing for an element having quantities generated according to several methods of measurement.

EXAMPLE1 To exchange the net floor area of spaces in the German region (as IfcSpace), the name might be 'Netto-Grundfläche' (net floor area), and the method of measurement might be accordingly 'DIN277-2' (German industry norm no. 277 edition 2)

EXAMPLE2 The same instance of IfcSpace may have a different area measure assigned in the German region according to a housing regulation, the name would be 'Wohnfläche' and the method of measurement would be '2.BV'. It would be attached to the IfcSpace by a separate IfcRelDefinesByProperties relationship.

The IfcElementQuantity can have the following subtypes of IfcPhysicalQuantity within its SET of Quantities, which count for the basis measure types used:

HISTORY New entity in IFC Release 2x. NOTE: It replaces the calcXxx attributes used in previous IFC Releases.
IFC2x4 CHANGE Subtyped from new intermediate IfcPreDefinedPropertySet supertype.

Quantity Use Defintion

Base quantities are quantity definitions that are independent of a particular method of measurement and therefore internationally applicable. Base quantities are defined as gross and net values and provided by measurement of the correct geometric shape representation of the element. The IFC specification includes a set of base quantity definition. See each subtype of IfcElement for applicable base quantities.

The following general agreements apply for each base quantity set

" 770;IfcRelAssociatesMaterial;"

Definition from IAI: Objectified relationship between a material definition and elements or element types to which this material definition applies.

The material definition can be:

Materials can be arranged by layers and applied to layered elements. Typical elements are walls and slabs.

Material can be applied to profiles. Typical elements using profile material are beam, column, member

Materials can be arranged by identified parts of a component based element. Typical elements are dorrs/windows (with components such as lining, framing and glazing), or distribution elements.

As a fallback, or in cases where only a single material information is needed, material information can be directly associated

The IfcRelAssociatesMaterial relationship is a special type of the IfcRelAssociates relationship. It can be applied to subtypes of IfcElement and subtypes of IfcElementType.

If both, the element occurrence (by an instance of IfcElement) and the element type (by an instance of IfcElementType, connected through IfcRelDefinesByType) have an associated material, then the material associated to the element occurrence overrides the material associated to the element type.

HISTORY New entity in IFC Release 2.x.

Informal proposition

  1. An IfcMaterialLayerSetUsage shall not be associated with a subtype of IfcElementType, it should only be associated with individual occurrences
  2. An IfcMaterialProfileSetUsage shall not be associated with a subtype of IfcElementType, it should only be associated with individual occurrences
" 776;IfcProduct;"

Any object that relates to a geometric or spatial context. Subtypes of IfcProduct usually hold a shape representation and a object placement within the project structure.

This includes manufactured, supplied or created objects (referred to as elements) for incorporation into an AEC/FM project. This also includes objects that are created indirectly by other products, as spaces are defined by bounding elements. Products can be designated for permanent use or temporary use, an example for the latter is formwork. Products are defined by their properties and representations.

In addition to physical products (covered by the subtype IfcElement) and spatial items (covered by the subtype IfcSpatialElement) the IfcProduct also includes non-physical items, that relate to a geometric or spatial contexts, such as grid, port, annotation, structural actions, etc.

The inherited ObjectType attribute can be used to designate a particular type of the product instance. If subtypes of IfcProduct have a PredefinedType defined, the ObjectType is used to provide the user defined, particular type of the product instance, if the PredefinedType is set to USERDEFINED.

HISTORY New Entity in IFC Release 1.0

Relationship use definition

On a generic level products can be assigned to processes, controls, resources, project by using the relationship objects that refer to the corresponding object:

Type use definition

Any instance of IfcProduct defines a particular occurrence of a product, the common type information, that relates to many similar (or identical) occurrences of IfcProduct, is handled by the IfcTypeProduct (and its subtypes), assigned to one or many occurrences of IfcProduct by using the objectified relationship IfcRelDefinesByType. The IfcTypeProduct may provide, in addition to common properties, also a common geometric representation for all occurrences.

See IfcTypeProduct for how to use a common geometric representation and IfcRelDefinesByType for using and overriding common properties.

Representation use definition

An IfcProduct occurs at a specific location in space if it has a geometric representation assigned. It can be placed relatively to other products, but ultimately relative to the world coordinate system defined for this project. The ObjectPlacement attribute establishes the coordinate system in which all points and directions used by the geometric representation items under Representation are founded. The placement can either be:

The Representation is provided by an IfcProductDefinitionShape being either a geometric shape representation, or a topology representation (with or without underlying geometry of the topological items).

" 782;IfcObject;"

An IfcObject is the generalization of any semantically treated thing or process. Objects are things as they appear - i.e. occurrences.

NOTE Examples of IfcObject include physically tangible items, such as wall, beam or covering, physically existing items, such as spaces, or conceptual items, such as grids or virtual boundaries. It also stands for processes, such as work tasks, for controls, such as cost items, for actors, such as persons involved in the design process, etc.

Objects can be named, using the inherited Name attribute, which should be a user recognizable label for the object occurrance. Further explanations to the object can be given using the inherited Description attribute. The ObjectType attribute is used:

Objects are independent pieces of information that might contain or reference other pieces of information. There are several relationships in which objects can be involved:

HISTORY New Entity in IFC Release 1.0
IFC2x4 CHANGE The inverse relationships Declares, IsDeclaredBy, and IsTypedBy have been added, types are not longer included in the IsDefinesBy relationship. IfcProject has been promoted to be a subtype of IfcObjectDefinition -> IfcContext.

Informal Proposition

  1. A partial type assignment, i.e. the inverse attribute IsDeclaredBy, or Declares shall only be used, if the object is part of a decomposition, i.e. if either IsDecomposedBy, or Decomposes is exerted.
" 794;IfcObjectDefinition;"

An IfcObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrences. Object defintions can be named, using the inherited Name attribute, which should be a user recognizable label for the object occurrance. Further explanations to the object can be given using the inherited Description attribute. A context is a specific kind of object definition as it provides the project or library context in which object types and object occurrences are defined.

Objects are independent pieces of information that might contain or reference other pieces of information. There are four essential kinds of relationships in which object definitons (by their instantiable subtypes) can be involved:

HISTORY New abstract entity in IFC2x3.
IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy).
" 805;IfcRoot;"

IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities.

IfcRoot assigns the globally unique ID, and the ownership and history information to the entity. In addition it may provide for a name and a description about the concept.

NOTE View definitions and implementation agreement may impose additional restrictions on the use of the OwnerHistory to handle object versioning.
HISTORY New entity in IFC Release 1.0
IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL.
" 815;IfcPropertyDefinition;"

IfcPropertyDefinition defines the generalization of all characteristics (i.e. a grouping of individual properties), that may be assigned to objects. Currently, subtypes of IfcPropertyDefinition include property set occurrences, property set templates, and property templates.

Property set template - IfcPropertySetTemplate, a collection of property templates that determine the definition of properties used within a project context.

Property template - IfcPropertyTemplate, a single template that determines the definition of a particular property used in the same project context. The template may determine the name, description, data type, the unit, or a standard expression for each property that is based on that template.

Property set occurrence - IfcPropertySet, a set of individual properties (that may or may not be determined by a property template) holding individual values, measure types and units, and are associated to an object occurrence or object type.

NOTE 1  The subtype hierarchy of IfcPropertyDefinition also includes statically defined property sets as IfcPreDefinedPropertySet. Those are rarely used collections of fixed attributes combined in an entity definition. The IfcPreDefinedPropertySet can not be determined by an IfcPropertySetTemplate.
NOTE 2  Individual properties, (subtypes of IfcProperty), are currently not included in the subtype hierarchy of IfcPropertyDefinition. This anomaly is due to upward compatibility reasons with earlier releases of this standard.
HISTORY  New Entity in IFC2.0

Relationship use definition

Property definitions define information that is shared among multiple instances of objects, either object occurrences or object types. IfcPropertyDefinition's (by their instantiable subtypes) can participated within the following relationships:

Subtypes are included in more specific relationships, see IfcPropertySetDefinition and IfcPropertyTemplateDefinition for details.

" 820;IfcPropertySetDefinition;"

IfcPropertySetDefinition is a generalization of all individual property sets that can be assigned to an object or type object. The property set definition can be either:

Dynamically extendable property sets - IfcPropertySet, a set of properties for which the IFC model only provides a kind of ""meta model"", to be further declared by agreement. This means no entity definition of the properties exists within the IFC model. The declaration is done by assigning a significant string value to the Name attribute of the entity as defined in the entity IfcPropertySet and at each subtype of IfcProperty, referenced by the property set. Dynamically defined property sets may have an underlying template provided by IfcPropertySetTemplate.

Statically defined property sets - IfcPreDefinedPropertySet, a property set entity that exists within the IFC specification. The semantic meaning of each statically defined property set is declared by its entity type and the meaning of the properties is defined by the name and data type of the explicit attribute representing it.

HISTORY  New Entity in IFC Release 2x
IFC2x4 CHANGE  The subtype IfcPreDefinedPropertySet has been added.

Relationship use definition

Property set definitions define information that is shared among multiple instances of objects, either object occurrences or object types. IfcPropertySetDefinition's (by their instantiable subtypes) can participated within the following relationships:

NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information.
" 825;IfcPropertySet;"

IfcPropertySet defines all dynamically extensible properties. The property set is a container class that holds properties within a property tree. These properties are interpreted according to their name attribute.

The same IfcPropertySet can be assignd to multiple object occurrences, it should then be assigned by a single instance of IfcRelDefinedByProperties to a set of related objects. Those property sets are referred to as shared property sets. It can also be assigned to an object type.

The underlying structure, i.e. the required name, the applicable object or object types to which the property set can be attached and the individual properties that maybe included can be assigned using the property set template.

NOTE  See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence.
HISTORY  New Entity in IFC Release 1.0
IFC2x4 CHANGE  All statically defined property set entities are no longer subtypes of IfcPropertySet.

Relationship use definition

Property sets are related to other objects by using the relationship object that refers to the corresponding object:

Attribute use definition

Instances of IfcPropertySet are used to assign named sets of individual properties (complex or single properties). Each individual property has a significant name string. Some property sets are included in the IFC specification and have a predefined set of properties indicated by assigning a significant name. These property sets are listed under ""property sets"" main menu item within this specification and from the object documentation sheet for those object to which they are applicable. The naming convention ""Pset_Xxx"" applies to all those property sets that are defined as part of the IFC specification and it shall be used as the value of the Name attribute.

In addition any user defined property set can be captured. Property sets that are not declared as part of the IFC specification shall have a Name value not including the ""Pset_"" prefix.

" 830;IfcRelDefinesByTemplate;"

The objectified relationship IfcRelDefinesByTemplate defines the relationships between property set template and property sets. Common information about property sets, e.g. the applicable name, description, contained properties, is defined by the property set template and assigned to all property sets.

The IfcRelDefinesByTemplate is a 1-to-N relationship, as it allows for the assignment of one property set template to a single or to many property sets. Those property sets then share the same property set template definition.

HISTORY New Entity in IFC2x4.
" 833;IfcRelDefines;"

A generic and abstract relationship which subtypes are used to:

EXAMPLE ˙Several instances of windows within the IFC project model may be of the same (catalogue or manufacturer) type. Thereby they share the same properties. This relationship is established by the subtype IfcRelDefinesByType of IfcRelDefines relationship assigning an IfcWindowStyle to multiple occurrences IfcWindow.

EXAMPLE ˙The (same) property set, e.g.˙ Pset_ProductManufacturerInfo, keeping the manufacturer name, label and production year of a product, can be assigned to one, or many instances of furnishing. This relationship is established by the subtype IfcRelDefinesByProperties of IfcRelDefines relationship assigning an IfcPropertySet to one or more instances of IfcFurnishingElement.
HISTORY New entity in IFC2x.
IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and IfcRelDefinesByType.
" 838;IfcRelationship;"

IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior.

There are two different types of relationships, 1-to-1 relationships and 1-to-many relationship. used within the subtypes of IfcRelationship. The following convention applies to all subtypes:

HISTORY: New entity in IFC Release 1.0.
" 845;IfcRelAssigns;"

The assignment relationship, IfcRelAssigns, is a generalization of ""link"" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects.

The client is denoted as the relating object and is established at the level of the specific, instantiable subtypes of IfcRelAssigns. The suppliers are denoted as the related objects and they are established by the RelatedObjects attribute.

NOTE: The terms ""client"" and ""supplier"" are used in a general concept and do not imply any meaning for implementations of systems (like client-server).
EXAMPLE: A resource may receive information about its nature of representing real building products by establishing a link between IfcResource and IfcBuildingElement (subtype of IfcProduct) through the assignment relationship IfcRelAssignsToResource. The resource is then the client that applies the services of other objects (here building elements) to express the particular view of elements to be consumed as a resource in a process.

The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship.

HISTORY: New entity in IFC Release 2x.
" 855;IfcRelAssignsToProcess;"

The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output.

EXAMPLE It may be common to define processes during estimating or scheduling that describe design tasks (resulting in documents), procurement tasks (resulting in construction materials), planning tasks (resulting in processes), etc. Furthermore, the ways in which process can operate on something might include ""installs"", ""finishes"", ""transports"", ""removes"", etc. The ways are described as operation types.

The inherited attribute RelatedObjects gives the references to the objects, or object type, which the process operates on. The RelatingProcess is the process or process type, that operates on the object. The operation types are captured in the inherited attribute Name.

NOTE The agreement on valid and recognizable values for the Name attribute is part of view definitions and implementer agreements.
HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x.
IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess
" 862;IfcProcess;"

Definition from ISO9000: A process is a set of activities that are interrelated or that interact with one another. Processes use resources to transform inputs into outputs. Processes are interconnected because the output from one process becomes the input for another process. In effect, processes are ""glued"" together by means of such input output relationships.

IfcProcess is defined as one individual activity or event, that is ordered in time, that has sequence relationships with other processes, which transforms input in output, and may connect to other other processes through input output relationships. An IfcProcess can be an activity (or task), or an event. It takes usually place in building construction with the intent of designing, costing, acquiring, constructing, or maintaining products or other and similar tasks or procedures.

Figure 2 — Process relationships and the ICON process diagram.

HISTORY New entity in IFC Release 1.0.
IFC2x PLATFORM CHANGE The attribute Productivity has been removed.
IFC2x4 CHANGE The attribute Identification has been promoted from subtypes IfcTask and others.

Relationship use definition

Process information relates to other objects by establishing the following relationships:

" 868;IfcTypeProcess;"

IfcTypeProcess defines a specific (or type) definition of a process or activity without being assigned to a schedule or a time.˙It is used to define a process or activity specification, that is, the specific process or activity information that is common to all occurrences that are defined for that process or activity type.

An IfcTypeProcess may have a list of property set attached. Values of these properties are common to all occurrences of that process or activity type. The type occurrence relationship is realized using the objectified relationship IfcRelDefinesByType.

Subtypes of IfcTypeProcess may be exchanged without being already assigned to subtypes of IfcProcess.

HISTORY New entity in IFC2x4.

Property set use definition

An IfcTypeProcess may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification.

NOTE: For property sets, a property within an occurrence property set that is assigned at the process occurrence, overrides the same property assigned to the process type.
" 873;IfcTypeObject;"

The object type defines the specific information about a type, being common to all occurrences of this type. It refers to the specific level of the well recognized generic - specific - occurrance modeling paradigm. The IfcTypeObject gets assigned to the individual object instances (the occurrences) via the IfcRelDefinesByType relationship.

NOTE The terms 'Type' and 'Style' are often used interchangeably.

The object type is represented by a set of property set definitions. The attached property sets describe the available alpha-numeric information about the object type. and are used to define all common properties that apply to all object occurrences of that type.

NOTE If a property having having the same name is used within the IfcPropertySet assigned to an IfcTypeObject (and subtypes) and to an occurrence of that type, then the occurrence property overrides the type property. See IfcRelDefinesByType for an explanatory figure.

Object types may be exchanged without being already assigned to objects. An object type may have an indication of the library (or catalogue) from which its definition originates. This association is handled by the inherited HasAssociations relationship pointing to IfcRelAssociatesLibrary.

HISTORY New entity in IFC Release 2x
IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET.
IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf.
" 881;IfcTypeProduct;"

IfcTypeProduct defines a type definition of a product without being already inserted into a project structure (without having a placement), and not being included into the geometric representation context of the project.˙It is used to define a product specification, that is, the specific product information that is common to all occurrences of that product type.

An IfcTypeProduct may have a list of property set attached and an optional set of product representations. Values of these properties and the representation maps are common to all occurrences˙of that product type.˙The type occurrence relationship is realized using the objectified relationship IfcRelDefinesByType.

NOTE 1˙ The product representations are defined as representation maps, which gets assigned by a product instance through the representation item(s) being an IfcShapeRepresentation and having Items of type˙IfcMappedItem.
NOTE 2 ˙The representations at the occurrence level (represented by subtypes of IfcProduct) can override the specific representations at the type level, ˙
  1. for geometric representations: a Cartesian transformation operator can be applied at the occurrence level, and˙
  2. for property sets: A property within an occurrence property set, assigned at the product occurrence, overrides the same property assigned to the product type.

An IfcTypeProduct may be exchanged without being already assigned to subtypes of IfcProduct.

HISTORY New entity in IFC Release 2x.
IFC2x4 CHANGE The entity IfcTypeProduct shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC.

Geometry use definition

The RepresentationMaps define the type product shape and multiple geometric representations can be assigned. If a product occurrence is assigned to the type by using the IfcRelDefinesByType relationship, then these occurrences have to reference the representation maps. The reference is created by one or multiple IfcShapeRepresentation's having an IfcMappedItem as Items, that places the IfcRepresentationMap of the type product into the spatial contexts, i.e. by using an Cartesian transformation operator to transform the IfcRepresentationMap into the object coordinate system of the product occurrence.

Figure 10 illustrates an example of referencing a representation map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling.

Figure 10 — Product type geometry with single placement

Figure 11 illustrates an example of referencing a representation multiple times map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling. The different translation values determine the pattern of the multiple placement.

Figure 11 — Product type geometry with multiple placement

" 886;IfcRelAssignsToProduct;"

The objectified relationship˙IfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed:

HISTORY New Entity in IFC Release 2x
IFC2x3 CHANGE ˙The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards.
" 892;IfcTypeResource;"

IfcTypeResource defines a specific (or type) definition of a resource.˙It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template.

An IfcTypeResource may have a list of property sets attached. Values of these properties are common to all occurrences of that resource type. The type occurrence relationship is realized using the objectified relationship IfcRelDefinesByType.

Subtypes of IfcTypeResource may be exchanged without being already assigned to subtypes of IfcResource.

HISTORY New entity in IFC2x4.

Property set use definition

An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification.

NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type.
" 897;IfcRelAssignsToResource;"

The objectified relationship IfcRelAssignsToResource handles the assignment of objects (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource).

EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource).
HISTORY New Entity in IFC Release 2x.
" 903;IfcResource;"

IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship).

There are two basic intended uses of IfcResource. First, if the attributes of the thing are not needed for the purpose of the use of IfcResource, or the types of things are not explicitly modeled in IFC yet, then the linkage between the resource and the thing doesn't have to be instantiated in the system. That is, the attributes of IfcResource (or its subtypes) alone are sufficient to represent the use of the thing as a resource for the purpose of the project.

EXAMPLE: construction equipment such as earth-moving vehicles or tools are not currently modeled within the IFC. For the purpose of estimating and scheduling, these can be represented using subtypes of IfcResource alone.

Second, if the attributes of the thing are needed for the use of IfcResource objects, and they are modeled explicitly as objects, then the IfcResource instances can be linked to the instances of the type of the things being referenced. Things that might be used as resources and that are already modeled in the IFC include physical products, people and organizations, and materials. The relationship object IfcRelAssignsToResource is provided for this approach.

The inherited attribute ObjectType is used as a textual code that identifies the resource type.

HISTORY New entity in IFC Release 1.0
IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy.
" 907;IfcRelDefinesByType;"

The objectified relationship IfcRelDefinesByType defines the relationship between an object type and object occurrences.

The IfcRelDefinesByType is a 1-to-N relationship, as it allows for the assignment of one type information to a single or to many objects. Those objects then share the same object type, and the property sets and properties assigned to the object type.

HISTORY New entity in IFC2x.
IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByType.

Relationship use definition

The IfcRelDefinesByType links the object type definition with the object occurrence. Both may define properties by assigning an IfcPropertySet, including one or many subtypes of IfcProperty to either the object type or object occurrence, as shown in Figure 8.

There are several scenarios to define the same property set on the object type definition and object occurrence side:

  1. All properties for all object occurrences of a common object type have the same value - then only the object type definition has a property set assigned.
  2. All properties for all object occurrences are different, that is there are no common property values for the object type definition - then each of the object occurrence has a property set assigned.
  3. Some properties within the same property set have common values and are assigned to the object type definition and some are occurrence specific and assigned (with potentially different values) to the object occurrences - then:
    • The sum of all properties within a given property set applicable to an object occurrence is the union of properties assigned to the object type definition plus the properties assigned to the object occurrence.
    • If the object occurrence has a property with the same IfcProperty.Name in an IfcPropertySet, as the corresponding object type definition, then the occurrence property value overrides the type property value.

Figure 8 — Type definition relationships

The following table provides an example of assigning

properties assigned to IfcWall properties assigned to IfcWallType resulting property value for individual wall
Pset_WallCommon Pset_WallCommon ˙
˙-˙ExtendToStructure = TRUE ˙ TRUE
˙ ˙-˙ThermalTransmittance = 0.375 0.375
˙-˙ExtendToStructure = FALSE ˙-˙ExtendToStructure = TRUE FALSE
" 910;IfcRelAssignsToControl;"

The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls).

EXAMPLE˙ The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship.
HISTORY˙ New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x.
" 913;IfcControl;"

IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled.

EXAMPLE Controls include action requests, cost schedules, project orders, work plans, and work calendars.
HISTORY New entity in IFC Release 1.0.
IFC2x4 CHANGE Attribute Identification added.

Relationship use definition

Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl.

" 916;IfcRelAssignsToActor;"

The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor).

The IfcRelAssignsToActor objectified relationship defines a relationship between an IfcActor and one or many objects. A particular role of the actor played in that relationship can be associated. If specified, it takes priority over the role that may be directly assigned to the person or organization.

EXAMPLE: An occupant (as an actor) may rent a flat (as a collection of spaces or a zone). This would be an application of this generic relationship.

Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute.

HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x.
" 920;IfcActor;"

The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles.

HISTORY New Entity in IFC Release 2.0

Relationship use definition

Actors are assigned (such as to a process or a resource) by the relationship object that refers to the corresponding object:

Property set use definition

The property sets relating to the IfcActor are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release:

" 923;IfcRelAssignsToGroup;"

The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup).

The relationship handles the assignment of group members to the group object. It allows for grouping arbitrary objects within a group, including other groups. The grouping relationship can be applied in a recursive manner. The resulting group is of type IfcGroup.

NOTE Examples of groups include zones as a grouping of spaces, distribution systems as a grouping of building service components, or structural analysis models as a grouping of structural items.

The inherited attribute RelatedObjects gives the references to the objects, which are the elements within the group. The RelatingGroup is the group that comprises all elements. The same object or object type can be included in zero, one or many groups. Grouping relationships are not hierarchical.

Informal proposition:

  1. The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship.
HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x.
" 927;IfcRelAssignsToGroupByFactor;"

The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup).

The ratio can be used to define a percentage assignment. For example, a Factor of 0.8 would indicate that the object is assigned by 80% to the group, or a Factor of 2.5 would indicate the object is assigned with a weight factor of 2.5 to the group.

NOTE Examples of factored groups include the assignment of load cases in a load combination in structural analysis, or the assignment of spaces by percentage to different rental zones.

The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical.

HISTORY New entity in IFC2x4.
" 929;IfcGroup;"

IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects.

NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an aggregation of products that may have its own position and shape representation.
EXAMPLE An example for a group is a system, since it groups elements under the aspect of their role, regardless of their position in a building.

A group can hold any collection of objects (being˙products, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency.

NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an hierarchical aggregation of products.

A group can be exchanged without having already objects within the group collection.

HISTORY New entity in IFC Release 1.0.
IFC2x4 CHANGE The inverse IsGroupedBy relationship is set to 0..n

Relationship use definition

The group collection is handled by an instance of IfcRelAssignsToGroup, which assigns all group members to the IfcGroup.

Groups are assigned to other objects (such as a process or a resource) by the relationship object that refers to the corresponding object:

Groups can be subjected to a control. The control information is then assigned:

" 940;IfcRelDecomposes;"

The decomposition relationship, IfcRelDecomposes, defines the general concept of elements being composed or decomposed. The decomposition relationship denotes a whole/part hierarchy with the ability to navigate from the whole (the composition) to the parts and vice versa.

Decompositions may be constrained by requiring both, the whole and its parts, to be of the same type - thus establishing a nesting relationship. Or they may require some form of physical containment, thus establishing special types of aggregation relationships.

NOTE There are two special names for decomposition, which are linguistically distinguished, nesting and aggregation. The subtypes of IfcRelDecomposes will introduce either the nesting or aggregation convention (see IfcRelNests and IfcRelAggregates).
EXAMPLE A cost element is a nest of other cost elements. Or a structural frame is an aggregation of beams and columns. Both are applications of decomposition relationship.

Decompositions imply a dependency, i.e. the definition of the whole depends on the definition of the parts and the parts depend on the existence of the whole. The decomposition relationship can be applied in a recursive manner, i.e. a decomposed element can be part in another decomposition. Cyclic references have to be prevented at application level.

HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests.
IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes.
" 943;IfcRelAggregates;"

The aggregation relationship IfcRelAggregates is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The aggregation relationship can be applied to all subtypes of IfcObjectDefinition.

In cases of aggregation of physical elements into a physical aggregate the shape representation of the whole (within the same representation identifier) can be taken from the sum of the shape representations of the parts.

EXAMPLE A roof is the aggregation of the roof elements, such as roof slabs, rafters, purlins, etc. Within the same representation identifier, e.g. the body geometric representation, the shape representation of the roof is given by the shape representation of its parts

Decompositions imply a dependency, i.e. the definition of the whole depends on the definition of the parts and the parts depend on the existence of the whole. The behaviour that is implied from the dependency has to be established inside the applications.

HISTORY New entity in IFC Release 2x.
IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes.
" 947;IfcRelNests;"

The nesting relationship IfcRelNests is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The nesting relationship can be applied to all non physical subtypes of object and object types, namely processes, controls (like cost items), and resources. The nesting implies an order among the nested parts.

EXAMPLE1 A nesting of costs items in a cost schedule is the composition of complex cost items from other cost items. The order of the nested cost items underneath the parent cost item is determined by the order of the list of RelatedObjects.
EXAMPLE2 A nesting of work tasks within a work schedule is the composition of a parent work task from more specific sub work tasks. The order of the sub tasks underneath the parent task is determined by the order of the list of RelatedObjects..

Decompositions imply a dependency, i.e. the definition of the whole depends on the definition of the parts and the parts depend on the existence of the whole. The behaviour that is implied from the dependency has to be established inside the applications.

HISTORY New entity in IFC Release 2.0
IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts.
" 951;IfcRelAssociates;"

The association relationship IfcRelAssociates refers to external sources of information (most notably a classification, library or document). There is no dependency implied by the association.

EXAMPLE Further information may be given to the tank equipment (as subtype of IfcProduct) in terms of its classification and instruction documents, the source of the additional information is held external to the IFC project model.

Association relationships can be established to objects (occurrences as subtypes of IfcObject) or to types (as subtypes of IfcTypeObject).

EXAMPLE 1 The classification information for the storage tank equipment may be associated to the IfcTankType (subtype of IfcTypeObject), defining the specific information for all occurencies of that tank in the project. Therefore the association of the (e.g.) Uniclass notation 'L6814' may be associated by a subtype of IfcRelAssociates to the type information.
EXAMPLE 2 The classification information for a particular space within a building may the associated to the IfcSpace object (subtype of IfcObject), defining a particular occurrence of space. Therefore the association of the (e.g.) DIN notation 'HNF 1.5' may be associated by a subtype of IfcRelAssociates to the object.

The association relationship establishs a uni-directional association. The subtypes of IfcRelAssociates establishes the particular semantic meaning of the association relationship.

HISTORY New entity in IFC Release 2x.
IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype
" 956;IfcRelAssociatesClassification;"

The objectified relationship IfcRelAssociatesClassification handles the assignment of a classification item (items of the select IfcClassificationSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject).

The relationship is used to assign a classification item, or a classification system itself to objects. Depending on the type of the RelatingClassification it is either:

  • a reference to an classification item within an external classification system, or
  • a reference to the classification system itself

NOTE  The reference to a classification item includes a link to the classification system within which the item is declared. It assigns the meaning of the classification item to the object (ocurrence or type). The reference to the classification system provides the information that the object (occurrence or type) is governed by the classification system but no assignment of a particular items has been done yet.

The inherited attribute RelatedObjects define the objects or object types to which the classification is applied. The attribute RelatingClassification is the reference to a classification, applied to the object(s). A single RelatingClassification can thereby be applied to one or multiple objects.

HISTORY New entity in IFC Release 2x.
" 958;IfcRelAssociatesDocument;"

The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject).

The relationship is used to assign a document reference or a more detailed document information to objects. A single document reference can be applied to multiple objects.

The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s).

HISTORY: New entity in IFC Release 2x.
" 960;IfcRelAssociatesLibrary;"

The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition.

The relationship is used to assign a library reference or a more detailed link to a library information to objects, property sets or types. A single library reference can be applied to multiple items.

The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s).

HISTORY: New entity in IFC Release 2x.
" 965;IfcRelConnects;"

IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity.

HISTORY: New entity in IFC Release 2x.
" 966;IfcRelDeclares;"

The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary).

The relationship handles the assignment of other objects, like IfcActor, or IfcTypeObject to the project, or project libary. The attribute RelatedDefinitions provides the references to the first level objects, that are the elements within the context. All other objects that relate to the first level objects are also defined in the context.

NOTE 1  Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule's are related to the context in a transitive way through IfcWorkPlan.

NOTE 2  The assignment excludes subtypes of IfcProduct's, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject.

The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements.

HISTORY New entity in Release IFC2x4.
" 970;IfcContext;"

IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project.

Context definitions can be named, using the inherited Name attribute, which should be a user recognizable key or number for the context. The LongName can add a full name. Further explanations to the context can be given using the inherited Description attribute.

HISTORY  New abstract entity in IFC2x4.

Relationship use definition

Contexts are declared by the relationship object that refers to the corresponding object:

  • Project library to project: IfcProjectLibrary is assigned to IfcProject (both subtypes of using IfcContext) by using IfcRelDeclares

More specific relationships are introduced at the level of subtypes.

" 979;IfcProject;"

IfcProject indicates the undertaking of some design, engineering, construction, or maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included.

The context provided by the IfcProject includes:

  • the default units
  • the geometric representation context for exchange structures including shape representations
    • the world coordinate system
    • the coordinate space dimension
    • the precision used within the geometric representations, and
    • optionally the indication of the true north relative to the world coordinate system
HISTORY  New Entity in IFC Release 1.0
IFC2x4 CHANGE  The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext.

Relationship use definition

The IfcProject is used to reference the root of the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the IfcProject, by using the objectified relationship IfcRelAggregates. The IfcProject references them by its inverse relationship:

  • IfcProject.Decomposes -- it shall be NIL, i.e. the IfcProject shall not be decomposed into any parts.
  • IfcProject.IsDecomposedBy -- referencing (IfcSite || IfcBuilding) by IfcRelAggregates.RelatingObject. The IfcSite or IfcBuilding referenced shall be the root of the spatial structure.

The IfcProject is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to IfcProject using the IfcRelDeclares relationship.

The IfcProject provides the context for spatial elements and the associated products, and for work plans (or other non-product based) descriptions of the construction project. It is handled by two distinct relationship objects as shown in Figure 3.

NOTE   The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's.
NOTE   The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's.
NOTE   The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule.
NOTE   The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard.

Figure 3 — Project spatial and work plan structure

As shown in Figure 4, the IfcProject provides the context for project libraries that in return provide a context to the library items assigned to it. Product types are an example for items that can be included in a project library.

Figure 4 — Project spatial structure, products and product type library

Informal propositions:

  1. There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance.
" 984;IfcProjectLibrary;"

IfcProjectLibrary collects all library elements that are included within a referenced project data set.

Examples for project libraries include:

  • type libraries (also called style or family libraries): a collection of subtypes of IfcTypeObject
  • property definition libraries: a collections of IfcPropertySetTemplate or IfcPropertyTemplates
HISTORY New entity in IFC2x4.

Attribute use definition

SELF\IfcContext.RepresentationContext
Context of the representations used within the project library. When the project library includes shape representations for its library type objects, one or several geometric representation contexts need to be included that define the coordinate system, the coordinate space dimensions, and/or the precision factor.

SELF\IfcContext.UnitsInContext
Units locally assigned to measure types used within the context of this project library.
NOTE  It is generally discouraged to use a different length measure and plane angle measure in an included project library compared with the project itself. It may lead to unexpected results for the shape representation of items included in the project library.

Relationship use definition

Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares.

An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy.

" 985;IfcRelDefinesByProperties;"

The objectified relationship IfcRelDefinesByProperties defines the relationships between property set definitions and objects. Properties are aggregated in property sets. Property sets can be either directly assigned to occurrence objects using this relationship, or assigned to an object type and assigned via that type to occurrence objects.

The IfcRelDefinesByProperties is a 1-to-N relationship, as it allows for the assignment of one property set to a single or to many objects. Those objects then share the same property definition.

HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x.
IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties.
" 988;IfcRelDefinesByObject;"

The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type.

The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps.

Only objects that take part in a type decomposition and in an occurrence decomposition of the same type can be connected by the IfcRelDefinesByObject relationship.

HISTORY New entity in IFC2x4.

Relationship use definition

The IfcRelDefinesByObject links the decomposed object type part, also called the ""declaring part"" with the occurrence of that part inside the occurrence of the decomposed type, also called the ""reflected part"", as shown in Figure 6.

Figure 6 — Part definition relationships

The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the ""declaring part"" is referenced by the ""reflected part"". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context.

Figure 7 — Part definition relationships with shape representation

" 991;IfcPropertySetTemplate;"

IfcPropertySetTemplate defines the template for all dynamically extensible property sets represented by IfcPropertySet. The property set template is a container of property templates within a property tree. The individual property templates are interpreted according to their Name attribute and shall have no values assigned.

NOTE  By convention an IfcPropertySetTemplate can also be used as a template for an IfcElementQuantity, being a particular type of a property set definition.

Property set templates can form part of a property library used and declared within a project. Depending on the TemplateType the IfcPropertySetTemplate defines a template for:

  • ""Pset_"" - occurrences of IfcPropertySet
  • ""QTO_"" - occurrences of IfcElementQuantity
HISTORY New Entity in IFC2x4.

Relationship use definition

The inherited HasContext inverse relation to IfcRelDeclares is used to declare the IfcPropertySetTemplate within a project library. If included in an exchange data set it can then be traversed through the IfcProjectLibrary.

The Defines inverse relation to IfcRelDefinesByTemplate is provided to keep the definition relationship between the IfcPropertySetTemplate and the one to many IfcPropertySet's, for which it provides the template.

Between IfcProperty's within the HasProperties set of IfcPropertySet having the same Name attribute value as the IfcPropertyTemplate's within the HasPropertyTemplates set of IfcPropertySetTemplate an implicit definition relationship is established that assigns the template to the individual properties.

Figure 5 illustrates relationships used for property set templates.

Figure 5 — Property set template relationships

" 998;IfcPropertyTemplateDefinition;"

IfcPropertyTemplateDefinition is a generalization of all property and property set templates. Templates define the collection, types, names, applicable measure types and units of individual properties used in a project. The property template definition can be either:

Property set template - IfcPropertySetTemplate, a collection of property templates that determine the definition of properties used within a project context.

Property template - IfcPropertyTemplate, a single template that determines the definition of a particular property used in the same project context. The template may determine the name, description, data type, the unit, or a standard expression for each property that is based on that template.

The subtypes of IfcPropertyTemplateDefinition are declared within a project context. The uppermost template definition (e.g. the IfcPropertySetTemplate including several IfcPropertyTemplate's) should be related to the context, either IfcProject, or IfcProjectLibrary, using the inherited HasContext inverse attribute.

HISTORY  New Entity in IFC2x4.
" 1001;IfcPropertyTemplate;"

The IfcPropertyTemplate is an abstract supertype comprising the templates for all dynamically extensible properties, either as an IfcComplexPropertyTemplate, or an IfcSimplePropertyTemplate. These templates determine the structure of:

  • in case of IfcComplexPropertyTemplate
    • an IfcComplexProperty
    • an IfcPhysicalComplexQuantity
  • in case of IfcSimplePropertyTemplate
    • a subtype of IfcSimpleProperty
    • a subtype of IfcPhysicalSimpleQuantity

The individual property templates are interpreted according to their Name attribute and may have a predefined property type, property unit, and property data type. A template however shall not have measure values, or quantity values assigned. .

NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary.
HISTORY New Entity in IFC2x4.
" 1006;IfcComplexPropertyTemplate;"

The IfcComplexPropertyTemplate defines the template for all complex properties, either the IfcComplexProperty's, or the IfcPhysicalComplexQuantity's. The individual complex property templates are interpreted according to their Name attribute and and optional UsageName attribute.

HISTORY  New entity in IFC2x4.
" 1015;IfcSimplePropertyTemplate;"

The IfcSimplePropertyTemplate defines the template for all dynamically extensible properties, either the subtypes of IfcSimpleProperty, or the subtypes of IfcPhysicalSimpleQuantity. The individual property templates are interpreted according to their Name attribute and may have a predefined template type, property units, and property data types. The correct interpretation of the attributes:

  • PrimaryUnit
  • SecondaryUnit
  • PrimaryDataType
  • SecondaryDataType

is determined by the TemplateType. The TemplateType also controls, which subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity shall be used for property occurrences corresponding to this template.

HISTORY  New entity in IFC2x4.

Relationship use definition

The IfcSimplePropertyTemplate is part of the set of templates included in the IfcPropertySetTemplate. The template can be accessed throught the inverse attribute PartOfPsetTemplate The IfcPropertySetTemplate may define one or several instances of IfcPropertySet (or IfcElementQuantity). The definition assignment is established by the objectified relationship IfcRelDefinesByTemplate.

There is no direct link between an IfcSimplePropertyTemplate and a subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity. The definition relationship between the template and the individual properties (or quantities) is established by the Name attributes.

Constraints at IfcPropertySetTemplate and IfcPropertySet (and IfcElementQuantity) guarantee that the Name attributes of included property templates and individual properties are unique.

Figure 9 — Property template relationships

" 1045;IfcPreDefinedPropertySet;"

IfcPreDefinedPropertySet is a generalization of all statically defined property sets that are assigned to an object or type object. The statically or pre-defined property sets are entities with a fixed list of attributes having particular defined data types.

IfcPreDefinedPropertySet's can be assigned to objects and object types but do not have a defining property set template.

HISTORY New Entity in IFC2x4

Relationship use definition

Property sets are related to other objects by using the relationship object that refers to the corresponding object:

  • Occurrence Object: IfcRelDefinesByProperties using the inverse attribute DefinesOccurrence.
  • Type Object: using a direct link by inverse attribute DefinesType.
" 1046;IfcProxy;"

IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC.

The ProxyType may give an indication to which high level semantic breakdown of object the semantic definition of the proxy relates to. the Tag attribute may be used to assign a human or system interpretable identifier (such as a serial number or bar code).

NOTE 1  Given that only a limited number of semantic constructs can be formally defined within IFC (and it will never be possible to define all), there has to be a mechanism for capturing those constructs that are not (yet) defined by IFC.

NOTE 2  Product proxies are a mechanism that allows to exchange data that is part of the project but not necessarily part of the IFC model. Those proxies may have geometric representations assigned.

HISTORY  New entity in IFC Release 1.5.
" 1055;IfcRelFlowControlElements;"

Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement.

This relationship may be used to indicate an operation relationship such as an actuator operating a valve, damper, or switch. It may also be used to indicate a sensing relationship such as a sensor detecting conditions of fluid flow.

This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used.

HISTORY: New entity in IFC R2x.
" 1058;IfcDistributionControlElement;"

The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system.

This class defines elements of a building automation control system. These are typically used to control distribution system elements to maintain variables such as temperature, humidity, pressure, flow, power, or lighting levels, through the modulation, staging or sequencing of mechanical or electrical devices. The three general functional categories of control elements are as follows:

  • Impart control over flow control elements (IfcFlowController) in a distribution system such as dampers, valves, or relays, typically through the use of actuation (IfcActuator).
  • Sensing elements (IfcSensor) that measure changes in the controlled variable such as temperature, humidity, pressure, or flow.
  • Controllers (IfcController) typically classified according to the control action they seek to perform and generally responsible for making decisions about the elements under control.

Since this class and its subtypes typically relate to many different distribution flow elements (IfcDistributionFlowElement), the objectified relationship IfcRelFlowControlElements has been provided to relate control and flow elements as required.

IFC2x4 CHANGE: ControlElementId attribute deleted; replaced by classification usage. HISTORY: New entity in IFC R2.0.

Type Use Definition

IfcDistributionControlElement defines the occurrence of any distribution control element; common information about distribution control element types is handled by IfcDistributionControlElementType. The IfcDistributionControlElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionControlElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionControlElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionControlElement occurrence using the IfcRelDefinesByObject relationship. Direct instantiation of IfcDistributionControlElement with IfcObject.ObjectType asserted provides the meaning of a distribution control element proxy.

Property Set Use Definition

The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionControlElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionControlElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionControlElement override the properties defined at IfcDistributionControlElementType. Refer to the documentation at the supertype IfcDistributionElement and ancestors for inherited property set definitions.

Classification Use Definition

In addition to general product and project classification (UniFormat, etc.), classifications may also be applied to indicate a device address or addressing scheme using IfcRelAssociatesClassification where RelatedObjects contains the IfcDistributionControlElement and RelatingClassification refers to an IfcClassification or IfcClassificationReference.

  • IfcClassification: Indicates an addressing scheme managed by the device where ReferenceTokens defines the format of the address to be specified at IfcClassificationReference.ItemReference. A classification hierarchy may optionally be provided indicating detected or provisioned device addresses.
  • IfcClassificationReference: Indicates the address of the control element where Identification uniquely identifies the element within the control system as determined by the ClassificationSource. Several examples are illustrated:
    • 'BACnet': BACnetObjectIdentifier in the decimal form '12.15' (Digital Input #15) indicating type ID and instance ID.
    • 'IP': IP Address in the decimal form '192.168.1.2' such as for an IPv4 network.
    • 'OPC': Hierarchical ItemID in the alphanumeric form 'B204.Tank2.Temperature'
    • 'X-10': Alphabetic and numeric code in the form 'B12' (House B, Device 12) indicating House Code and Device Code.

Figure 147 illustrates classification usage.

Figure 147 — Distribution control classification

Composition Use Definition

The IfcDistributionControlElement may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionControlElement and RelatedObjects contains one or more components. Likewise, a control element may be aggregated within another element. For example, a thermostat may contain temperature sensors, and a programmable logic controller may contain virtual (software-based) control elements. Standard types for composition are defined at subtypes.

Connection Use Definition

The IfcDistributionControlElement may be connected to other objects as follows using the indicated relationship:

  • IfcSpatialStructureElement (IfcRelContainedInSpatialStructure) : Indicates the spatial location containing the element. If an element is aggregated within another element, then only the top-level element participates in this relationship.
  • IfcElement (IfcRelConnectsElements) : Indicates physical connectivity with another element (but not embedding or flow control), such as a sensor attached to a wall. IfcRelConnectsElements.RelatingElement refers to the anchored side (for example, wall hosting sensor).
  • IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates ports on the element which may be connected to other elements for control signal transmission or electric power. Standard port names, types, and directions are defined at subtypes.
  • IfcDistributionFlowElement (IfcRelFlowControlElements) : Indicates a flow element is sensed or controlled by the control element, such as a tank for a level sensor or a valve for an actuator.

Assignment Use Definition

The IfcDistributionControlElement may be assigned to the following entities using relationships as indicated:

The IfcDistributionControlElement may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionControlElement and RelatedObjects contains one or more objects of the following types:

  • IfcTask: Indicates tasks used to purchase, install, renovate, demolish, operate, or otherwise act upon the element. If the element has a type, available task types are assigned to the element type.
  • IfcProcedure: Indicates procedures used to operate the element. If the element has a type, available procedure types are assigned to the element type.
  • IfcEvent: Indicates events raised by the element, sequenced by procedures to be followed. If the element has a type, available event types are assigned to the element type.

Material Use Definition

The material of the IfcDistributionControlElement is defined using one of the following entities:

  • IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
  • IfcMaterial: For elements comprised of a single material, this indicates the material.

The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionControlElementType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.

Representation Use Definition

The following shape representations are supported for subtypes of IfcDistributionControlElement, distinguished by IfcShapeRepresentation.RepresentationIdentifier:

  • 'Footprint': Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of 'GeometricCurveSet' and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
  • 'Body': Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of 'SurfaceModel', 'SolidModel', or any solid model specializations including 'Brep', 'AdvancedBrep', 'SweptSolid', 'AdvancedSweptSolid', 'CSG', 'Clipping', or 'SectionedSpine').
  • 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation of other elements, though may intersect with the 'Clearance' representation of other elements. The particular use of clearance space may be for safety, maintenance, or other purpose.

For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden.

If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name).

" 1060;IfcDistributionPort;"

A distribution port is an inlet or outlet of a product through which a particular substance may flow.

Distribution ports are used for passage of solid, liquid, or gas substances, as well as electricity for power or communications. Flow segments (pipes, ducts, cables) may be used to connect ports across products. Distribution ports are defined by system type and flow direction such that for two ports to be connected, they must share the same system type and have opposite flow directions (one side being a SOURCE and the other being a SINK). Ports are similar to openings in that they do not have any visible geometry; such geometry is captured at the shape representation of the enclosing element or element type. Ports may have shape representations that indicate the position, orientation, and cross-section of the connection.

HISTORY: New entity in IFC2x2

Property Set Use Definition

The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcPort and ancestors for inherited property set definitions.

The following property set definitions are applicable to this entity:

The following property set definitions are applicable to this entity according to the PredefinedType attribute:

The following property set definitions are applicable to IfcPerformanceHistory, for which objects are assigned:

Material Use Definition

The material of the IfcDistributionPort is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

  • 'Media': The solid, liquid, or gas media passing through the port.

Composition Use Definition

The IfcDistributionPort may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionPort and RelatedObjects contains one or more components. Composition use is defined for the following predefined types:

  • AUDIOVISUAL: May contain IfcDistributionPort components having PredefinedType AUDIOVISUAL. If needed, audio-visual ports may be aggregated into specific streams (channels).
  • CONTROL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, control ports may be aggregated into signal lines for indicating pinout specification.
  • DATA: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, data ports may be aggregated into signal lines for indicating pinout specification.
  • ELECTRICAL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, electrical ports may be aggregated into modulated signals for data or lighting control.
  • ELECTROACCOUSTIC: May contain IfcDistributionPort components having PredefinedType ELECTROACCOUSTIC. If needed, speaker ports may be aggregated into streams (channels) for each speaker.
  • TELEPHONE: May contain IfcDistributionPort components having PredefinedType TELEPHONE. If needed, telephone ports may be aggregated for each line.

Connection Use Definition

The IfcDistributionPort may be connected to other objects as follows using the indicated relationship:

  • IfcDistributionElement (IfcRelConnectsPortToElement) : Indicates the host element or element type containing the port.
  • IfcDistributionPort (IfcRelConnectsPorts) : Indicates a connection to another port having the same type and opposite flow direction. For port connections between elements, the RelatingPort is set to a port having FlowDirection=SOURCE and the RelatedPort is set to a port having FlowDirection=SINK. For aggregation scenarios, ports on a device may be mapped to aggregated devices within, in which case ports on the outer device indicate a single FlowDirection but have an additional connection internally to a port on an aggregated inner device. Refer to IfcUnitaryEquipment for an example.

Figure 149 illustrates distribution port connectivity.

Figure 149 — Distribution port connectivity

Assignment Use Definition

The IfcDistributionPort may be assigned to the following entities using relationships as indicated:

The IfcDistributionPort may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionPort and RelatedObjects contains one or more objects of the following types:

Representation Use Definition

The representation of IfcDistributionPort is given by IfcProductDefinitionShape, allowing multiple shape and topology representations. Included are:

  • IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal.
    • 'Body': The shape of the port.
" 1106;IfcDistributionControlElementType;"

The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).

Distribution control element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcDistributionControlElementType are represented by instances of IfcDistributionControlElement or its subtypes.

HISTORY: New entity in IFC Release 2x2.

Declaration Use Definition

The IfcDistributionControlElementType may be declared within a project or project library using IfcRelDeclares where RelatingContext refers to the project or library and RelatedDefinitions includes the element type. Inclusion within IfcProject indicates the type is editable within the direct project and may be available to other referencing projects that may incorporate the type. Inclusion within IfcProjectLibrary indicates the type is incorporated from a referenced project. Default units and coordinate systems (used for representations, materials, and property sets) are indicated by the declaring project or library.

Classification Use Definition

The IfcDistributionControlElementType may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Classifications may refer to industry standards such as MasterFormat, OmniFormat, or UniFormat. Classifications may also refer to organization-specific, project-specific, or system-specific designations. Classification reference identification schemes are described by IfcClassification.ReferenceTokens.

Document Use Definition

The IfcDistributionControlElementType may be documented using IfcRelAssociatesDocument where RelatingDocument refers to an IfcDocumentReference indicating content within a document, or IfcDocumentInformation indicating an entire document. Document information may refer to arbitrary attachments such as text or multimedia, while document references may refer to items within particular formats (such as XML element IDs) where there is need to synchronize document information with model information. Document reference identification schemes depend on the particular document format.

Library Use Definition

The IfcDistributionControlElementType may be published to a model server using IfcRelAssociatesLibrary where RelatingLibrary refers to an IfcLibraryReference indicating the unique identification within the published project. If the published project is IFC format, then IfcLibraryReference.Identification shall match IfcRoot.GlobalID of the published (master) project, using the same encoding as described for IfcGloballyUniqueId. Multiple library references may be provided to indicate alternate names and descriptions for particular languages. If the element type is declared within IfcProject, then IfcLibraryInformation.Location and IfcLibraryInformation.Version indicate the URL and version as last published. If the element type is declared within IfcProjectLibrary, then the library information indicates the location and version of the definition as last retrieved.

Composition Use Definition

The IfcDistributionControlElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a thermostat type may be decomposed into temperature sensors. Standard types for composition are defined at occurrences for subtypes.

Connection Use Definition

The IfcDistributionControlElementType may be connected to other objects as follows using the indicated relationship:

Assignment Use Definition

The IfcDistributionControlElementType may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionControlElementType and RelatedObjects contains one or more objects of the following types:

  • IfcTaskType: Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types.
  • IfcProcedureType: Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type.
  • IfcEventType: Indicates event types available to be raised by occurrences of the element, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.

Material Use Definition

The material of the IfcDistributionControlElementType is defined using one of the following entities:

  • IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
  • IfcMaterial: For elements comprised of a single material, this indicates the material.

The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.

Representation Use Definition

The following shape representations are supported for subtypes of IfcDistributionControlElementType, distinguished by IfcShapeRepresentation.RepresentationIdentifier:

  • 'Footprint': Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of 'GeometricCurveSet' and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
  • 'Body': Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of 'SurfaceModel', 'SolidModel', or any solid model specializations including 'Brep', 'AdvancedBrep', 'SweptSolid', 'AdvancedSweptSolid', 'CSG', 'Clipping', or 'SectionedSpine').
  • 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose.
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
" 1107;IfcDistributionFlowElementType;"

The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).

Distribution flow element types (orthe instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcDistributionFlowElementType are represented by instances of IfcDistributionFlowElement or its subtypes.

HISTORY: New entity in IFC Release 2x2.

Declaration Use Definition

The IfcDistributionFlowElementType may be declared within a project or project library using IfcRelDeclares where RelatingContext refers to the project or library and RelatedDefinitions includes the element type. Inclusion within IfcProject indicates the type is editable within the direct project and may be available to other referencing projects that may incorporate the type. Inclusion within IfcProjectLibrary indicates the type is incorporated from a referenced project. Default units and coordinate systems (used for representations, materials, and property sets) are indicated by the declaring project or library.

Classification Use Definition

The IfcDistributionFlowElementType may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Classifications may refer to industry standards such as MasterFormat, OmniFormat, or UniFormat. Classifications may also refer to organization-specific, project-specific, or system-specific designations. Classification reference identification schemes are described by IfcClassification.ReferenceTokens.

Document Use Definition

The IfcDistributionFlowElementType may be documented using IfcRelAssociatesDocument where RelatingDocument refers to an IfcDocumentReference indicating content within a document, or IfcDocumentInformation indicating an entire document. Document information may refer to arbitrary attachments such as text or multimedia, while document references may refer to items within particular formats (such as XML element IDs) where there is need to synchronize document information with model information. Document reference identification schemes depend on the particular document format.

Library Use Definition

The IfcDistributionFlowElementType may be published to a model server using IfcRelAssociatesLibrary where RelatingLibrary refers to an IfcLibraryReference indicating the unique identification within the published project. If the published project is IFC format, then IfcLibraryReference.Identification shall match IfcRoot.GlobalID of the published (master) project, using the same encoding as described for IfcGloballyUniqueId. Multiple library references may be provided to indicate alternate names and descriptions for particular languages. If the element type is declared within IfcProject, then IfcLibraryInformation.Location and IfcLibraryInformation.Version indicate the URL and version as last published. If the element type is declared within IfcProjectLibrary, then the library information indicates the location and version of the definition as last retrieved.

Figure 148 illustrates a project containing a light fixture in a building, where the definition of the light fixture is obtained from an external project.

Figure 148 — Distribution flow element library

Composition Use Definition

The IfcDistributionFlowElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a cable type may be decomposed into wires. Standard types for composition are defined at occurrences for subtypes.

Connection Use Definition

The IfcDistributionFlowElementType may be connected to other objects as follows using the indicated relationship:

Assignment Use Definition

The IfcDistributionFlowElementType may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionFlowElementType and RelatedObjects contains one or more objects of the following types:

  • IfcTaskType: Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types.
  • IfcProcedureType: Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type.
  • IfcEventType: Indicates event types available to be raised by occurrences of the element, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.

Material Use Definition

The material of the IfcDistributionFlowElementType is defined using one of the following entities:

  • IfcMaterialProfileSet: For elements having a constant cross-section, this defines the material profile which may be used to generate the 'Body' representation at occurrences (for parametric definitions not having representation), or for analysis purposes.
  • IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
  • IfcMaterial: For elements comprised of a single material, this indicates the material.

The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.

Representation Use Definition

The following shape representations are supported for subtypes of IfcDistributionFlowElementType, distinguished by IfcShapeRepresentation.RepresentationIdentifier:

  • 'Axis': Represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of 'Curve3D' and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segment types (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.
  • 'Footprint': Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of 'GeometricCurveSet' and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
  • 'Body': Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of 'SurfaceModel', 'SolidModel', or any solid model specializations including 'Brep', 'AdvancedBrep', 'SweptSolid', 'AdvancedSweptSolid', 'CSG', 'Clipping', or 'SectionedSpine').
  • 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose.
  • 'Lighting': Represents the light emission of the item having IfcShapeRepresentation.RepresentationType of 'LightSource' and containing one or more IfcLightSource subtypes. This representation is most applicable to lamps and light fixtures, however may be used at other elements that emit light.

    If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type.

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
    " 1117;IfcEnergyConversionDeviceType;"

    The element type IfcEnergyConversionType defines a list of commonly shared property set definitions of an energy conversion device and an optional set of product representations. It is used to define an energy conversion device specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A energy conversion type is used to define the common properties of a energy conversion device that may be applied to many occurrences of that type. An energy conversion device is a building systems device that converts energy from one form into another such as a boiler (i.e., combusting gas to heat water), chiller (i.e., using a refrigeration cycle to cool a liquid), or a cooling coil (i.e., using the phase-change characteristics of a refrigerant to cool air). Energy conversion types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcEnergyConversionType are represented by instances of IfcEnergyConversionDevice.

    HISTORY: New entity in IFC Release 2x2.
    " 1118;IfcFlowMovingDeviceType;"

    The element type IfcFlowMovingDeviceType defines a list of commonly shared property set definitions of a flow moving device and an optional set of product representations. It is used to define a flow moving device specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A flow moving type is used to define the common properties of a flow moving device that may be applied to many occurrences of that type. A flow moving device is a device that is used to produce a pressure differential in a distribution system, such as a pump, fan, compressor, etc. Flow moving types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowMovingDeviceType are represented by instances of IfcFlowMovingDevice.

    HISTORY: New entity in IFC Release 2x2.
    " 1119;IfcFlowControllerType;"

    The element type IfcFlowControllerType defines a list of commonly shared property set definitions of a flow controller and an optional set of product representations. It is used to define a flow controller specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A flow controller type is used to define the common properties of a flow controller that may be applied to many occurrences of that type. A flow controller is a device that regulates flow within a distribution system, such as a valve in a piping system, modulating damper in an air distribution system, or electrical switch in an electrical distribution system. Flow controller types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowControllerType are represented by instances of IfcFlowController or its subtypes.

    HISTORY: New entity in IFC Release 2x2.
    " 1120;IfcFlowSegmentType;"

    The element type IfcFlowSegmentType defines a list of commonly shared property set definitions of a flow segment and an optional set of product representations. It is used to define a flow segment specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A flow segment type is used to define the common properties of a flow segment that may be applied to many occurrences of that type. A flow segment is a section of a distribution system, such as a duct, pipe, conduit, etc. that typically has only two ports. Flow segment types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowSegmentType are represented by instances of IfcFlowSegment or its subtypes.

    HISTORY: New entity in IFC Release 2x2.

    Material Use Definition

    The material of the IfcDistributionFlowSegmentType is defined using one of the following entities:

    • IfcMaterialProfileSet : This defines the material cross section which may be used to generate the 'Body' representation at occurrences (for parametric definitions not having representation), or for analysis purposes.
    • IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects.
    • IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material.
    " 1121;IfcFlowFittingType;"

    The element type IfcFlowFittingType defines a list of commonly shared property set definitions of a flow fitting and an optional set of product representations. It is used to define a flow fitting specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A flow fitting type is used to define the common properties of a flow fitting that may be applied to many occurrences of that type. A flow fitting is a device that is used to interconnect flow segments or other fittings within a distribution system, such as a tee in a ducted system that branches flow into two directions, a junction box in an electrical distribution system, etc. Flow fitting types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowFittingType are represented by instances of IfcFlowFitting or its subtypes.

    HISTORY: New entity in IFC Release 2x2.
    " 1122;IfcFlowStorageDeviceType;"

    The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type).

    A flow storage device is a device used for the temporary storage of a fluid (such as a tank) or the voltage potential induced by the induced electron flow (such as a battery). Flow storage types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes.

    HISTORY: New entity in IFC Release 2x2.
    " 1123;IfcFlowTreatmentDeviceType;"

    The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type).

    A flow treatment device is a device used to change the physical properties of the medium, such as an air, oil or water filter (used to remove particulates from the fluid), or a duct silencer (used to attenuate noise). Flow treatment types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes.

    HISTORY: New entity in IFC Release 2x2.
    " 1124;IfcFlowTerminalType;"

    The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type).

    A flow terminal type is used to define the common properties of a flow terminal that may be applied to many occurrences of that type. A flow terminal acts as a terminus or beginning element in a distribution system such as a ceiling register in a ducted air distribution system, a sink in a waste-water system, or a light fixture in an electrical lighting system. Flow terminal types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes.

    HISTORY: New entity in IFC Release 2x2.
    " 1125;IfcDistributionChamberElementType;"

    The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include:

    • common properties with shared property sets
    • common materials
    • common ports
    • common composition of elements
    • common assignment of process types
    • common representations of shape and style

    It is used to define a distribution chamber element specification (i.e. the specific product information, that is common to all occurrences of that product type). Distribution Chamber Element types may be exchanged without being already assigned to occurrences. Occurrences of IfcDistributionChamberElementType are represented by instances of IfcDistributionChamberElement.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionFlowElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcDistributionChamberElementType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Base': The material from which the base of the duct is constructed.
    • 'Cover': The material from which the access cover to the chamber is constructed.
    • 'Fill': The material that is used to fill the duct (where used).
    • 'Wall': The material from which the wall of the duct is constructed.
    " 1139;IfcDistributionSystem;"

    A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals.

    HISTORY New entity in IFC 2x4.

    The group IfcDistributionSystem defines the occurrence of a specialized system for use within the context of building services.

    NOTE: For electrical power systems, IfcElectricalCircuit has been used for low-voltage (12-1000 V) power systems and has been deprecated in IFC2x4; IfcDistributionSystem with PredefinedType 'ELECTRICAL' should now be used instead.

    Important functionalities for the description of a distribution system are derived from existing IFC entities:

    • From IfcSystem it inherits the ability to couple the distribution system via IfcRelServicesBuildings to one or more IfcSpatialElement subtypes as necessary.
    • From IfcGroup it inherits the inverse attribute IsGroupedBy, pointing to the relationship class IfcRelAssignsToGroup. This allows to group distribution elements (instances of IfcDistributionElement subtypes), and in special cases ports directly (instances of IfcDistributionPort).
    • From IfcObject it inherits the inverse attribute IsDecomposedBy pointing to the relationship class IfcRelAggregates. It provides the hierarchy between the separate (partial) distribution systems. For example, an electrical main circuit may be aggregated into branch circuits.

    Property Set Use Definition:

    The property sets relating to this entity are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to this entity are part of this IFC release:

    Assignment Use Definition:

    For the most common case of an IfcDistributionElement subtype containing ports of a particular PredefinedType that all belong to the same distribution system, the IfcDistributionElement is assigned to the IfcDistributionSystem via the IfcRelAssignsToGroup relationship, where IfcDistributionPort's are implied as part of the corresponding system based on their PredefinedType. An IfcDistributionElement may belong to multiple systems, however only one IfcDistributionSystem of a particular PredefinedType.

    For rare cases where an IfcDistributionElement subtype contains ports of the same PredefinedType yet different ports belong to different systems, alternatively each IfcDistributionPort may be directly assigned to a single IfcDistributionSystem via the IfcRelAssignsToGroup relationship, where the PredefinedType must match. Such assignment indicates that the IfcDistributionSystem assigned from the IfcDistributionPort overrides any such system of the same PredefinedType assigned from the containing IfcDistributionElement, if any.

    Additionally, an IfcDistributionSystem may in turn be assigned to an IfcDistributionPort indicating the host or origination of the system using IfcRelAssignsToProduct.

    EXAMPLE: A gas-powered hot water heater may have three ports: GAS, DOMESTICCOLDWATER, and DOMESTICHOTWATER. The heater is a member of two systems (GAS and DOMESTICCOLDWATER), and hosts one system (DOMESTICHOTWATER) at the corresponding port.

    Figure 150 illustrates a distribution system for an electrical circuit.

    Figure 150 — Distribution system assignment

    " 1142;IfcDistributionFlowElement;"

    The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power.

    EXAMPLEs of distribution flow elements are ducts, pipes, wires, fittings, and equipment.
    HISTORY: New entity in IFC R2.0.

    Type Use Definition

    IfcDistributionFlowElement defines the occurrence of any distribution flow element; common information about distribution flow element types is handled by IfcDistributionFlowElementType. The IfcDistributionFlowElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionFlowElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionFlowElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionFlowElement occurrence using the IfcRelDefinesByObject relationship. Direct instantiation of IfcDistributionFlowElement with IfcObject.ObjectType asserted provides the meaning of a distribution flow element proxy.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionFlowElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionFlowElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionFlowElement override the properties defined at IfcDistributionFlowElementType. Refer to the documentation at the supertype IfcDistributionElement and ancestors for inherited property set definitions.

    Composition Use Definition

    The IfcDistributionFlowElement may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElement and RelatedObjects contains one or more components. For example, a cable may be decomposed into wires. Standard types for composition are defined at subtypes.

    Connection Use Definition

    The IfcDistributionFlowElement may be connected to other objects as follows using the indicated relationship:

    • IfcSpatialStructureElement (IfcRelContainedInSpatialStructure) : Indicates the spatial location containing the element.
    • IfcElement (IfcRelConnectsElements) : Indicates physical connectivity with another element (but not embedding or flow transmission), such as a light fixture hanging from a ceiling (IfcCovering), or a junction box having a cover plate (IfcDiscreteAccessory). IfcRelConnectsElements.RelatingElement refers to the anchored side (ceiling for fixture, junction box for cover).
    • IfcElement (IfcRelInterferesElements) : Indicates interference with another element and precedence, such as a pipe going through a wall.
    • IfcOpening (IfcRelFillsElement) : Indicates embedding an element within another element (implying a cutout), such as an air terminal or junction box embedded within a wall.
    • IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates ports on the element which may be connected to other elements for flow distribution of solids, liquids, gas, or electricity. Standard port names, types, and directions are defined at subtypes.
    • IfcDistributionControlElement (IfcRelFlowControlElements) : Indicates a control element that senses or controls some aspect of the flow element, such as a level sensor for a tank or an actuator for a valve.

    Assignment Use Definition

    The IfcDistributionFlowElement may be assigned to the following entities using relationships as indicated:

    The IfcDistributionFlowElement may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionFlowElement and RelatedObjects contains one or more objects of the following types:

    • IfcTask: Indicates tasks used to purchase, install, renovate, demolish, operate, or otherwise act upon the element. If the element has a type, available task types are assigned to the element type.
    • IfcProcedure: Indicates procedures used to operate the element. If the element has a type, available procedure types are assigned to the element type.
    • IfcEvent: Indicates events raised by the element, sequenced by procedures to be followed. If the element has a type, available event types are assigned to the element type.

    Material Use Definition

    The material of the IfcDistributionFlowElement is defined using one of the following entities:

    • IfcMaterialProfileSetUsage: For parametric segments, this defines the cross section and alignment to the 'Axis' representation, from which the 'Body' representation may be generated.
    • IfcMaterialProfileSet: For non-parametric segments (having fixed length or path), this may define the cross section for analysis purposes, however the 'Body' representation is independently generated.
    • IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
    • IfcMaterial: For elements comprised of a single material, this indicates the material.

    The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionFlowElementType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.

    Representation Use Definition

    The following shape representations are supported for subtypes of IfcDistributionFlowElement, distinguished by IfcShapeRepresentation.RepresentationIdentifier:

    • 'Axis': Represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of 'Curve3D' and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segments (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.
    • 'Footprint': Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of 'GeometricCurveSet' and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
    • 'Body': Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of 'SurfaceModel', 'SolidModel', or any solid model specializations including 'Brep', 'AdvancedBrep', 'SweptSolid', 'AdvancedSweptSolid', 'CSG', 'Clipping', or 'SectionedSpine').
    • 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation of other elements, though may intersect with the 'Clearance' representation of other elements. The particular use of clearance space may be for safety, maintenance, or other purpose.
    • 'Lighting': Represents the light emission of the item having IfcShapeRepresentation.RepresentationType of 'LightSource' and containing one or more IfcLightSource subtypes. This representation is most applicable to lamps and light fixtures, however may be used at other elements that emit light.

    For all representations, if a IfcDistributionFlowElement occurrence is defined by a IfcDistributionFlowElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden.

    If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name).

    Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation.

    " 1153;IfcFlowFitting;"

    The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes.

    HISTORY: New entity in IFC R2.0.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1154;IfcFlowSegment;"

    The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system.

    HISTORY: New entity in IFC R2.0.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.

    The IfcFlowSegment defines a particular occurrence of a segment inserted in the spatial context of a project. The parameters defining the type of the segment and/or its shape are defined by the IfcFlowSegmentType, which is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType.

    Material Use Definition

    The material of the IfcFlowSegment is defined using one of the following entities:

    • IfcMaterialProfileSetUsage : for parametric segments, this defines the cross section and alignment to the 'Axis' representation, from which the 'Body' representation may be generated.
    • IfcMaterialProfileSet : for non-parametric segments (having fixed length or path), this may define the cross section for analysis purposes, however the 'Body' representation is independently generated.
    • IfcMaterialConstituentSet : for elements containing multiple materials where profiles are not applicable, this indicates materials at named parts.
    • IfcMaterial : for elements comprised of a single material where profiles are not applicable, this indicates the material.

    The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFlowSegmentType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.

    Representation Use Definition

    Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis.

    " 1155;IfcFlowController;"

    The distribution flow element IfcFlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays. Its type is defined by IfcFlowControllerType or subtypes.

    HISTORY: New entity in IFC R2.0.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1156;IfcFlowTerminal;"

    The distribution flow element IfcFlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (e.g., air outlet, drain, water closet, sink, etc.). A terminal is typically a point at which a system interfaces with an external environment. Its type is defined by IfcFlowTerminalType or its subtypes.

    HISTORY: New entity in IFC R2.0.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1157;IfcFlowMovingDevice;"

    The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes.

    HISTORY: New entity in IFC R2x.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1158;IfcEnergyConversionDevice;"

    The distribution flow element IfcEnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system. Its type is defined by IfcEnergyConversionDeviceType or its subtypes.

    HISTORY: New entity in IFC R2.0.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1159;IfcFlowStorageDevice;"

    The distribution flow element IfcFlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage of a fluid such as a liquid or a gas (e.g., tank). Its type is defined by IfcFlowStorageDeviceType or its subtypes.

    HISTORY: New entity in IFC R2x.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1160;IfcFlowTreatmentDevice;"

    The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes.

    HISTORY: New entity in IFC R2x.
    IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
    " 1161;IfcDistributionChamberElement;"

    A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel.

    An IfcDistributionChamberElement is a formed volume used in a distribution system, such as a sump, trench or manhole. Instances of IfcDistributionSystem or IfcDistributionFlowElement may be related to the IfcDistributionChamberElement enabling their location in or at the chamber to be determined.

    HISTORY: New entity in IFC2x2

    Type Use Definition

    IfcDistributionChamberElement defines the occurrence of any distribution chamber element; common information about distribution chamber element types is handled by IfcDistributionChamberElementType. The IfcDistributionChamberElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionChamberElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionChamberElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionChamberElement occurrence using the IfcRelDefinesByObject relationship.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionChamberElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionChamberElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionChamberElement override the properties defined at IfcDistributionChamberElementType. Refer to the documentation at the supertype IfcDistributionFlowElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcDistributionChamberElement is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionChamberElementType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Base': The material from which the base of the duct is constructed.
    • 'Cover': The material from which the access cover to the chamber is constructed.
    • 'Fill': The material that is used to fill the duct (where used).
    • 'Wall': The material from which the wall of the duct is constructed.
    " 1166;IfcDiscreteAccessory;"

    Definition from IAI: Representation of different kinds of accessories included in or added to elements.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Attribute PredefinedType added.

    General usage

    The exact type information of the IfcDiscreteAccessory is given in the ObjectType attribute inherited from IfcObject. Standard type designations are provided for guideline below. The list is not exhaustive and the list of definitions may be extended based on local national extensions.

    Accessory type Standard type designation Description
    Shading devices: 'Shading device' Elements specifically designed to provide shading, often fixed externally and sometimes moving (e.g. by rotation)
    Corbels as separate components: 'Hidden steel corbel' Corbel system made from steel components embedded into the master element
    'Visible steel corbel' Corbel system made from steel components protruding from the master element
    'Visible concrete corbel' Corbel system made as a separate precast concrete component added to the master element
    'Ladder truss connector' A fixing device in truss form with straight cross bars in ladder form holding two precast conrete panels together in a sandwich wall panel.
    'Panel suspender' A straight fixing device holding two precast conrete panels together in a sandwich wall panel.
    Electrical accessories for precast concrete elements: 'Protective plug' Protective plug used in element for protecting electrical accessories during manufacturing, transportation and assembly.
    Fixing parts: 'Standard fixing plate' Standard fixing plate.
    'Edge fixing plate' Fixing plate attached to the edge of an element.
    'Corner fixing plate' Fixing plate attached to the corner of an element.
    'Slab fixing plate' Fixing plate for slabs.
    'Balcony hinge' Accessory supporting and fixing balconies.
    'Frame shoe' Fixing shoe for frames.
    'Thermo frame' Thermo frame.
    'Column shoe' Fixing shoe for columns.
    'Wall shoe' Fixing shoe for walls.
    'Fixing socket' Fixing socket.
    Joint accessories: 'Neoprene bearing plate' Rubber plate used as a bearing in, for example, joints between column corbels and beams.
    'Working joint reinforcement' Reinforcement accessory used in working joints.
    'Expansion joint reinforcement' Reinforcement accessory used in expansion joints.
    'Ribbed steel bar extension' Extension accessory made of a ribbed (reinforcement) bar used in joints.
    'Steel pin bolt' Pin bolt used to join together, for example, columns and beams.
    'Concrete dowel' Dowel pin used in joints.
    'Concrete groove' A groove made in a joint.
    'Steel plate' A steel plate used as an accessory in a joint.
    'Wire loop' A joint connector accessory made from a wire loop.
    'Steel loop' A joint connector accessory made from a steel bar loop.
    'Sealing strip' A strip sealing the joint.
    'Sealing compound' Sealing compound protecting and sealing the joint.
    Lifting accessories: 'Wire lifting hook' A lifting aid in the form of a wire loop.
    'Steel lifting hook' A lifting aid in the form of a steel bar loop.
    'Lifting socket' A lifting aid in the form of a socket.
    'Steel lifting anchor' A lifting aid in the form of a steel lifting anchor.
    'Lifting hole' A lifting aid in the form of a hole.
    Accessories mainly used in the building services domain: 'Antivibration' An isolating device to prevent other elements to be effected by vibrations.
    'Drop rod' A length of material providing a hanging support to a bracket. Note that a drop rod is considered to include nuts and washers required for securing.
    'Duct foot' A base support used to receive a vertical pipe (BS6100 330 3309 - duct foot).
    'Framing' A frame placed around a penetration to prevent scraping against the building surface or structure.
    'Grommet' An element placed within a penetration that seals the penetration for a particular reason.
    'Rack' A set of shelving for the purposes of storage that may be freestanding or bolted to a structure.
    'Safety part' A part, typically installed in vertical shafts at each level, to ensure safety from falling when entering the shaft.
    'Sleeve' A thin barrier placed between a penetration and a penetrating element.
    'Support section' A section of material that is used as an intermediate support upon which multiple brackets can be mounted.
    " 1170;IfcElementComponent;"

    An element component is a representation for minor items included in, added to or connecting to or between elements, which usually are not of interest from the overall building structure viewpoint. However, these small parts may have vital and load carrying functions within the construction. These items do not provide any actual space boundaries. Typical examples of IfcElementComponents include different kinds of fasteners and various accessories.

    HISTORY New entity in IFC Release 2x2

    It is often desirable to model a number of same-shaped element components by means of a single occurrence object, e.g. several bolts within a connection or a row of reinforcement elements. In this IFC release, this is possible by means of multiple mapped representation as documented below.

    To express the multiplicity of element components also on a higher semantic level, an IfcElementQuantity should be provided via IfcRelDefinesByProperties. The quantity should contain an IfcQuantityCount named 'Count' with the number of components.

    Geometry Use Definition

    The geometric representation of IfcElementComponent is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement
    The local placement for IfcElementComponent is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcElement or IfcElementAssembly, which is used in the Decomposes inverse attribute, i.e. the local placement is defined relative to the local placement of the element or element assembly in which the component is contained.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Surface Model Representation

    Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SurfaceModel'

    Brep Representation

    Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Brep'

    Mapped Representation

    The mapped item, IfcMappedItem, should be used if appropriate as it allows for reusing the geometry definition of a type at occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'MappedRepresentation'

    Multiple Mapped Representation

    A single instance of a subtype of IfcElementComponent can stand for several actual element components at once. In this case, the IfcShapeRepresentation contains as many mapped items as there are element components combined within this occurrence object:

    Figure 151 illustrates multiple components modeled as a single occurrence object (here: IfcFastener)

    Figure 151 — Element component mapped representation

    Representation identifier and type are the same as in single mapped representation. The number of mapped items in the representation corresponds with the count of element components in the IfcElementQuantity.

    " 1175;IfcElementComponentType;"

    Definition from IAI: The element type (IfcElementComponentType) represents the supertype for element types which define lists of commonly shared property set definitions of various small parts and accessories and an optional set of product representations. It is used to define a supporting element mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type).

    HISTORY New entity in IFC Release 2x2
    " 1180;IfcBuildingElementPartType;"

    Definition from IAI: The building element part type defines lists of commonly shared property set definitions and representation maps of parts of a building element.

    HISTORY New entity in IFC Release 2x4
    " 1188;IfcDiscreteAccessoryType;"

    Definition from IAI: The element type (IfcDiscreteAccessoryType) defines a list of commonly shared property set definitions of a discrete accessory and an optional set of product representations. It is used to define a supporting element mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type).

    The occurrences of the IfcDiscreteAccessoryType are represented by instances of IfcDiscreteAccessory.

    The IfcDiscreteAccessoryType is a specialization of the general building element component type to represent different type of structural and building service related auxiliary elements.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Attribute PredefinedType added.

    General usage

    The exact type information of the IfcDiscreteAccessoryType is given in the ElementType attribute inherited from IfcElementType. Standard type designations are provided for guideline below. The list is not exhaustive and the list of definitions may be extended based on local national extensions.

    Accessory type Standard type designation Description
    Shading devices: 'Shading device' Elements specifically designed to provide shading, often fixed externally and sometimes moving (e.g. by rotation)
    Corbels as separate components: 'Hidden steel corbel' Corbel system made from steel components embedded into the master element
    'Visible steel corbel' Corbel system made from steel components protruding from the master element
    'Visible concrete corbel' Corbel system made as a separate precast concrete component added to the master element
    Connecting accessories, for example for sandwich wall panels: 'Diagonal truss connector' A fixing device in truss form with diagonal cross bars holding two precast conrete panels together in a sandwich wall panel.
    'Ladder truss connector' A fixing device in truss form with straight cross bars in ladder form holding two precast conrete panels together in a sandwich wall panel.
    'Panel suspender' A straight fixing device holding two precast conrete panels together in a sandwich wall panel.
    Electrical accessories for precast concrete elements: 'Protective plug' Protective plug used in element for protecting electrical accessories during manufacturing, transportation and assembly.
    Fixing parts: 'Standard fixing plate' Standard fixing plate.
    'Edge fixing plate' Fixing plate attached to the edge of an element.
    'Corner fixing plate' Fixing plate attached to the corner of an element.
    'Slab fixing plate' Fixing plate for slabs.
    'Balcony hinge' Accessory supporting and fixing balconies.
    'Frame shoe' Fixing shoe for frames.
    'Thermo frame' Thermo frame.
    'Column shoe' Fixing shoe for columns.
    'Wall shoe' Fixing shoe for walls.
    'Fixing socket' Fixing socket.
    Joint accessories: 'Neoprene bearing plate' Rubber plate used as a bearing in, for example, joints between column corbels and beams.
    'Working joint reinforcement' Reinforcement accessory used in working joints.
    'Expansion joint reinforcement' Reinforcement accessory used in expansion joints.
    'Ribbed steel bar extension' Extension accessory made of a ribbed (reinforcement) bar used in joints.
    'Steel pin bolt' Pin bolt used to join together, for example, columns and beams.
    'Concrete dowel' Dowel pin used in joints.
    'Concrete groove' A groove made in a joint.
    'Steel plate' A steel plate used as an accessory in a joint.
    'Wire loop' A joint connector accessory made from a wire loop.
    'Steel loop' A joint connector accessory made from a steel bar loop.
    'Sealing strip' A strip sealing the joint.
    'Sealing compound' Sealing compound protecting and sealing the joint.
    Lifting accessories: 'Wire lifting hook' A lifting aid in the form of a wire loop.
    'Steel lifting hook' A lifting aid in the form of a steel bar loop.
    'Lifting socket' A lifting aid in the form of a socket.
    'Steel lifting anchor' A lifting aid in the form of a steel lifting anchor.
    'Lifting hole' A lifting aid in the form of a hole.
    Accessories mainly used in the building services domain: 'Antivibration' An isolating device to prevent other elements to be effected by vibrations.
    'Drop rod' A length of material providing a hanging support to a bracket. Note that a drop rod is considered to include nuts and washers required for securing.
    'Duct foot' A base support used to receive a vertical pipe (BS6100 330 3309 - duct foot).
    'Framing' A frame placed around a penetration to prevent scraping against the building surface or structure.
    'Grommet' An element placed within a penetration that seals the penetration for a particular reason.
    'Rack' A set of shelving for the purposes of storage that may be freestanding or bolted to a structure.
    'Safety part' A part, typically installed in vertical shafts at each level, to ensure safety from falling when entering the shaft.
    'Sleeve' A thin barrier placed between a penetration and a penetrating element.
    'Support section' A section of material that is used as an intermediate support upon which multiple brackets can be mounted.
    " 1197;IfcFastenerType;"

    Definition from IAI: The element type (IfcFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type).

    The occurrences of the IfcFastenerType are represented by instances of IfcFastener.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Attribute PredefinedType added. Subtype IfcMechanicalFastenerType redefined as direct subtype of IfcElementComponentType.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    " 1206;IfcMechanicalFastenerType;"

    Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type).

    The occurrences of the IfcMechanicalFastenerType are represented by instances of IfcMechanicalFastener.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Supertype changed from IfcFastenerType to IfcElementComponentType. Attributes PredefinedType, NominalDiameter, NominalLength added.

    Mechanical fasteners, especially bolts, are often standardized. To refer to a formal fastener designation according to a standard (a product norm), IfcRelAssociatesClassification together with IfcClassificationReference should be used.

    • IfcClassificationReference.ItemReference contains a machine-readable form of the formal fastener designation from the norm. Example: 'M16X80-10.9-HV' for a high-strength structural bolting assembly for preloading with hexagon bolt and nut. (On the other hand, IfcMechanicalFastenerType.Name contains a displayable name which may not necessarily be the same as the formal designation.)
    • IfcClassificationReference.Name carries the short name of the fastener norm. Example: 'EN 14399-4' as the respective European standard for high-strength hexagon bolts.
    • Optionally, the norm can be further described by IfcClassificationReference.ReferencedSource, including information like publisher and date of issue of the norm.

    Furthermore, IfcRelAssociatesLibrary together with IfcLibraryReference may be used to refer to a library which contains fastener definitions.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    " 1224;IfcFastener;"

    Definition from IAI: Representations of fixing parts which are used as fasteners to connect or join elements with other elements.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Attribute PredefinedType added.
    " 1228;IfcBuildingElementPart;"

    Definition from IAI: Layers or major components as subordinate parts of a building element. Typical usage examples include precast concrete sandwich walls, where the layers may have different geometry representations. In this case the layered material representation does not sufficiently describe the element. Each layer is represented by an own instance of the IfcBuildingElementPart with its own geometry description.

    The kind of building element part is further specified by a corresponding instance of IfcBuildingElementPartType, referred to by IfcRelDefinesByType.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Moved from from IfcStructuralElementsDomain schema to IfcSharedComponentElements schema, compatible change of supertype, attribute PredefinedType added.
    " 1232;IfcMechanicalFastener;"

    Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails.

    HISTORY New entity in IFC Release 2x2
    IFC 2x4 change: Supertype changed from IfcFastener to IfcElementComponent. Attribute PredefinedType added. Attributes NominalDiameter and NominalLength moved to IfcMechanicalFastenerType.

    Geometry Use Definition

    See definitions at the supertype IfcElementComponent.

    In addition, a symbolic representation is defined for a row of fasteners or several rows of fasteners within a single instance of IfcMechanicalFastener. Such rows or arrays may contain possibly large numbers of individual pieces. The product definition shape consists of an IfcShapeRepresentation with the attribute values

    • RepresentationIdentifier : 'Row'
    • RepresentationType : 'GeometricCurveSet'

    and one or several curves as geometric items. The curves represent where the heads of the fasteners are located. The local placement of the IfcMechanicalFastener shall be located and oriented such that the local z axis is parallel with the axes of the fasteners (bolts, nails, staples or similar).

    In case of such a symbolic 'Row' representation, an IfcElementQuantity should be attached to the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength named 'Spacing' which expresses the center-to-center distances of fasteners.

    " 1237;IfcRelCoversSpaces;"

    Definition from IAI: The objectified relationship, IfcRelCoversSpace, relates˙a space object to one or many coverings, which faces (or is assigned to) the space.

    NOTE Particularly floorings, ceilings and wall coverings, such as claddings or tiling are often considered as space coverings, rather then wall or slab coverings. In some life cycle phases, such as the operation phase, the relationship is always made to the space.

    The IFC specification provides two relationships:

    • IfcRelCoversBldgElements to assign coverings to elements, and
    • IfcRelCoversSpaces to assign coverings to spaces

    Which relationship should be applied has to be determined by the context of the project or application .

    NOTE View definition may determine the necessity to use either of the two relationship elements

    HISTORY˙ New Entity in Release IFC 2x Edition 3.
    " 1240;IfcRelConnectsPathElements;"

    The IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information.

    The objectified relationship provides the additional information required to describe the connection between two path based elements that might have single or multiple layers of material. The connection type specifies where at the path based element a connection is given (at the start, in the middle or at the end).

    The connection is described by a connection geometry, given within the object coordinate systems of the RelatingElement and of the RelatedElement. In case of IfcWallStandardCase as the RelatingElement and RelatedElement the connection geometry is provided by the subtype IfcConnectionCurveGeometry. Both curves indicate the so called ""end cap"", i.e. the curve that trims the wall outer edges (being parallel along the wall axis) at the end.

    HISTORY New entity in IFC Release 1.5.

    Figure 115 shows the application of IfcRelConnectsPathElements with the ConnectionGeometry of type IfcConnectionCurveGeometry. The example shows the connection relationship between two instances of IfcWallStandardCase using the IfcRelConnectsPathElements relationship. The ConnectionCurveGeometry defines the CurveOnReleatingElement and CurveOnRelatedElement, both are of type IfcPolyline.

    Figure 115 — Path connection geometry

    Figure 116 illustrates using the IfcRelConnectsPathElements for a ""T"" type connection between two instances of IfcWallStandardCase.

    Figure 117 illustrates using the IfcRelConnectsPathElements for a ""L"" type connection between two instances of IfcWallStandardCase.

    NOTE  The two wall axes connect in each case.
    ˙

    Figure 116 — Path connection T-Type

    Figure 117 — Path connection L-Type

    " 1250;IfcBeam;"

    Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so.

    An IfcBeam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It represents such a member from an architectural point of view. It is not required to be load bearing.

    NOTE  The representation of a beam in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.
    NOTE  For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used.

    The IFC specification provides two entities for beam occurrences:

    • IfcBeamStandardCase used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned.
      NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation.
    • IfcBeam used for all other occurrences of beams, particularly for beams with changing profile sizes along the extrusion, or beams defined by non-linear extrusion, or beams having only 'Brep', or 'SurfaceModel' geometry.
    HISTORY New entity in IFC Release 1.0

    Type Use Definition

    IfcBeam defines the occuurence of any beam, common information about beam types (or styles) is handled by IfcBeamType. The IfcBeamType (if present) may establish the common type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBeamType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcBeamType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcBeam is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note It is illegal to assign an IfcMaterialProfileSetUsage to an IfcBeam. Only the subtype IfcBeamStandardCase supports this concept.

    Material information can also be given at the IfcBeamType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcBeam overrides the material assigned to IfcBeamType.

    Property Set Use Definition

    The property sets relating to the IfcBeam are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBeam are part of this IFC release:

    Property sets can also be given at the IfcBeamType, defining the common property data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasPropertySets. If both are given, then the properties directly assigned to IfcBeam overrides the properties assigned to IfcBeamType.

    Quantity Use Definition

    The quantities relating to the IfcBeam are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement. Quanties shall be never assigned to the IfcBeamType.

    Containment Use Definition

    The IfcBeam, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an element assembly.

    • The IfcBeam is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcBeam may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcBeam is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The local placement for IfcBeam is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
      • Exception: If the IfcBeam is part of an assembly, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the container element, e.g. IfcElementAssembly,
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Axis', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Axis Representation

    The axis geometric representation of IfcBeam is defined using the 'Axis' representation.

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D', 'Curve3D'
    The 'Axis' can be used to represent the system axis and length of a beam that may extent the body length.

    Body Representation

    The body representation of IfcBeam can be represented using the representation types 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'MappedRepresentation', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation type:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef)
    • Extrusion:  All extrusion directions shall be supported.

    Figure 71 illustrates the 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

    Figure 71 — Beam swept solid

    Figure 72 illustrates the use of non-perpendicular extrusion to create the IfcExtrudedAreaSolid.

    Figure 72 — Beam non-perpendicular extrusion

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the advanced representation:

    • Solid: see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion: see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

    Figure 73 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

    Figure 73 — Beam clipping

    AdvancedSweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreement can further constrain the allowed swept solid types.
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion: not applicable

    MappedRepresentation Representation Type

    The 'MappedRepresentation' representation is supported as it allows for reusing the geometry definition of the beam type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    " 1255;IfcBeamStandardCase;"

    The standard beam, IfcBeamStandardCase, defines a beam with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcBeamStandardCase handles all cases of beams, that:

    • have a reference to the IfcMaterialProfileSetUsage defining the material profile association of the beam with the cardinal point of its insertion relative to the local placement.
    • are consistent in using the correct cardinal point offset of the profile as compared to the 'Axis' and 'Body' shape representation
    • are based on a sweep of a planar profile, or set of profiles, as defined by the IfcMaterialProfileSet
    • have an 'Axis' shape representation with constraints provided below in the geometry use definition
    • have a 'Body' shape representation with constraints provided below in the geometry use definition
      • are extruded perpendicular to the profile definition plane
      • have a start profile, or set of profiles, that is swept
      • the sweeping operation can be linear extrusion, circular rotation, or a sweep along a directrix
      • the start profile, or set of profiles can be swept unchanged, or might be changed uniformly by a taper definition
    • NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcBeamStandardCase implementation.
    HISTORY New entity in IFC2x4.

    Type Use Definition

    IfcBeam defines the occurrence of any beam, common information about beam types (or styles) is handled by IfcBeamType. The IfcBeamType (if present) may establish the common type name, usage (or predefined) type, common set of properties, and common material profile set (combining profiles and material of profile). The IfcBeamType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    The IfcBeamStandardCase defines in addition that the IfcBeamType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage that is assigned to all occurrences of this beam type.

    Figure 74 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcBeamStandardCase as the beam occurrence and to the IfcBeamType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcBeamType and the IfcBeamStandardCase.

    Figure 74 — Beam profile usage

    Figure 75 illustrates alignment of cardinal points.

    NOTE  It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position
    NOTE  The cardinal points 8 (top centre) and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference

    Figure 75 — Beam cardinal points

    Figure 76 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet.

    Figure 76 — Beam composite profiles

    Material Use Definition

    The material of the IfcBeamStandardCase is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile beams can be represented by refering to several IfcMaterialProfile's within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage. See Type Use Definition for additional agreements for material assignement to IfcBeamStandardCase and IfcBeamType.

    Property Set Use Definition:

    The property sets relating to the IfcBeamStandardCase are defined at the supertype IfcBeam.

    Quantity Use Definition

    The quantities relating to the IfcBeamStandardCase are defined at the supertype IfcBeam.

    Containment Use Definition

    The containment use definitions relating to the IfcBeamStandardCase are defined at the supertype IfcBeam.

    Geometry Use Definitions:

    The geometric representation of IfcBeamStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The general use of local placement is defined at the supertype IfcBeam. The following restriction is imposed:

    • The local placement shall provide the location and directions for the standard beam, the x/y plane is the plane for the start profile, and the z-axis is the extrusion axis for the beam body (in case of rotation, the tangent direction).

    Geometric Representations

    The geometric representation of IfcBeamStandardCase is defined using the following multiple shape representations for its definition:

    • Axis: A three dimensional open curve (subtype of IfcBoundedCurve) defining the axis for the standard beam. The cardinal point is determined by the beam axis.
    • Body: A Swept Solid Representation or a CSG clipping representation defining the 3D shape of the standard beam.
    NOTE It is invalid to exchange a 'SurfaceModel', 'Brep', or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcBeamStandardCase.

    Axis Representation

    The axis geometric representation of IfcBeamStandardCase is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve3D'

    The following additional constraints apply to the 'Axis' representation, if the 'Body' shape representation has the RepresentationType : 'SweptSolid':

    • Axis :
      • IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of Type IfcLine for 'SweptSolid' provided as IfcExtrudedAreaSolid. The axis curve lies on the z axis of the object coordinate system.
      • IfcTrimmedCurve with BasisCurve of Type IfcCircle for 'SweptSolid' provided as IfcRevolvedAreaSolid. The axis curve lies on the x/z plane of the object coordinate system, the tangent at the start is along the positive z-axis.

    As shown in Figure 77, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a beam that may extent the body length of the beam.

    Figure 77 — Beam axis representation

    As shown in Figure 78, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the beam. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis' and the z axis. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

    Figure 78 — Beam axis cardinal point

    Body Representation

    The body representation of IfcBeamStandardCase can be represented using the representation types 'SweptSolid', 'Clipping', or 'AdvancedSweptSolid'.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Solid Position : The IfcSweptAreaSolid.Position shall exclusively been used to correspond to the cardinal point. The x/y offset of the Position represents the cardinal point offset of the profile against the axis. No rotation shall be allowed.
    • Profile: All subtypes of IfcParameterizedProfileDef
    • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
    • Extrusion: Perpendicular to the profile direction. The IfcExtrudedAreaSolid.ExtrudedDirection shall be [0.,0.,1.].
    • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point upwards. It indicates the ""role"" of the beam, a role=0° means y-axis of profile pointing upwards.

    Figure 79 illustrates a standard geometric representation with cardinal point applied as 1 (bottom left).

    The following interpretation of dimension parameter applies for rectangular beams with linear extrusions:

    • IfcRectangleProfileDef.YDim interpreted as beam height
    • IfcRectangleProfileDef.XDim interpreted as beam width

    The following interpretation of dimension parameter applies for circular beams:

    • IfcCircleProfileDef.Radius interpreted as beam radius.

    Figure 79 — Beam body extrusion

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the 'Clipping' representation:

    • Solid : see 'SweptSolid' geometric representation
    • Solid Position : see 'SweptSolid' geometric representation
    • Profile : see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion : see 'SweptSolid' geometric representation
    • Orientation : see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

    Figure 80 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left)

    Figure 80 — Beam body clipping

    AdvancedSweptSolid Representation Type

    The 'AdvancedSweptSolid' representation type is a valid body representation of IfcBeamStandardCase. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreement can further constrain the allowed swept solid types.
    • Solid Position : see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion: not applicable
    " 1266;IfcColumn;"

    Definition from ISO 6707-1:1989: Structural member of slender form, usually vertical, that transmits to its base the forces, primarily in compression, that are applied to it.

    IfcColumn is a vertical structural member which often is aligned with a structural grid intersection. It represents a vertical, or nearly vertical, structural member that transmits, through compression, the weight of the structure above to other structural elements below. It represents such a member from an architectural point of view. It is not required to be load bearing.

    NOTE The representation of a column in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.

    NOTE ˙For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember exists.

    The IFC specification provides two entities for column occurrences:

    • IfcColumnStandardCase used for all occurrences of columns, tthat have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned.
      NOTE˙ View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcColumnStandardCase implementation.
    • IfcColumn used for all other occurrences of columns, particularly for columns with changing profile sizes along the extrusion, or columns defined by non-linear extrusion, or columns having only 'Brep', or 'SurfaceModel' geometry.
    HISTORY New entity in IFC Release 1.0

    Type Use Definition

    IfcColumn defines the occuurence of any column, common information about column types (or styles) is handled by IfcColumnType. The IfcColumnType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcColumnType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcColumnType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcColumn is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterialProfileSetUsage to an IfcColumn. Only the subtype IfcColumnStandardCase supports this concept.

    Material information can also be given at the IfcColumnType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcColumnType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcColumn overrides the material assigned to IfcColumnType.

    Property Set Use Definition:

    The property sets relating to the IfcColumn are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcColumn are part of this IFC release:

    Property sets can also be given at the IfcColumnType, defining the common property data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcColumnType.HasPropertySets. If both are given, then the properties directly assigned to IfcColumn overrides the properties assigned to IfcColumnType.

    Quantity Use Definition:

    The quantities relating to the IfcColumn are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quanties shall be never assigned to the IfcColumnType.

    Containment Use Definition

    The IfcColumn, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcColumn, is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcColumn, may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcColumn is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The local placement for IfcColumn is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Axis', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Axis Representation

    The axis geometric representation of IfcColumn is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D', 'Curve3D'

    The axis representation can be used to represent the system length of a column that may extent the body length of the column.

    Body Representation

    The body representation of IfcColumn can be represented using the representation types 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'MappedRepresentation', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef
    • Extrusion:˙All extrusion directions shall be supported

    Figure 81 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

    Figure 81 — Column swept solid

    Figure 82 illustrates use of a special profile type (here IfcIShapeProfileDef) for the definition of the IfcExtrudedAreaSolid.

    Figure 82 — Column extrusion of I-Shape

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the advanced representation:

    • Solid: see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion: see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

    Figure 83 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

    Figure 83 — Column clipping

    AdvancedSweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreements can further constrain the allowed swept solid types.
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion:˙not applicable

    MappedRepresentation Representation Type

    The 'MappedRepresentation' representation type is supported as it allows for reusing the geometry definition of the beam type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the˙ 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'SurfaceModel' and 'Bre' geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    " 1271;IfcColumnStandardCase;"

    The standard column, IfcColumnStandardCase, defines a column with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcColumnStandardCase handles all cases of columns, that:

    • have a reference to the IfcMaterialProfileSetUsage defining the material profile association of the column with the cardinal point of its insertion relative to the local placement.
    • are based on a sweep of a planar profile, or set of profiles, as defined by the IfcMaterialProfileSet
    • have an 'Axis' shape representation with constraints provided below in the geometry use definition
    • have a 'Body' shape representation with constraints provided below in the geometry use definition
    • have a start profile, or set of profiles, that is swept along the directrix and might be changed uniformly by a taper definition
    • are consistent in using the correct cardinal point offset of the profile as compared to the 'Axis' and 'Body' shape representation
    • are extruded perpendicular to the profile definition plane
    • NOTE˙ View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcBeamStandardCase implementation.
    HISTORY New entity in IFC2x4.

    Type Use Definition

    IfcColumn defines the occuurence of any column, common information about column types (or styles) is handled by IfcColumnType. The IfcColumnType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcColumnType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    The IfcColumnStandardCase defines in addition that the IfcColumnType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage assigned to all occurrences of this column type.

    Figure 84 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcColumnStandardCase as the column occurrence and to the IfcColumnType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcColumnType and the IfcColumnStandardCase.

    Figure 84 — Column profile usage

    Figure 85 illustrates cardinal point alignment.

    NOTE˙ It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position
    NOTE˙ The cardinal points 7 (top left), and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference

    Figure 85 — Column cardinal points

    Figure 86 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation.

    Figure 86 — Column composite profiles

    Material Use Definition

    The material of the IfcColumnStandardCase is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile columns can be represented by refering to several IfcMaterialProfile's within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage.

    Material information can also be given at the IfcColumnType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcColumnType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard columns.

    Property Set Use Definition:

    The property sets relating to the IfcColumnStandardCase are defined at the supertype IfcColumn.

    Quantity Use Definition

    The quantities relating to the IfcColumnStandardCase are defined at the supertype IfcColumn.

    Containment Use Definition

    The containment use definitions relating to the IfcColumnStandardCase are defined at the supertype IfcColumn.

    Geometry Use Definitions:

    The geometric representation of IfcColumn is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcColumn.

    Geometric Representations

    The geometric representation of IfcColumnStandardCase is defined using the following multiple shape representations for its definition:

    • Axis: A three-dimensional open curve (subtype of IfcBoundedCurve) defining the axis for the standard column. The cardinal point is determined by the column axis.
    • Body: A Swept Solid Representation or a CSG representation defining the 3D shape of the standard column.
    NOTE It is invalid to exchange a 'SurfaceModel', 'Brep', or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcColumnStandardCase.

    Axis Representation

    The axis geometric representation of IfcColumnStandardCase is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve3D'

    The following additional constraints apply to the 'Axis' representation, if the 'Body' shape representation has the RepresentationType : 'SweptSolid':

    • Axis : IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of Type IfcLine.
    • The axis curve lies on the z axis of the object coordinate system

    As shown in Figure 87, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a column that may extent the body length of the column.

    Figure 87 — Column axis representation

    As shown in Figure 88, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the column. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

    Figure 88 — Column axis cardinal point

    Body Representation

    The body representation of IfcColumnStandardCase can be represented using the representation types 'SweptSolid', 'Clipping', or 'AdvancedSweptSolid'.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef)
    • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
    • Extrusion:˙perpendicular to the profile direction. The IfcExtrudedAreaSolid.ExtrudedDirection shall be [0.,0.,1.].
    • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point to the Y-Axis. It indicates the ""role"" of the column, a role=0° means y-axis of profile = Y-axis of reference coordinate system.

    Figure 89 illustrates a standard geometric representation with cardinal point applied as 5 (mid-depth centre).

    The following interpretation of dimension parameter applies for rectangular columns:

    • IfcRectangleProfileDef.YDim interpreted as column width
    • IfcRectangleProfileDef.XDim interpreted as column depth

    The following interpretation of dimension parameter applies for circular columns:

    • IfcCircleProfileDef.Radius interpreted as column radius.

    Figure 89 — Column body extrusion

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the advanced representation:

    • Solid: see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion:˙see 'SweptSolid' geometric representation
    • Orientation: see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

    Figure 90 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 2 (bottom centre).

    Figure 90 — Column body clipping

    AdvancedSweptSolid Representation Type

    The 'AdvancedSweptSolid' representation type is a valid body representation of IfcColumnStandardCase. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreement can further constrain the allowed swept solid types.
    • Profile: see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion:˙not applicable
    " 1277;IfcMember;"

    An IfcMember is a structural member designed to carry loads between or beyond points of support. It is not required to be load bearing. The orientation of the member (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to IfcBeam and IfcColumn). An IfcMember represents a linear structural element from an architectural or structural modeling point of view and shall be used if it cannot be expressed more specifically as either an IfcBeam or an IfcColumn.

    NOTE The representation of a member in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.

    The IFC specification provides two entities for member occurrences:

    • IfcMemberStandardCase used for all occurrences of members, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned.
      NOTE˙ View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcMemberStandardCase implementation.
    • IfcMember used for all other occurrences of members, particularly for members with changing profile sizes along the extrusion, or members defined by non-linear extrusion, or members having only 'Brep', or 'SurfaceModel' geometry.
    HISTORY New entity in IFC Release 2x2 Addendum.

    Type Use Definition

    IfcMember defines the occuurence of any member, common information about member types (or styles) is handled by IfcMemberType. The IfcMemberType (if present) may establish the common˙type name, usage (or predefined) type, common material profile set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcMemberType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcMemberType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcMember is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Material information can also be given at the˙IfcMemberType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse <<i>IsTypedBy relationship pointing to IfcMemberType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcMember overrides the material assigned to˙IfcMemberType.

    Property Set Use Definition

    The property sets relating to the IfcMember are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcMember are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcMember and IfcMemberStandardCase are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quanties shall be never assigned to the IfcMemberType.

    Containment Use Definition

    The IfcMember, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcMember is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcMember may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcMember is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The local placement for IfcMember is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Axis', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Axis Representation

    The axis geometric representation of IfcMember is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D', 'Curve3D'

    The axis representation can be used to represent the system length of a member that may extent the body length of the member.

    Body Representation

    The body representation of IfcBeam can be represented using the representation types 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'MappedRepresentation', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef
    • Extrusion: All extrusion directions shall be supported.

    Figure 99 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

    Figure 99 — Member swept solid

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the advanced representation:

    • Solid: see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion:˙see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

    Figure 100 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

    Figure 100 — Member clipping

    AdvancedSweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreements can further constrain the allowed swept solid types.
    • Profile: see 'SweptSolid' geometric representation
    • Extrusion:˙not applicable

    MappedRepresentation Representation Type

    The 'MappedRepresentation' representation type is supported as it allows for reusing the geometry definition of the beam type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the˙ 'SweptSolid', 'Clipping', 'AdvancedSweptSolid', 'SurfaceModel' and 'Bre' geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    " 1282;IfcMemberStandardCase;"

    The standard member, IfcMemberStandardCase, defines a member with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcMemberStandardCase handles all cases of members, that:

    • have a reference to the IfcMaterialProfileSetUsage defining the material profile association of the member with the cardinal point of its insertion relative to the local placement.
    • are based on a sweep of a planar profile, or set of profiles, as defined by the IfcMaterialProfileSet
    • have an 'Axis' shape representation with constraints provided below in the geometry use definition
    • have a 'Body' shape representation with constraints provided below in the geometry use definition
    • have a start profile, or set of profiles, that is swept along the directrix and might be changed uniformly by a taper definition
    • are consistent in using the correct cardinal point offset of the profile as compared to the 'Axis' and 'Body' shape representation
    • are extruded perpendicular to the profile definition plane
    • NOTE˙ View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcMemberStandardCase implementation.
    HISTORY New entity in IFC2x4.

    Type Use Definition

    IfcMember defines the occuurence of any member, common information about member types (or styles) is handled by IfcMemberType. The IfcMemberType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcMemberType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    The IfcMemberStandardCase defines in addition that the IfcMemberType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage assigned to all occurrences of this beam type.

    Figure 101 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcMemberStandardCase as the member occurrence and to the IfcMemberType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcMemberType and the IfcMemberStandardCase.

    Figure 101 — Member profile usage

    Figure 102 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation.

    Figure 102 — Member composite profiles

    Material Use Definition

    The material of the IfcMemberStandardCase is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile members can be represented by refering to several IfcMaterialProfile's within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage.

    Material information can also be given at the IfcMemberType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcMemberType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard members.

    Property Set Use Definition:

    The property sets relating to the IfcMemberStandardCase are defined at the supertype IfcMember.

    Quantity Use Definition

    The quantities relating to the IfcMemberStandardCase are defined at the supertype IfcMember.

    Containment Use Definition

    The containment use definitions relating to the IfcMemberStandardCase are defined at the supertype IfcMember.

    Geometry Use Definitions:

    The geometric representation of IfcMemberStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcMember.

    Geometric Representations

    The geometric representation of IfcMemberStandardCase is defined using the following multiple shape representations for its definition:

    • Axis: A two- or three dimensional open curve (IfcBoundedCurve) defining the axis for the standard member. The cardinal point is determined by the member axis.
    • Body: A Swept Solid Representation or a CSG representation defining the 3D shape of the standard member.
    NOTE It is invalid to exchange a 'SurfaceModel', 'Brep', or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcMemberStandardCase.

    Axis Representation

    The axis geometric representation of IfcMemberStandardCase is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D', or 'Curve3D'

    The following additional constraints apply to the 'Axis' representation:

    • Axis : IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of Type IfcLine.

    As shown in Figure 103, the axis representation can be used to represent the system length of a member that may extent the body length of the member.

    Figure 103 — Member axis representation

    As shown in Figure 104, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the member. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

    Figure 104 — Member axis cardinal point

    Body Representation

    The body representation of IfcMemberStandardCase can be represented using the representation types 'SweptSolid', 'Clipping', or 'AdvancedSweptSolid'.

    SweptSolid Representation Type

    The standard geometric representation of IfcMemberStandardCase is defined using the 'SweptSolid' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
    • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef)
    • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
    • Extrusion:˙perpendicular to the profile direction.
    • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point to the Z-Axis. It indicates the ""role"" of the column, a role=0° means y-axis of profile = Z-axis of reference coordinate system. In the exception of a vertical member, the y-axis shall point to the Y-axis.

    Figure 105 illustrates a 'SweptSolid' geometric representation with cardinal point applied as 1 (bottom left).

    The following interpretation of dimension parameter applies for rectangular members:

    • IfcRectangleProfileDef.YDim interpreted as member width
    • IfcRectangleProfileDef.XDim interpreted as member depth

    The following interpretation of dimension parameter applies for circular members:

    • IfcCircleProfileDef.Radius interpreted as beam radius.

    Figure 105 — Member body extrusion

    Clipping Representation Type

    The advanced geometric representation of IfcMemberStandardCase is defined using the 'Clipping' geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the advanced representation:

    • Solid: see 'SweptSolid' geometric representation
    • Profile: see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion:˙see 'SweptSolid' geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

    Figure 106 illustrates an advanced geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left).

    Figure 06 — Member body clipping

    AdvancedSweptSolid Representation Type

    The 'AdvancedSweptSolid' representation type is a valid body representation of IfcMemberStandardCase. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'AdvancedSweptSolid'

    The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

    • Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported.
      NOTE View definitions and implementer agreement can further constrain the allowed swept solid types.
      NOTE Using IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered requires the use of two IfcMaterialProfile's within the IfcMaterialProfileSet assinged to the IfcBeamStandardCase
    • Profile: see 'SweptSolid' geometric representation
    • Profile Position : see 'SweptSolid' geometric representation
    • Extrusion:˙not applicable
    " 1299;IfcWall;"

    Definition from ISO 6707-1:1989: Vertical construction usually in masonry or in concrete which bounds or subdivides a construction works and fulfils a load bearing or retaining function.

    Definition from IAI: The wall represents a vertical construction that bounds or subdivides spaces. Wall are usually vertical, or nearly vertical, planar elements, often designed to bear structural loads. A wall is however˙not required to be load bearing.

    NOTE NOTE There is a representation of walls for structural analysis provided by a proper subtype of IfcStructuralMember being part of the IfcStructuralAnalysisModel.

    NOTE An arbitrary planar element to which this semantic information is not applicable, e.g. is not predominantly vertical, shall be modeled as IfcPlate

    A wall may have openings, such as wall openings, openings used for windows or doors, or niches and recesses. They are defined by an IfcOpeningElement attached to the wall using the inverse relationship HasOpenings pointing to IfcRelVoidsElement.

    The IFC specification provides two entities for wall occurrences:

    • IfcWallStandardCase ˙used for all occurrences of walls, that have a non-changing thickness along the wall path and where the thickness parameter can be fully described by a material layer set. These walls are always represented geometrically by an 'Axis' and a 'SweptSolid' shape representation (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned.
    • IfcWallElementedCase used for occurrences of walls which are aggregated from subordinate elements, following specific decomposition rules expressed by the mandatory use of IfcRelAggregates relationship.
    • IfcWall ˙used for all other occurrences of wall, particularly for walls with changing thickness along the wall path (e.g. polygonal walls), or walls with a non-rectangular cross sections (e.g. L-shaped retaining walls), and walls having an extrusion axis that is unequal to the global Z axis of the project (i.e. non-vertical walls), or walls having only 'Brep', or 'SurfaceModel' geometry.
    HISTORY New entity in IFC Release 1.0

    Type Use Definition

    IfcWall defines the occurrence of any wall, common information about˙wall types (or styles) is handled by IfcWallType. The IfcWallType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcWallType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcWallType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcWall is defined by IfcMaterialLayerSet and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer walls can be represented by referring to several IfcMaterialLayer's within the IfcMaterialLayerSet

    Note: It is illegal to assign an IfcMaterialLayerSetUsage to an IfcWall. Only the subtype IfcWallStandardCase supports this concept.

    Material information can also be given at the IfcWallType, defining the common attribute data for all occurrences of the same type.˙It is then in addition accessible by the inverse IsTypedBy relationship pointing to IfcWallType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

    Property Set Use Definition

    The property sets relating to the IfcWall are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcWall are part of this IFC release:

    Property sets can also be given at the IfcWallType, defining the common property data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcWallType.HasPropertySets. If both are given, then the properties directly assigned to IfcWall overrides the properties assigned to IfcWallType.

    Quantity Use Definition

    The quantities relating to the IfcWall and IfcWallStandardCase are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcWallType.

    Containment Use Definition

    The IfcWall (and the subtype IfcWallStandardCase) as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierarchical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcWall is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The˙IfcWall may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype.
      In this case the wall should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.

    The˙IfcWall˙may also be an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of a wall are described by instances of IfcBuildingElementPart that are aggregated to form a complex wall.
    In this case, the contained˙IfcBuildingElementPart's should not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of IfcBuildingElementPart should be NIL.

    Geometry Use Definition

    The geometric representation of IfcWall is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The local placement for IfcWall is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Axis', 'Surface', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Axis Representation

    The axis geometric representation of IfcWall is defined using the 'Axis' representation.

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'
    NOTE The 'Axis' is not used to locate the material layer set, only the subtype IfcWallStandardCase provides this capability.

    Surface Representation

    The surfacic geometric representation of IfcWall is defined using the 'Surface' representation.

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'Surface3D'
    NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).

    Body Representation

    The body representation of IfcWall can be represented using the representation types 'SweptSolid', 'Clipping', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    If the wall body can be described by a vertical extrusion of a polygonal footprint with constant thickness along the axis (where vertical = into the direction of the global Z axis), the subtype IfcWallStandardCase should be used. If the extrusion is not equal to global Z, then the IfcWall should be used.
    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef is required.
    • Extrusion:˙All extrusion directions shall be supported.

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The same additional constraints apply as defined for the 'SweptSolid' representation.

    Connection Geometry

    The connection between two walls is represented by the IfcRelConnectsPathElements. The use of the parameter of that relationship object is defined at the level of the subtypes of IfcWall and at the IfcRelConnectsPathElements.

    " 1305;IfcWallStandardCase;"

    The IfcWallStandardCase defines a wall with certain constraints for the provision of parameters and with certain constraints for the geometric representation. The IfcWallStandardCase handles all cases of walls, that are extruded vertically:

    • along the positive z axis of the wall object coordinate system, and
    • along the positve z axis of the global (world) coordinate system

    and have a single thickness along the path for each wall layer, i.e.:

    • parallel sides for straight walls
    • co-centric sides for curved walls.

    and have either:

    • a straight line axis (straight wall), or
    • a circular arc axis (round wall).

    and shall not have

    • aggregated components, that is, parts aggregated to a wall by IfcRelAggregates
    • shape representation for 'Body' not being an extrusion, or clipped extrusion

    The following parameter have to be provided:

    • Wall height, taken from the depth of extrusion, provided by the geometric representation.
    • Wall thickness, taken from the material layer set usage, attached to the wall
    • Wall offset from axis, taken from the material layer set usage, attached to the wall

    The IfcWallStandardCase requires the provision of the wall axis either a straight line that is parallel to the x-axis of the object coordinate system, or a circular arc where the tangent at start is parallel to the x-axis of the object coordinate system. The direction of the wall axis shall be the positive direction of that x-axis.

    The material of the wall is defined by the IfcMaterialLayerSetUsage and is attached by the IfcRelAssociatesMaterial objectified relationship. It is accessible by the inverse HasAssociations relationship. The material layer set usage has to be given (enforced by where rule).

    HISTORY New entity in IFC Release 2x.

    Type Use Definition

    The type information relating to the IfcWallStandardCase is defined at the supertype IfcWall. As an additional use agreement for standard walls, the IfcWallType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this IfcWallType.

    Figure 134 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the wall type and the wall occurrence.

    Figure 134

    Material Use Definition

    The material of the IfcWallStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer walls can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

    Material information can also be given at the IfcWallType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard slabs.

    Figure 134 illustrates material layer usage, where the following conventions shall be met:

    • The reference coordinate system is the local coordinate system established by the ObjectPlacement of the IfcWallStandardCase.
    • The reference axis is the axis defined by the IfcShapeRepresentation with RepresentationType='Axis' as one of the Representation.Representations of the IfcWallStandardCase.
    • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this axis.
    • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference axis and always within the base (XY) plane of the reference coordinate system. A positve value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive y-axis of the reference coordinate system.
    • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference axis. POSITIVE means in direction to the positive y-axis of the reference coordinate system.
    • The Thickness of each IfcMaterialLayer is provided starting from the OffsetFromReferenceLine and in the direction given by DirectionSense. It is applied without any gap or overlap between two consecutive layers. The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses.
    • The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS2.

    Figure 134 — Wall material layers

    Property Set Use Definition:

    The property sets relating to the IfcWallStandardCase are defined at the supertype IfcWall.

    Quantity Use Definition:

    The quantities relating to the IfcWallStandardCase are defined at the supertype IfcWall.

    Geometry Use Definitions:

    The geometric representation of IfcWallStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The use of local placement defining the wall object coordinate system is defined at the supertype IfcWall.

    Geometric Representation

    The standard geometric representation of IfcWallStandardCase is defined using the following multiple shape representations for its definition:

    • Axis: A two-dimensional open curve (IfcBoundedCurve) defining the axis for the standard wall. The material layer offset is measured from the wall axis.
    • Body: A Swept Solid Representation or a CSG representation defining the 3D shape of the standard wall
    NOTE  It is invalid to exhange a 'SurfaceModel', or 'Brep' or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcWallStandardCase.

    Axis Representation

    The wall axis is represented by a two-dimensional open curve within a particular shape representation. The wall axis is used to apply the material layer set usage parameter to the wall geometry. The following attribute values shall be used

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    Figure 135 illustrates an axis representation for a straight wall. In case of a straight wall, the set of items shall include a single geometric representation item of type IfcPolyline or IfcTrimmedCurve with the BasisCurve being an IfcLine. The IfcPolyline or IfcTrimmedCurve shall be parallel (here in a special case co-linear) to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.

    Figure 136 illustrates an axis representation for a curved wall. In case of a curved wall, the set of items shall include a single geometric representation item of type IfcTrimmedCurve. The curve shall have a BasisCurve of type IfcCircle. The tangent of the IfcTrimmedCurve shall be parallel at start to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.

    Figure 135 — Wall axis straight

    Figure 136 — Wall axis curved

    Body Representation

    The body representation of IfcWallStandardCase is defined by using 'SweptSolid' representation for walls without clippings or 'Clipping' representation for walls with clippings (e.g. under sloped roof slabs).

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef and IfcRectangleProfileDef shall be supported.
    • Extrusion: The profile shall be extruded vertically, i.e., in the direction of the z-axis of the co-ordinate system of the referred spatial structure element. It might be further constraint to be in the direction of the global z-axis in implementers agreements. The extrusion axis shall be perpendicular to the swept profile, i.e. pointing into the direction of the z-axis of the Position of the IfcExtrudedAreaSolid.

    The profile of a wall is described in the ground view and extruded vertically. The profile (also identical with the foot print of the wall) is defined by the IfcArbitraryClosedProfileDef (excluding its subtypes). The profile is given with all wall connections already resolved.

    Figure 137 illustrates a body representation for a straight wall. In case of a straight wall, the two sides of the profile shall be parallel to the wall axis, that is, the wall has a single unchanged thickness.

    Figure 138 illustrates a body representation for a curved wall. In case of a curved wall, the two sides of the profile shall be parallel (with defined offset) to the wall axis, that is, the wall has a single unchanged thickness.

    Figure 137 — Wall body extrusion straight

    Figure 138 — Wall body extrusion curved

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the 'Clipping' representation:

    • Solid: see standard geometric representation
    • Profile: see standard geometric representation
    • Extrusion: see standard geometric representation
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or subtypes).

    Figure 139 illustrates a clipping for a straight wall using an IfcPolygonalBoundedHalfSpace as SecondOperand in the IfcBooleanClippingResult.

    Figure 140 illustrates a clipping for a curved wall using an IfcHalfSpaceSolid as SecondOperand in the IfcBooleanClippingResult.

    Figure 139 — Wall body clipping straight

    Figure 140 — Wall body clipping curved

    " 1307;IfcWallElementedCase;"

    The IfcWallElementedCase defines a wall with certain constraints for the provision of its components. The IfcWallElementedCase handles all cases of walls, that are decomposed into parts:˙

    • having components being assigned to the IfcWallElementedCase using the IfcRelAggregates relationship accessible by the inverse relationship IsDecomposedBy.
    • applying the constraint that the parts within the decomposition shall be of type IfcMember, IfcPlate, IfcBuildingElementPart or IfcBuildingElementProxy.
    HISTORY New entity in IFC2x4.

    Property Set Use Definition:

    The property sets relating to the IfcWallElementedCase are defined at the supertype IfcWall.

    NOTE The parts within the decomposition relationship may define their own property sets.

    Quantity Use Definition:

    The quantities relating to the IfcWallElementedCase are defined at the supertype IfcWall.

    NOTE The parts within the decomposition relationship may define their own individual quantities.

    Voiding Use Definition:

    As shown in Figure 132, openings within the composite wall are directly assigned to IfcWallElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature.

    Figure 132 — Wall elemented voiding

    Decomposition Use Definition:

    The following guidance is provided for the components of the IfcWallElementedCase. The following component entity types should be used:

    • Framed Walls
      • studs : IfcMember
      • plates : IfcMember
      • drywall : IfcPlate
      • wood sheathing : IfcPlate
      • insulation : IfcBuildingElementPart
      • precast panel : IfcBuildingElementPart
      • others : IfcBuildingElementPart

    Geometry Use Definitions:

    The geometric representation of IfcWallElementedCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcWall. The local placement of the IfcWallElementedCase defines the parent coordinate systems for the parts within the decomposition. All parts shall be positioned relative to the IfcWallElementedCase.

    Geometric Representation

    The standard geometric representation of IfcWallElementedCase is defined using the following multiple shape representations for its definition:

    • Axis: A two-dimensional open curve being a subtype of IfcBoundedCurve defining the axis for the elemented wall. It maybe used as a simplified representation directly at the elemented wall.
    • Surface: A three-dimensional surface being a subtype of IfcBoundedSurface defining the reference surface for the elemented wall. It maybe used as a simplified representation directly at the elemented wall.
    NOTE˙ It is invalid to exhange a 'Body' shape representation of an IfcWallElementedCase. The body geometry is defined by the parts within the decomposition.

    Axis Representation

    The wall axis is represented by a two-dimensional open curve within a particular shape representation.

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    Surface Representation

    The surfacic geometric representation of IfcWallElementedCase is defined using the 'Surface' representation.

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'Surface3D'
    NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation). It could suppress the geometric details of the parts in the decomposition.
    " 1318;IfcSlab;"

    A slab is a component of the construction that normally encloses a space vertically. The slab may provide the lower support (floor) or upper construction (roof slab) in any space in a building. It shall be noted, that only the core or constructional part of this construction is considered to be a slap. The upper finish (flooring, roofing) and the lower finish (ceiling, suspended ceiling) are considered to be coverings. A special type of slab is the landing, described as a floor section to which one or more stair flights or ramp flights connect.

    NOTE There is a representation of slabs for structural analysis provided by a proper subtype of IfcStructuralMember being part of the IfcStructuralAnalysisModel.

    NOTE ˙An arbitrary planar element to which this semantic information is not applicable or irrelevant shall be modeled as IfcPlate.

    A slab may have openings, such as floor openings, or recesses. They are defined by an IfcOpeningElement attached to the slab using the inverse relationship HasOpenings pointing to IfcRelVoidsElement.

    The IFC specification provides three entities for slab occurrences:

    • IfcSlabStandardCase used for all occurrences of slabs, that are prismatic and where the thickness parameter can be fully described by the IfcMaterialLayerSetUsage. These slabs are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialLayerSetUsage assigned.
    • IfcSlabElementedCase used for occurrences of slabs which are aggregated from subordinate elements, following specific decomposition rules expressed by the mandatory use of IfcRelAggregates relationship.
    • IfcSlab used for all other occurrences of slabs, particularly for slabs with changing thickness, or slabs with non planar surfaces, and slabs having only 'SweptSolid' or 'Brep' geometry.
    HISTORY New entity in IFC Release 2.0, it is a merger of the two previous entities IfcFloor, IfcRoofSlab, introduced in IFC Release 1.0

    Type Use Definition

    The IfcSlab defines the occurrence of any slab, common information about slab types (or styles) is handled by IfcSlabType. The IfcSlabType (if present) may establish the common˙type name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcSlabType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcSlabType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. Values of the enumeration are .FLOOR. (the default), .ROOF., .LANDING., .BASESLAB. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcSlab is defined by IfcMaterialLayerSet, or IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer slabs can be represented by referring to several IfcMaterialLayer's within the IfcMaterialLayerSet.

    NOTE It is illegal to assign an IfcMaterialLayerSetUsage to an IfcSlab. Only the subtype IfcSlabStandardCase supports this concept.
    NOTE Prismatic slabs, where the main face of the slab is extruded along the slab thickness, are exchanged as IfcSlabStandardCase, The material for IfcSlabStandardCase shall be defined by˙IfcMaterialLayerSetUsage. Multi-layer slabs can be represented by referring to several IfcMaterialLayer's within the IfcMaterialLayerSet.˙

    Material information can also be given at the IfcSlabType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

    Property Set Use Definition:

    The property sets relating to the IfcSlab are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcSlab are part of this IFC release:

    Property sets can also be given at the IfcSlabType, defining the common property data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcSlabType.HasPropertySets. If both are given, then the properties directly assigned to IfcSlab overrides the properties assigned to IfcSlabType.

    Quantity Use Definition

    The quantities relating to the IfcSlab and IfcSlabStandardCase are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcSlabType.

    Containment Use Definition

    The IfcSlab, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierarchical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The˙IfcSlab is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The˙IfcSlab may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype.
      In this case it should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.

    The IfcSlab˙may also be an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of a slab are described by instances of subtypes of IfcBuildingElement, with IfcBuildingElementPart as a special focus subtype that are aggregated to form a complex slab. In this case, the contained elements should not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of IfcBuildingElementPart (or other subtypes of IfcBuildingElement) should be NIL.

    Geometry Use Definition

    The geometric representation of IfcSlab is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    NOTE. If the IfcSlab is of type Landing and is used within an IfcStair or IfcRamp, the special agreements to handle stair and ramp geometry will also affect the geometric representation of the IfcSlab.

    Local Placement

    The local placement for IfcSlab is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the placement of the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the IfcSlab is of type Landing and is used by an IfcStair or IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the aggregate.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Surface', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Surface Representation

    The surfacic geometric representation of IfcSlab is defined using the 'Surface' representation.

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'Surface3D'
    NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).

    Body Representation

    The body representation of IfcSlab can be represented using the representation types 'SweptSolid', 'Clipping', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    If a corresponding material definition using IfcMaterialLayerSetUsage can be assigned, the subtype IfcSlabStandardCase shall be used.
    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the swept solid representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
    • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.

    Figure 120 illustrates a 'SweptSolid' geometric representation.

    NOTE The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view):
    • IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab.

    Figure 120 — Slab body extrusion

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the 'Clipping' representation:

    • Solid: see 'SweptSolid' shape representation,
    • Profile:˙see 'SweptSolid' shape representation,
    • Extrusion:˙see 'SweptSolid' shape representation,
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

    Figure 121 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

    Figure 121 — Slab body clipping

    " 1324;IfcSlabStandardCase;"

    The standard slab, IfcSlabStandardCase, defines a slab with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcSlabStandardCase handles all cases of slabs, that:

    • have a reference to the IfcMaterialLayerSetUsage defining the material layers of the slab with thicknesses
    • are based on an extrusion of a planar surface as defined by the slab profile
    • have a constant thickness along the extrusion direction
    • are consistent in using the correct material layer set offset to the base planar surface in regard to the shape representation
    • are extruded either perpendicular or slanted to the plane surface

    The definitions of slab openings and niches are the same as given at the supertype IfcSlab. The same agreements to the special types of slabs, as defined in the PredefinedType attribute apply as well.

    HISTORY New entity in IFC2x Edition 4.

    Type Use Definition

    The IfcSlabStandardCase defines the occuurence of any slab, common information about slab types (or styles) is handled by IfcSlabType. The IfcSlabType (if present) may establish the common type name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcSlabType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    The IfcSlabStandardCase defines in addition that the IfcSlabType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this slab type.

    Figure 123 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcSlabStandardCase as the slab occurrence and to the IfcSlabType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcSlabType and the IfcSlabStandardCase.

    Figure 123 — Slab type definition

    Material Use Definition

    The material of the IfcSlabStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer slabs can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

    Material information can also be given at the IfcSlabType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard slabs.

    Figure 123 illustrates slab material usage, where the following conventions shall be met:

    • The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position.
    • The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane.
    • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system.
    • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system.
    • The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth
    • The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS3.

    Figure 124 — Slab material layers

    Property Set Use Definition:

    The property sets relating to the IfcSlabStandardCase are defined at the supertype IfcSlab.

    Quantity Use Definition

    The quantities relating to the IfcSlabStandardCase are defined at the supertype IfcSlab.

    Containment Use Definition

    The containment use definitions relating to the IfcSlabStandardCase are defined at the supertype IfcSlab.

    Geometry Use Definitions

    The geometric representation of IfcSlabStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    NOTE If the IfcSlabStandardCase is of type Landing and is used within an IfcStair or IfcRamp, the special agreements to handle stair and ramp geometry will also affect the geometric representation of the IfcSlabStandardCase.

    Local Placement

    The use of local placement is defined at the supertype IfcSlab.

    Geometric Representations

    Currently, the use of 'SweptSolid' and 'Clipping' representations is supported. In addition the general representation type 'BoundingBox' is allowed. The geometry use definitions for 'BoundingBox', is explained at IfcBuildingElement.

    SweptSolid Representation

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used for the 'SweptSolid' representation:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the swept solid representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
    • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.
    • Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the 'SweptSolid' representation.

    Figure 125 illustrates a 'SweptSolid' geometric representation.

    NOTE The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view):
    • IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab.

    Figure 125 — Slab body extrusion

    Clipping representation

    The 'Clipping' geometric representation of IfcSlabStandardCase is defined using the swept area geometry with additional clippings applied. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the 'Clipping' representation:

    • Solid: see 'SweptSolid' shape representation,
    • Profile: see 'SweptSolid' shape representation,
    • Extrusion: see 'SweptSolid' shape representation,
    • Material: see 'SweptSolid' shape representation,
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

    Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

    Figure 126 — Slab body clipping

    " 1326;IfcSlabElementedCase;"

    The IfcSlabElementedCase defines a slab with certain constraints for the provision of its components. The IfcSlabElementedCase handles all cases of slabs, that are decomposed into parts:˙

    • having components being assigned to the IfcSlabElementedCase using the IfcRelAggregates relationship accessible by the inverse relationship IsDecomposedBy.
    • applying the constraint that the parts within the decomposition shall be of type IfcBeam, IfcMember, IfcPlate, IfcBuildingElementPart or IfcBuildingElementProxy.
    HISTORY New entity in IFC2x4.

    Property Set Use Definition:

    The property sets relating to the IfcSlabElementedCase are defined at the supertype IfcSlab.

    NOTE The parts within the decomposition relationship may define their own property sets.

    Quantity Use Definition:

    The quantities relating to the IfcSlabElementedCase are defined at the supertype IfcSlab.

    NOTE The parts within the decomposition relationship may define their own individual quantities.

    Voiding Use Definition:

    As shown in Figure 122, openings within the composite slab are directly assigned to IfcSlabElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature.

    Figure 122 — Slab elemented voiding

    Decomposition Use Definition:

    The following guidance is provided for the components of the IfcSlabElementedCase. The following component entity types should be used:

    • Precast hollow core slabs
      • double tee or plank components : IfcBeam
      • topping : IfcBuildingElementPart
      • others : IfcBuildingElementPart

    Geometry Use Definitions:

    The geometric representation of IfcSlabElementedCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcSlab. The local placement of the IfcSlabElementedCase defines the parent coordinate systems for the parts within the decomposition. All parts shall be positioned relative to the IfcSlabElementedCase.

    Geometric Representation

    The standard geometric representation of IfcSlabElementedCase is defined using the following multiple shape representations for its definition:

    • Surface: A three-dimensional surface being a subtype of IfcBoundedSurface defining the reference surface for the elemented slab. It maybe used as a simplified representation directly at the elemented slab.
    NOTE˙ It is invalid to exhange a 'Body' shape representation of an IfcSlabElementedCase. The body geometry is defined by the parts within the decomposition.

    Surface Representation

    The surfacic geometric representation of IfcSlabElementedCase is defined using the 'Surface' representation.

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'Surface3D'
    NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation). It should suppress the geometric details of the parts in the decomposition.
    " 1335;IfcRamp;"

    Definition from ISO 6707-1:1989: Inclined way or floor joining two surfaces at different levels.

    A ramp is a vertical passageway which provides a human circulation link between one floor level and another floor level at a different elevation. It may include a landing as an intermediate floor slab. A ramp normally does not include steps (stepped ramps are out of scope for this IFC Release).

    The ramp is a container entity that aggregates all components of the ramp, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRamp with the related flights (IfcRampFlight) and landings (IfcSlab with type 'Landing'). Railings belonging to the ramp may be included into the aggregation as IfcRailing.

    HISTORY New Entity in IFC Release 2.0.
    IFC2x4 CHANGE Attribute ShapeType renamed to PredefinedType

    Type Use Definition

    IfcRamp defines the occuurence of any ramp, common information about ramp types (or styles) is handled by IfcRampType. The IfcRampType (if present) may establish the common˙type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcRampType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    NOTE Since the IfcRamp might be represented as an aggregate of parts, e.g. represented by IfcRampFlight, or IfcSlab, these individual parts may have type information attached (represented e.g. by IfcRampFlightType, or IfcSlabType).

    Material Use Definition

    The material of the IfcRamp is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Material information can also be given at the IfcRampType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse IsDefinedBy relationship pointing to IfcRampType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcRamp overrides the material assigned to IfcRampType.

    Property Set Use Definition:

    The property sets relating to the IfcRamp are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRamp are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcRamp are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcRampType.

    The individual quantities shall only be given at IfcRamp, it is not decomposed into the individual parts, IfcRampFlight and IfcSlab.

    Geometry Use Definitions:

    The geometric representation of IfcRamp is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Independent geometric representations should only be used when the IfcRamp is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representation of the components within the aggregate.

    Local placement

    The local placement for IfcRamp is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    If the LocalPlacement is given for the IfcRamp, then all components, which are aggregated to the ramp should use this placement as their relative placement.

    Geometric representations

    Geometric representation by own shape representation

    If the IfcRamp has no components defined (empty set of SELF\IfcProduct.IsDecomposedBy) then the IfcRamp may be represented by an own IfcShapeRepresentation with the following values:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'Clipping', 'SurfaceModel', or 'Brep'

    The conventions to use these representations are provided at IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcRamp.

    Geometric representation by aggregated elements

    If the IfcRamp has components (referenced by SELF\IfcProduct.IsDecomposedBy) then no independent geometric representation shall be defined for the IfcRamp. The IfcRamp is then geometrically represented by the geometric representation of its components. The components are accessed via SELF\IfcProduct.IsDecomposedBy[1].RelatedObjects.

    Figure 111 illustrates IfcRamp defining the local placement for all components.

    Figure 111 — Ramp placement

    " 1349;IfcStair;"

    Definition from ISO 6707-1:1989: Construction comprising a succession of horizontal stages (steps or landings) that make it possible to pass on foot to other levels.

    A stair is a vertical passageway allowing occupants to walk (step) from one floor level to another floor level at a different elevation. It may include a landing as an intermediate floor slab. The stair should either be represented:

    • as a stair assembly entity that aggregates all components (stair flight, landing, etc. with own representations), or
    • as a single stair entity without decomposition including all representation directly at the stair entity.

    In case of a stair container, the aggregation is handled via the IfcRelAggregates relationship, relating an IfcStair with the related IfcStairFlight's and landings (represented by IfcSlab with IfcSlab.PredefinedType = 'LANDING'). IfcRailing's belonging to the stair may be included into the aggregation as well.

    HISTORY New Entity in IFC Release 2.0.
    IFC2x4 CHANGE Attribute ShapeType renamed to PredefinedType.

    Type Use Definition

    IfcStair defines the occurrence of any stair, common information about stair types (or styles) is handled by IfcStairType. The IfcStairType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcStairType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    NOTE Since the IfcStair might be represented as an aggregate of parts, e.g. represented by IfcStairFlight, or IfcSlab, these individual parts may have type information attached (represented e.g. by IfcStairFlightType, or IfcSlabType).

    Material Use Definition

    The material of the IfcStair is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Material information can also be given at the IfcStairType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcStair.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcStair overrides the material assigned to IfcStairType.

    Property Set Use Definition:

    The property sets relating to the IfcStair are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcStair are part of this IFC release:

    Figure 127 shows the use of property sets Pset_StairCommon and Pset_StairFlightCommon for the various stair properties.

    Figure 127 — Stair properties

    Geometry Use Definitions:

    The geometric representation of IfcStair is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Independent geometric representations should only be used when the IfcStair is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representation of the components within the aggregate.

    Local placement

    The local placement for IfcStair is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    If the LocalPlacement is given for the IfcStair, then all components, which are aggregated to the stair should use this placement as their relative placement.

    Geometric Representation

    Currently, the 'Axis', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    • Axis: A two-dimensional open curve IfcBoundedCurve defining the walking line for the stair.
    • FootPrint: A geometric curve set defining the footing print, including the boundary of the stair.
    • Body: A solid representation defining the 3D shape of the stair.

    Axis Representation

    The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    NOTE  The 'Axis' representation of IfcStair may be provided even if the IfcStair has components with own shape representations.

    FootPrint Representation

    The stair foot print, including the stair boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint'
    • RepresentationType : 'GeometricCurveSet'

    NOTE  The 'Footprint' representation of IfcStair may be provided even if the IfcStair has components with own shape representations.

    Body Representation

    The body representation of IfcStair can be represented using the representation types 'SweptSolid', 'SurfaceModel', 'Brep', and 'MappedRepresentation'. The general usage of representation is are explained at IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcStairFlight.

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'SurfaceModel', 'Brep', 'MappedRepresentation'

    The 'Body' representation shall only be provided if the IfcStair has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) or if the components defined no not carry an own 'Body' representation.

    Geometric representation by aggregated elements

    If the IfcStair has components (referenced by SELF\IfcObject.IsDecomposedBy) with own 'Body' representation, then no 'Body' representation shall defined for the IfcStair. The IfcStair shape is then represented by the geometric representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects.

    Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation.

    Figure 128 — Stair placement

    " 1371;IfcRoof;"

    Definition from ISO 6707-1:1989: Construction enclosing the building from above.

    The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof).

    HISTORY New Entity in IFC Release 2.0.
    IFC2x4 CHANGE Attribute ShapeType renamed to PredefinedType.

    Property Set Use Definition:

    The property sets relating to the IfcRoof are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRoof are part of this IFC release:

    The quantities relating to the IfcRoof are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcRoofType.

    The individual quantities shall only be given at IfcRoof, it is not decomposed into the individual parts, e.g. IfcSlab as roof slabs.

    Containment Use Definition

    The IfcRoof, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an element assembly.

    • The IfcRoof is placed within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcRoof may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcRoof, the overall roof, as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.
    NOTE˙ A roof contained in another roof could be the representation of a dormer.

    The IfcRoof may be an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of a roof are described by instances of subtypes of IfcBuildingElement (e.g. IfcSlab, IfcBeam, IfcColumn, IfcBuildingElementPart) that are aggregated to form a complex roof. In this case, the contained elements should not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of the aggregated elements should be NIL.

    Figure 118 illustrates roof containment, where only the IfcRoof as the aggregate is included in the spatial structure.

    Figure 118 — Roof containment

    Geometry Use Definitions:

    The geometric representation of IfcRoof is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Independent geometric representations should only be used when the IfcRoof is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representation of the components within the aggregate.

    NOTE˙ View definitions and implementer agreements may restrict the IfcRoof to not have an independent geometry, but to always require aggregated elements to represent the shape of the roof.
    NOTE If the IfcRoof has aggregated elements to represent the shape of the roof, then only those elements shall have openings, not the IfcRoof itself.

    Local Position

    The local placement for IfcRoof is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level..
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    If the LocalPlacement is given for the IfcRoof, then all components, which are aggregated to the roof should use this placement as their relative placement.

    Geometric Representation

    The IfcRoof may have an independent geometric representation or may be an aggregate with elements holding the geometric representation of the roof.

    Geometric representation by own shape representation

    If the IfcRoof has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) then the IfcRoof may be represented by an independent IfcShapeRepresentation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'Clipping', 'SurfaceModel', or 'Brep'

    Geometric representation by aggregated elements

    If the IfcRoof has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent geometric representation shall defined for the IfcRoof. The IfcRoof is then geometrically represented by the geometric representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects. The geometric representations that are supported for the aggregated elements are defined with each element. See geometric use definition for IfcSlab, IfcBeam, IfcColumn, IfcBuildingElementPart and other subtypes of IfcBuildingElement.

    Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements.

    Figure 119 — Roof placement

    " 1392;IfcStairFlight;"

    A stair flight is an assembly of building components in a single ""run"" of stair steps (not interrupted by a landing). The stair steps and any stringers are included in the stair flight. A winder is also regarded a part of a stair flight.

    An IfcStairFlight is normally aggregated by an IfcStair through the IfcRelAggregates relationship, the stair flight is then included in the set of IfcRelAggregates.RelatedObjects. An IfcStairFlight normally connects the floor slab of zero to two different storeys (or partial storeys, or landings) within a building. The connection relationship between the IfcStairFlight and the IfcSlab is expressed using the IfcRelConnectsElements relationship.

    HISTORY: New Entity in IFC Release 2.0.

    Type Use Definition

    IfcStairFlight defines the occurrence of any stair flight, common information about stair flight types (or styles) is handled by IfcStairFlightType. The IfcStairFlightType (if present) may establish the common˙type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcStairFlightType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    Material Use Definition

    The material of the IfcStairFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Property Set Use Definition:

    The property sets relating to the IfcStairFlight are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcStairFlight are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcStairFlight are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcStairFlightType.

    Containment Use Definition

    The IfcStairFlight, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first relationship is the hierachical spatial containment, the second relationship is the aggregation within an˙element assembly.

    • The IfcStairFlight is placed within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcStairFlight may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcStair as a special focus subtype. In this case it shall not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure shall be NIL.

    Geometry Use Definition

    The geometric representation of IfcStairFlight is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local placement

    The local placement for IfcStairFlight is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the IfcStairFlight, however, is used by an IfcStair, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the IfcStair.

    Geometric Representations

    Currently, the 'Axis', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    • Axis: A two-dimensional open curve IfcBoundedCurve defining the walking line for the stair flight.
    • FootPrint: A geometric curve set defining the footing print, including the boundary of the stair flight.
    • Body: A solid representation defining the 3D shape of the stair flight

    Axis Representation

    The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    Figure 129 illustrates the axis representation which has the following constraints:

    • In case of straight flights the curve shall be a single item of type IfcPolyline.
    • In case of winding flights the curve shall be a single item of type IfcCompositeCurve.
    • In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.

    Figure 129 — Stair flight axis

    FootPrint Representation

    The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint'
    • RepresentationType : 'GeometricCurveSet'

    Figure 130 illustrates the footprint representation which has the following constraints:

    • In case of straight flights the curve set shall consists of a single item of type IfcPolyline.
    • In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve.
    • In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.

    Figure 130 — Stair flight footprint

    Body Representation

    The body representation of IfcStairFlight can be represented using the representation types 'SweptSolid', 'SurfaceModel', 'Brep', and 'MappedRepresentation'. The general usage of representation is are explained at IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcStairFlight.

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'SurfaceModel', 'Brep', 'MappedRepresentation'

    Figure 131 illustrates the body representation.

    Figure 131 — Stair flight body

    " 1408;IfcRampFlight;"

    A ramp is an inclined slab segment, normally providing a human circulation link between two landings, floors or slabs at different elevations.

    An IfcRampFlight is normally aggregated by an IfcRamp through the IfcRelAggregates relationship, the ramp flight is then included in the set of IfcRelAggregates.RelatedObjects. An IfcRampFlight normally connects the floor slab of zero to two different storeys (or partial storeys or landings) within a building. The connection relationship between the IfcRampFlight and the IfcSlab is expressed using the IfcRelConnectsElements relationship.

    HISTORY New Entity in IFC Release 2.0.

    Type Use Definition

    IfcRampFlight defines the occurrence of any ramp flight, common information about ramp flight types (or styles) is handled by IfcRampFlightType. The IfcRampFlightType (if present) may establish the common type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcRampFlightType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    Material Use Definition

    The material of the IfcRampFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Property Set Use Definition:

    The property sets relating to the IfcRampFlight are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRampFlight are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcRampFlight are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcRampFlightType.

    Containment Use Definition

    The IfcRampFlight, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first relationship is the hierachical spatial containment, the second relationship is the aggregation within an element assembly.

    • The IfcRampFlight is placed within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcRampFlight may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcRamp as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcRampFlight is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local placement

    The local placement for IfcRampFlight is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the IfcRampFlight, however, is used by an IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the IfcRamp.

    Geometric Representations

    Currently, the 'Axis', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    • Axis: A two-dimensional open curve IfcBoundedCurve defining the walking line for the ramp flight.
    • FootPrint: A geometric curve set defining the footing print, including the boundary of the ramp flight.
    • Body: A solid representation defining the 3D shape of the ramp flight

    Axis Representation

    The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    Figure 112 illustrates the axis representation which has the following constraints:

    • In case of straight flights the curve shall be a single item of type IfcPolyline.
    • In case of winding flights the curve shall be a single item of type IfcCompositeCurve.
    • In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.

    Figure 112 — Ramp flight axis

    FootPrint Representation

    The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint'
    • RepresentationType : 'GeometricCurveSet'

    Figure 113 illustrates the footprint representation which has the following constraints:

    • In case of straight flights the curve set shall consist of a single item of type IfcPolyline.
    • In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve.
    • In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.

    Figure 113 — Ramp flight footprint

    Body Representation

    The body representation of IfcRampFlight can be represented using the representation types 'SweptSolid', 'SurfaceModel', 'Brep', and 'MappedRepresentation'. The general usage of representation is are explained at IfcBuildingElement. For further constraints on the 'SweptSolid' the representation types see below..

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'SurfaceModel', 'Brep', 'MappedRepresentation'

    SweptSolid Representation Type

    The 'SweptSolid' representation type is a valid body representation of IfcRampFlight is defined using the swept area geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation type:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcRectangleProfileDef and IfcArbitraryClosedProfileDef shall be supported.
    • Extrusion: The profile shall be extruded in any direction relative to the XY plane of the position coordinate system of the IfcExtrudedAreaSolid. Therefore non-perpendicular sweep operation has to be supported. It might be further constrained to be in the direction of the global z-axis in implementers agreements.

    Figure 114 illustrates the body representation.

    Figure 114 — Ramp flight body

    " 1417;IfcCurtainWall;"

    Definition from ISO 6707-1:1989: Non load bearing wall positioned on the outside of a building and enclosing it.

    A curtain wall is an exterior wall of a building which is an assembly of components, hung from the edge of the floor/roof structure rather than bearing on a floor. Curtain wall is represented as a building element assembly and implemented as a subtype of IfcBuildingElement that uses an IfcRelAggregates relationship.

    HISTORY New Entity in IFC Release 2.0

    Type Use Definition

    IfcCurtainWall defines the occuurence of any curtain wall, common information about curtain wall types (or styles) is handled by IfcCurtainWallType. The IfcCurtainWallType (if present) may establish the common˙type name, usage (or predefined) type, common material information, common set of properties and common shape representations (using IfcRepresentationMap). The IfcCurtainWallType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    If no IfcCurtainWallType is attached˙(i.e. if only occurrence information is given) the predefined type may be given by using the ObjectType attribute.

    NOTE Since the IfcCurtainWall might be represented as an aggregate of parts, e.g. represented by IfcMember, or IfcPlate, these individual parts may have type information attached (represented e.g. by IfcMemberType, or IfcPlateType).

    Property Set Use Definition:

    The property sets relating to the IfcCurtainWall are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcCurtainWall are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcCurtainWall are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcCurtainWallType.

    Geometry Use Definitions:

    The geometric representation of IfcCurtainWall is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Independent geometric representations, as described below, should only be used when the IfcCurtainWall is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representations of the components within the aggregate.

    Local placement

    The local placement for IfcCurtainWall is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    If the IfcCurtainWall establishes an aggregate, then all contained elements (defined by the IsDecomposedBy inverse attribute) shall be placed relative to the IfcCurtainWall.ObjectPlacement.

    Geometric Representation

    The geometric representation of IfcCurtainWall is defined using the following multiple shape representations for its definition:

    • Axis: A two-dimensional open curve (for restrictions see below) defining the axis for the curtain wall.
      • This is an optional representation for curtain walls.
    • Body: A surface model or boundary representation model representation defining the 3D shape of the curtain wall.
      • If the IfcCurtainWall has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent shape representation with RepresentationType = 'Body' shall be defined. The body of IfcCurtainWall is then geometrically represented by the shape representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects.
      • If the IfcCurtainWall has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) then the IfcCurtainWall may be represented by an shape representation with the RepresentationIdentifier = 'Body'.

    Axis Representation

    The axis geometric representation of IfcCurtainWall is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D'

    The following additional constraints apply to the 'Axis' representation:

    • Axis : IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of Type IfcLine or IfcCircle.

    Body Representation

    The body shape representation of IfcCurtainWall is defined using the 'Body' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SurfaceModel', 'Brep' and 'MappedRepresentation'

    An own 'Body' representation shall only be included if no components of the curtain wall are defined.

    " 1424;IfcRailing;"

    Definition of IAI: The railing is a frame assembly adjacent to human circulation spaces and at some space boundaries where it is used in lieu of walls or to compliment walls. Designed to aid humans, either as an optional physical support, or to prevent injury by falling.

    HISTORY New Entity in IFC Release 2.0

    Type Use Definition

    IfcRailing defines the occuurence of any railing, common information about railing types (or styles) is handled by IfcRailingType. The IfcRailingType (if present) may establish the common˙type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcRailingType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    Material Use Definition

    The material of the IfcRailing is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Material information can also be given at the IfcRailingType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse IsDefinedBy relationship pointing to IfcRailingType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcRailing overrides the material assigned to IfcRailingType.

    Property Set Use Definition

    The property sets relating to the IfcRailing are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRailing are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcRailing are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement.

    Containment Use Definition

    The IfcRailing, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcRailing is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcRailing may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcStair, or IfcRamp as a special focus subtypes. In this case it should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcRailing is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local placement

    The local placement for IfcRailing is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level
    • If the IfcRailing, however, is used by an IfcStair or IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of IfcStair or IfcRamp.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Axis', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Axis Representation

    The axis geometric representation of IfcRailing is defined using the 'Axis' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Axis'
    • RepresentationType : 'Curve2D', 'Curve3D'

    Body Representation

    Currently the use of 'SurfaceModel', 'Brep' and 'MappedRepresentation' representations of IfcRailing are supported. The conventions to use these representations are given at the level of the supertype, IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcRailing.

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SurfaceModel', 'Brep', 'MappedRepresentation'
    " 1434;IfcDoor;"

    Definition from ISO 6707-1:1989: Construction for closing an opening, intended primarily for access with hinged, pivoted or sliding operation.

    The door is a building element that is predominately used to provide controlled access for people and goods. It includes constructions with hinged, pivoted, sliding, and additionally revolving and folding operations. A door consists of a lining and one or several panels.

    The IfcDoor defines a particular occurrence of a door inserted in the spatial context of a project. A door can:

    • be inserted as a filler in an opening using the IfcRelFillsElement relationship, then the IfcDoor has an inverse attribute FillsVoids provided,
      • NOTE˙ View definitions or implementer agreements may restrict the relationship to only include one window (or door) into one opening.

    • be part of an element assembly, in general an IfcCurtainWall, using the IfcRelAggregates relationship, then the inverse attribute Decomposes is provided.
    • or be a ""free standing"" door, then the IfcDoor has no inverse attributes FillsVoids or Decomposes provided.

    The IFC specification provides two entities for door occurrences:

    • IfcDoorStandardCase used for all occurrences of doors, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an IfcDoorType that references one IfcDoorLiningProperties and on to many IfcDoorPanelProperties.
      • NOTE˙ see IfcDoorStandardCase for all specific constraints imposed by this subtype.
    • IfcDoor used for all other occurrences of doors, particularly for doors having only 'Brep', or 'SurfaceModel' geometry without applying shape parameters.

    The actual parameter of the door and/or its shape are defined by the IfcDoor as the occurrence definition (or project instance), or by the IfcDoorType as the specific definition (or project type). The following parameters are given:

    • at the IfcDoor or IfcDoorStandardCase for occurrence specific parameters. The IfcDoor specifies:
      • the door width and height
      • the door opening direction (by the y-axis of the ObjectPlacement)

    • at the IfcDoorType, to which the IfcDoor is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType, for type parameters common to all occurrences of the same type.
      • the operation type (single swing, double swing, revolving, etc.)
      • the door hinge side (by using two different styles for right and left opening doors)
      • the construction material type
      • the particular attributes for the lining by the IfcDoorLiningProperties
      • the particular attributes for the panels by the˙ IfcDoorPanelProperties
    HISTORY New entity in IFC Release 1.0.
    IFC2x4 CHANGE The attributes PredefinedType and OperationType are added, the applicable type object has been changed to IfcDoorType.

    Material Use Definition

    The material of the IfcDoor is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Lining' - to indicate that the material constituent applies to to the door lining
    • 'Framing' - to indicate that the material constituent applies to to the door panel(s), if not provided, the 'Lining' material information applied to panel(s) as well
    • 'Glazing' - to indicate that the material constituent applies to to the glazing part

    If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the door.

    Property Set Use Definition:

    The property sets relating to the IfcDoor are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcDoor are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcDoor are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement. Quanties shall be never assigned to the IfcDoorType.

    Containment Use Definition

    The IfcDoor, as any subtype of IfcBuildingElement, may participate in two different containment relationships as shown in Figure 96. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcDoor is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcDoor may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Doors may be part of an IfcCurtainWall as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.
    NOTE The containment shall be defined independently of the filling relationship, that is, even if the IfcDoor is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by an IfcRelContainedInSpatialStructure.

    Figure 96 — Door containment

    Geometry Use Definitions:

    The geometric representation of IfcDoor is given by the IfcProductDefinitionShape, allowing multiple geometric representations. The IfcDoor, in case of an occurrance object, gets its parameter and shape from the IfcDoorType. If an IfcRepresentationMap (a block definition) is defined for the IfcDoorType, then the IfcDoor inserts it through the IfcMappedItem.

    Local Placement

    The local placement for IfcDoor is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    1. The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same element (if given), in which the IfcDoor is used as a filling (normally an IfcOpeningElement), as provided by the IfcRelFillsElement relationship.
    2. If the IfcDoor is not inserted into an IfcOpeningElement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    3. If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    The˙geometric representation of IfcDoor is defined using the following (potentially˙multiple) IfcShapeRepresentation's for its IfcProductDefinitionShape:

    • Profile: A˙'Curve3D' consisting of a single losed curve defining the outer boundary of the door (lining). The door parametric representation uses this profile in order to apply the door lining and panel parameter. If not provided, the profile of the IfcOpeningElement is taken.
    • FootPrint: A 'GeometricCurveSet', or 'Annotation2D' representation defining the 2D shape of the door
    • Body: A 'SweptSolid', 'SurfaceModel', or 'Brep' representation defining the 3D shape of the door.

    In addition the parametric representation of a (limited) door shape is available by applying the parameters from IfcDoorType referencing IfcDoorLiningProperties and IfcDoorPanelProperties. The purpose of the parameter is described at those entities and below (door opening operation by door type).

    Profile -˙'Curve3D' representation

    The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Profile'
    • RepresentationType : 'Curve3D', only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

    A 'Profile' representation has to be provided if:

    • a parametric representation shall be applied to the door AND
      • the˙door is 'free standing', or
      • the opening into which the˙door is inserted is not extruded horizontally (i.e. where the opening profile does not match the˙door profile)

    FootPrint -˙'GeometricCurveSet' or 'Annotation2D' representation

    The door foot print is represented by a set of two-dimensional˙curves (or in case of 'Annotation2D' additional hatching and text) within a particular shape representation. The foot print is used for the planview representation of the door.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint'
    • RepresentationType : 'GeometricCurveSet', or 'Annotation2D'

    Body - 'SweptSolid', 'SurfaceModel', or 'Brep' representation

    The door body is either represented parameterically (see parametric representation) or by explicit 3D shape. The 3D shape is given by using extrusion geometry, or surface models, or Brep models within a particular shape representation. The body is used for the model view representation of the door.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'SurfaceModel', or 'Brep'

    MappedRepresentation

    The 'FootPrint' and 'Body' geometric representation of IfcDoor can be shared among several identical doors using the 'MappedRepresentation'. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint', 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the˙ 'FootPrint', 'Body' representation identifiers, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    Parameteric Representation using parameters at IfcDoorType

    The parameters that defines the shape of the IfcDoor, are given at the IfcDoorType and the property sets, which are included in the IfcDoorType. The IfcDoor only defines the local placement which determines the opening direction of the door. The overall size of the IfcDoor to be used to apply the lining or panel parameter provided by the IfcDoorType is determined by the IfcShapeRepresentation with the RepresentationIdentifier = 'Profile'. Only in case of an IfcDoor inserted into an IfcOpeningElement using the IfcRelFillsElement relatioship, having a horizontal extrusion (along the y-axis of the IfcDoor), the overall size is determined by the extrusion profile of the IfcOpeningElement.

    NOTE ˙The OverallWidth and OverallHeight parameters are for informational purpose only.

    The opening direction is determined by the local placement of IfcDoor and the OperationType of the door style as shown in Figure 97.

    NOTE ˙There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and need to be mapped appropriately.
    Opening directions Definitions Reference to other standards

    The door panel (for swinging doors) opens always into the direction of the positive Y axis of the local placement. The determination of whether the door opens to the left or to the right is done at the level of the IfcDoorType. Here it is a left side opening door given by˙IfcDoorType.OperationType = SingleSwingLeft refered to as LEFT HAND (LH) in US *

    refered to as DIN-R (right hung) in Germany

    If the door should open to the other side, then the local placement has to be changed. It is still a left side opening door, given by IfcDoorType.OperationType = SingleSwingLeft refered to as RIGHT HAND REVERSE (RHR) in US *

    refered to as DIN-R (right hung) in Germany
    If the door panel (for swinging doors) opens to the right, a separate door style needs to be used (here IfcDoorTypee.OperationType = SingleSwingRight) and it always opens into the direction of the positive Y axis of the local placement.˙ refered to as RIGHT HAND (RH) in US *

    refered to as DIN-L (left hung) in Germany

    If the door panel (for swinging doors) opens to the right, and into the opposite directions, the local placement of the door need to change. The door style is given by IfcDoorType.OperationType = SingleSwingRight. refered to as LEFT HAND REVERSE (LHR) in US *

    refered to as DIN-L (left hung) in Germany
    * it assumes that the 'inside/private/primary' space is above (top in the pictures) and the 'outside/public/secondary' space is below (bottom in the pictures).

    Figure 97 — Door swing

    " 1441;IfcDoorStandardCase;"

    The standard door, IfcDoorStandardCase, defines a door with certain constraints for the provision of operation types, opening directions, frame and lining parameters, and with certain constraints for the geometric representation. The IfcDoorStandardCase handles all cases of doors, that:

    • are inserted into an opening, represented by IfcOpeningElement, using the IfcRelFillsElement relationship
    • have a local placement relative to this opening, and with the y-axis of the placement pointing into the opening direction
    • have a profile geometry, represented by IfcShapeRepresentation.RepresentationIdentifier=""Profile"" as a closed curve to which the door parameter apply. The profile represents a rectangle within the xz plane of the local placement
    • have a reference to an IfcDoorType to define the opening direction and the operation type (swinging, sliding, folding, etc.) of the door. The attribute OperationType shall be provided and not being UNDEFINED, and the attribute ParameterTakesPrecedence shall be ""TRUE"".
    • have an IfcDoorLiningProperties and an IfcDoorPanelProperties instances included in the set of HasPropertySets at IfcDoorType
    HISTORY New entity in IFC2x4.

    Type Use Definition

    IfcDoorStandardCase defines the occuurence of any door, common information about door types (or styles) is handled by IfcDoorType. The IfcDoorType (that has to be present) establishes the common type name, usage (opening direction and operation), common set of properties, including shape parameters, like lining thickness panel width, etc. and maybe an additional common shape representations (using IfcRepresentationMap). The IfcDoorType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    Property Set Use Definition:

    The property sets relating to the IfcDoorStandardCase are defined at the supertype IfcDoor.

    Quantity Use Definition

    The quantities relating to the IfcDoorStandardCase are defined at the supertype IfcDoor.

    Containment Use Definition

    The containment use definitions relating to the IfcDoorStandardCase are defined at the supertype IfcDoor.

    Geometry Use Definitions:

    The geometric representation of IfcDoorStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcDoor.

    Geometric Representations

    The geometric representation of IfcDoorStandardCase is defined using the following multiple shape representations for its definition:

    • Profile: a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. The profile around the edges of the opening is used to apply the door lining and door panel shape parameter.
    • MappedRepresentation: A SweptSolid, SurfaceModel, or Brep Representation or a CSG additionally defining the 3D shape of the standard door in addition to the parametric representation by applying the IfcDoorLiningProperties and an the IfcDoorPanelProperties to the Profile representation.

    Profile representation

    The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Profile'
    • RepresentationType : 'Curve3D' or 'GeometricCurveSet', in case of 'GeometricCurveSet' only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

    The following additional constraints apply to the 'Profile' representation type:

    • Curve: being an IfcPolyline defining a rectangle.
    • Position: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the IfcCartesianPoint's shall be 0.).

    Figure 98 illustrates applying the door lining parameters to the door profile shape representation. The profile defines the outer boundary to which the door lining parameters relate as:

    • IfcDoorLiningProperties.LiningDepth starting at distance defined by LiningOffset going into the positive y direction.
    • IfcDoorLiningProperties.LiningThickness offset into the inner side of the rectangle.
    • IfcDoorLiningProperties.LiningOffset distance along the positive y direction to where the LiningDepth applies.
    • IfcDoorLiningProperties.ThresholdThickness starting at the bottom edge of the rectangle into the inner side of the rectangle
    • IfcDoorLiningProperties.ThresholdDepth starting at distance defined by LiningOffset going into the positive y direction.
    • IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom.

    Figure 98 — Door profile

    " 1469;IfcWindow;"

    Definition form ISO 6707-1:1989: Construction for closing a vertical or near vertical opening in a wall or pitched roof that will admit light and may admit fresh air.

    The window is a building element that is predominately used to provide natural light and fresh air. It includes vertical and horizontal opening (e.g. skylights or light domes). It includes constructions with swinging, pivoting, sliding, or revolving panels and fixed panels. A window consists of a lining and one or several panels.

    The IfcWindow defines a particular occurrence of a window inserted in the spatial context of a project. A window can:

    • be inserted into an IfcOpeningElement using the IfcRelFillsElement relationship, , then the IfcDoor has an inverse attribute FillsVoids provided,
      • NOTE˙ View definitions or implementer agreements may restrict the relationship to only include one window (or door) into one opening.

    • be part of an element assembly, often an IfcCurtainWall, using the IfcRelAggregates relationship, then the inverse attribute Decomposes is provided.
    • or be a ""free standing"" window, then the IfcWindow has no inverse attributes FillsVoids or Decomposes provided.

    The IFC specification provides two entities for window occurrences:

    • IfcWindowStandardCase used for all occurrences of windows, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an IfcWindowType that references one IfcWindowLiningProperties and on to many IfcWindowPanelProperties.
      • NOTE˙ see IfcWindowStandardCase for all specific constraints imposed by this subtype.
    • IfcWindow used for all other occurrences of windows, particularly for windows having only 'Brep', or 'SurfaceModel' geometry without applying shape parameters.

    The actual parameter of the window and/or its shape is defined at the IfcWindow as the occurrence definition (or project instance), or by the IfcWindowType as the specific definition (or project type). The following parameters are given:

    • at the IfcWindow or IfcWindowStandardCase for occurrence specific parameters. The IfcWindow specifies:
      • the window width and height
      • the window opening direction (by the y-axis of the ObjectPlacement)

    • at the IfcWindowType to which the IfcWindow is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType, for type parameters common to all occurrences of the same type.
      • the partitioning type (single panel, double panel, tripel panel, more panels)
      • the operation type (swing, tilt and turn, pivot revolve, fixed case ment, etc.)
      • the window panel hinge side (by using two different styles for right and left opening windows)
      • the construction material type
      • the particular attributes for the lining by the IfcWindowLiningProperties
      • the particular attributes for the panels by the˙ IfcWindowPanelProperties
    HISTORY New entity in IFC Release 1.0.
    IFC2x4 CHANGE The attributes PredefinedType and OperationType are added, the applicable type object has been changed to IfcDoorType.

    Material Use Definition

    The material of the IfcWindow is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Lining' - to indicate that the material constituent applies to to the window lining
    • 'Framing' - to indicate that the material constituent applies to to the window panel(s), if not provided, the 'Lining' material information applied to panel(s) as well
    • 'Glazing' - to indicate that the material constituent applies to to the glazing part

    If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the window.

    Property Set Use Definition:

    The property sets relating to the IfcWindow are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcWindow are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcWindow are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement. Quanties shall be never assigned to the IfcWindowStyle.

    Containment Use Definition

    The IfcWindow, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an˙element assembly.

    • The IfcWindow is placed within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcWindow may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Windows may be part of an IfcCurtainWall as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.˙SELF\IfcElement.ContainedInStructure should be NIL.

    Figure 141 illustrates window containment.

    NOTE The containment shall be defined independently of the filling relationship, that is, even if the IfcWindow is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by an IfcRelContainedInSpatialStructure.

    Figure 141 — Window containment

    Geometry Use Definitions:

    The geometric representation of IfcWindow is given by the IfcProductDefinitionShape, allowing multiple geometric representation. The IfcWindow, in case of an occurrence object, gets its parameter and shape from the IfcWindowType. If an IfcRepresentationMap (a block definition) is defined for the IfcWindowType, then the IfcWindow inserts it through the IfcMappedItem (refered to by IfcShapeRepresentation.Items).

    Local Placement

    The local placement for IfcWindow is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    1. The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same element (if given), in which the IfcWindow is used as a filling (normally an IfcOpeningElement), as provided by the IfcRelFillsElement relationship.
    2. If the IfcWindow is not inserted into an IfcOpeningElement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
    3. If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    The˙geometric representation of IfcWindow is defined using the following (potentially˙multiple) IfcShapeRepresentation's for its IfcProductDefinitionShape:

    • Profile: A˙'Curve3D' consisting of a single losed curve defining the outer boundary of the window (lining). The˙window parametric representation uses this profile in order to apply the˙window lining and panel parameter. If not provided, the profile of the IfcOpeningElement is taken.
    • FootPrint: A 'GeometricCurveSet', or 'Annotation2D' representation defining the 2D shape of the˙window
    • Body: A 'SweptSolid', 'SurfaceModel', or 'Brep' representation defining the 3D shape of the˙window.

    In addition the parametric representation of a (limited)˙window shape is available by applying the parameters from˙IfcWindowType referencing˙IfcWindowLiningProperties and˙IfcWindowPanelProperties. The purpose of the parameter is described at those entities and below (parametric representation).

    Profile -˙'Curve3D' representation

    The˙window profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric˙window representation.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Profile'
    • RepresentationType : 'Curve3D', only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

    A 'Profile' representation has to be provided if:

    • a parametric representation shall be applied to the window˙AND
      • the window is 'free standing', or
      • the opening into which the window is inserted is not extruded horizontally (i.e. where the opening profile does not match the window profile)

    FootPrint -˙'GeometricCurveSet' or 'Annotation2D' representation

    The˙window foot print is represented by a set of two-dimensional˙curves (or in case of 'Annotation2D' additional hatching and text) within a particular shape representation. The foot print is used for the plan view representation of the˙window.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint'
    • RepresentationType : 'GeometricCurveSet', or 'Annotation2D'

    Body - 'SweptSolid', 'SurfaceModel', or 'Brep' representation

    The˙window body is either represented parameterically (see parametric representation) or by explicit 3D shape. The 3D shape is given by using extrusion geometry, or surface models, or Brep models within a particular shape representation. The body is used for the model view representation of the˙window.˙The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid', 'SurfaceModel', or 'Brep'

    MappedRepresentation

    The 'FootPrint' and 'Body' geometric representation of˙IfcWindow can be shared among several identical˙windows using the 'MappedRepresentation'. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'FootPrint', 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the˙ 'FootPrint', 'Body' representation identifiers, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    Parameteric Representation using parameters at IfcWindowType

    The parameters, which define the shape of the IfcWindow, are given at the IfcWindowType and the property sets, which are included in the IfcWindowType. The IfcWindow only defines the local placement. The overall size of the IfcWindow to be used to apply the lining or panel parameter provided by the IfcWindowType is determined by the IfcShapeRepresentation with the RepresentationIdentifier = 'Profile'. Only in case of an IfcWindow inserted into an IfcOpeningElement using the IfcRelFillsElement relatioship, having a horizontal extrusion (along the y-axis of the IfcDoor), the overall size is determined by the extrusion profile of the IfcOpeningElement.

    Figure 142 illustrates the insertion of a window into the IfcOpeningElement by creating an instance of IfcWindow with PartitioningType = DoublePanelHorizontal. The parameters OverallHeight and OverallWidth show the extent of the window in the positive Z and X axis of the local placement of the window. The lining and the transom are created by the given parameters.

    Figure 142 — Window placement

    Figure 143 illustrates the final window (DoublePanelHorizontal) with first panel having PanelPosition = TOP, OperationType = BOTTOMHUNG and second panel having PanelPosition = BOTTOM and OperationType = TILTANDTURNLEFTHAND.

    Figure 143 — Window planes

    Window opening operation by window type

    The parameters that defines the shape of the IfcWindow, are given at the IfcWindowType and the property sets, which are included in the IfcWindowType. The IfcWindow only defines the local placement which determines the opening direction of the window. The overall layout of the IfcWindow is determined by its˙IfcWindowType.PartitioningType. Each window panel has its own operation type, provided by IfcWindowPanelProperties.OperationType. All window panels are assumed to open into the same direction (if relevant for the particular window panel operation. The hindge side (whether a window opens to the left or to the right) is determined by the IfcWindowPanelProperties.OperationType.

    NOTE ˙There are different conventions in different countries on how to show the symbolic presentation of the window panel operation (the ""triangles""). Either as seen from the exterior, or from the interior side. The following figures show the symbolics from the exterior side (the convention as used predominately in Europe).

    Figure 144 illustrates window operation types.


    The window panel (for side hung windows) opens always into the direction of the positive Y axis of the local placement. The determination of whether the window opens to the left or to the right is done at IfcWindowPanelProperties.OperationType. Here it is a left side opening window given by˙OperationType = SideHungLeftHand.


    If the window should open to the other side, then the local placement has to be changed. It is still a left hung window, given by IfcWindowPanelProperties.OperationType =˙SideHungLeftHand.

    If the window panel (for side hung windows) opens to the right, a separate window panel style needs to be used (here IfcWindowPanelProperties.OperationType =˙SideHungRightHand) and it always opens into the direction of the positive Y axis of the local placement.˙


    If the window should open to the other side, then the local placement has to be changed. It is still a right hung window, given by IfcWindowPanelProperties.OperationTypeSideHungRightHand.

    .

    Figure 144 — Window operations

    " 1476;IfcWindowStandardCase;"

    The standard window, IfcWindowStandardCase, defines a window with certain constraints for the provision of operation types, opening directions, frame and lining parameters, construction types and with certain constraints for the geometric representation. The IfcWindowStandardCase handles all cases of windows, that:

    • are inserted into an opening, represented by IfcOpeningElement, using the IfcRelFillsElement relationship
    • have a local placement relative to this opening, and with the y-axis of the placement pointing into the opening direction
    • have a profile geometry, represented by IfcShapeRepresentation.RepresentationIdentifier=""Profile"" as a closed curve to which the window parameter apply. The profile represents a rectangle within the xz plane of the local placement
    • have a reference to an IfcWindowType to define the opening direction and the operation type (swinging, sliding, folding, etc.) of the window. The attribute OperationType shall be provided and not being UNDEFINED, and the attribute ParameterTakesPrecedence shall be ""TRUE"".
    • have a single IfcWindowLiningProperties and a set of IfcWindowPanelProperties instances included in the set of HasPropertySets at IfcWindowType
    HISTORY New entity in IFC2x4.

    Type Use Definition

    IfcWindowStandardCase defines the occuurence of any window, common information about window types (or styles) is handled by IfcWindowType. The IfcWindowType (that has to be present) establishes the common type name, usage (opening direction, configuration and operation), common set of properties, including shape parameters, like lining thickness panel width, etc. and maybe an additional common shape representations (using IfcRepresentationMap). The IfcWindowType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    Property Set Use Definition:

    The property sets relating to the IfcWindowStandardCase are defined at the supertype IfcWindow.

    Quantity Use Definition

    The quantities relating to the IfcWindowStandardCase are defined at the supertype IfcWindow.

    Containment Use Definition

    The containment use definitions relating to the IfcWindowStandardCase are defined at the supertype IfcWindow.

    Geometry Use Definitions:

    The geometric representation of IfcWindowStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcWindow.

    Geometric Representations

    The geometric representation of IfcWindowStandardCase is defined using the following multiple shape representations for its definition:

    • Profile: a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric window representation. The profile around the edges of the opening is used to apply the window lining and window panel shape parameter.
    • MappedRepresentation: A SweptSolid, SurfaceModel, or Brep Representation or a CSG additionally defining the 3D shape of the standard window in addition to the parametric representation by applying the IfcWindowLiningProperties and an the IfcWindowPanelProperties to the Profile representation.
    • RepresentationIdentifier : 'Profile'
    • RepresentationType : 'Curve3D' or 'GeometricCurveSet', in case of 'GeometricCurveSet' only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

    The following additional constraints apply to the 'Profile' representation type:

    • Curve: being an IfcPolyline defining a rectangle.
    • Position: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the IfcCartesianPoint's shall be 0.).

    As shown in Figure 145, the profile defines the outer boundary to which the window lining parameters relate as:

    • IfcWindowLiningProperties.LiningDepth starting at distance defined by LiningOffset going into the positive y direction.
    • IfcWindowLiningProperties.LiningThickness offset into the inner side of the rectangle.
    • IfcWindowLiningProperties.LiningOffset distance along the positive y direction to where the LiningDepth applies.
    • IfcWindowLiningProperties.FirstTransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. SecondTransomOffset defined accordingly.
    • IfcWindowLiningProperties.FirstMullionOffset starting at the left edge of the rectangle (along local z-axis) into the inner side of the rectangle, distance provided as percentage of overall width. Distance to the centre line of the mullion. SecondMullionOffset defined accordingly.

    Figure 145 — Window profile

    " 1495;IfcPlate;"

    Definition from IAI: An IfcPlate is a planar and often flat part with constant thickness. A plate can be a structural part carrying loads between or beyond points of support, however it is not required to be load bearing.˙The location of the plate (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to IfcWall and IfcSlab (as floor slab)).˙

    NOTE ˙Plates are˙normally made of steel, other metallic material, or by glass panels. However the definition of IfcPlate is material independent and specific material information shall be handled by using IfcAssociatesMaterial to assign a material specification to the IfcPlate

    NOTE ˙Although not necessarily, plates are often add-on parts. This is represented by the IfcRelAggregates decomposition mechanism used to aggregate parts, such as IfcPlate, into a container element, e.g. IfcElementAssembly, or IfcCurtainWall

    NOTE The representation of a plate in a structural analysis model is provided by IfcStructuralSurfaceMember being part of an IfcStructuralAnalysisModel.

    An instance IfcPlate should preferably get its geometric representation and material assignment through the type definition by IfcPlateType assigned using the IfcRelDefinesByType relationship. This allows identical plates in a construction to be represented by the same instance of IfcPlateType.

    A plate may have openings, such as voids or recesses. They are defined by an IfcOpeningElement attached to the plate using the inverse relationship HasOpenings pointing to IfcRelVoidsElement. The position number of a plate as often used in steel construction is assigned through the attribute IfcElement.Tag

    The IFC specification provides two entities for plate occurrences:

    • IfcPlateStandardCase used for all occurrences of plates, that are prismatic and where the thickness parameter can be fully described by the IfcMaterialLayerSetUsage. These plates are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialLayerSetUsage assigned.
    • IfcPlate used for all other occurrences of plates, particularly for plates with changing thickness, or plates with non planar surfaces, and plates having only 'SurfaceModel' or 'Brep' geometry.
    HISTORY New entity in IFC Release 2x2

    Type Use Definition

    The IfcPlate defines the occuurence of any plate, common information about plate types (or styles) is handled by IfcPlateType. The IfcPlateType (if present) may establish the common˙type name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcPlateType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    If no IfcPlateType is attached˙(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcPlate is defined by IfcMaterialLayerSet, or IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    NOTE It is illegal to assign an IfcMaterialLayerSetUsage to an IfcPlate. Only the subtype IfcPlateStandardCase supports this concept.

    Material information can also be given at the IfcPlateType, defining the common attribute data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcPlateType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

    Property Set Use Definition

    The property sets relating to the IfcPlate are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcPlate are part of this IFC release:

    Quantity Use Definition

    The quantities relating to the IfcPlate and IfcPlateStandardCase are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quanties shall be never assigned to the IfcPlateType.

    Containment Use Definitions

    The IfcPlate, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second relationship is the aggregation within an˙element assembly.

    • The˙IfcPlate is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of˙IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The˙IfcPlate may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case, no additional relationship to the spatial hierarchy shall be given (i.e.˙SELF\IfcElement.ContainedInStructure = NIL), the relationship to the spatial container is handled by the element assembly.

    Geometry Use Definition

    The geometric representation of IfcPlate is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The local placement for IfcPlate is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
      • If the IfcPlate is part of an assembly, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the container element, e.g. IfcElementAssembly,
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'Surface', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    Surface Representation

    The surfacic geometric representation of IfcPlate is defined using the 'Surface' representation.

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'Surface3D'
    NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).

    Body Representation

    The body representation of IfcPlate can be represented using the representation types 'SweptSolid', 'Clipping', 'MappedRepresentation', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

    SweptSolid Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    If a corresponding material definition using IfcMaterialLayerSetUsage can be assigned, the subtype IfcPlateStandardCase shall be used.
    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the swept solid representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef, IfcArbitraryProfileDefWithVoids, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
    • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.

    Clipping Representation Type

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    MappedRepresentation Representation Type

    The 'MappedRepresentation' shall be supported as it allows for reusing the geometry definition of the member type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'MappedRepresentation'

    The same constraints, as given for the 'SweptSolid', 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

    " 1500;IfcPlateStandardCase;"

    The standard plate, IfcPlateStandardCase, defines a plate with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcPlateStandardCase handles all cases of plates, that:

    • have a reference to the IfcMaterialLayerSetUsage defining the material layers of the plate with thicknesses
    • are based on an extrusion of a planar surface as defined by the plate profile
    • have a constant thickness along the extrusion direction
    • are consistent in using the correct material layer set offset to the base planar surface in regard to the shape representation
    • are extruded perpendicular to the plane surface

    The definitions of plate openings and niches are the same as given at the supertype IfcPlate. The same agreements to the special types of plates, as defined in the PredefinedType attribute apply as well.

    HISTORY New entity in IFC2x Edition 4.

    Type Use Definition

    The IfcPlateStandardCase defines the occuurence of any plate, common information about plate types (or styles) is handled by IfcPlateType. The IfcPlateType (if present) may establish the common type name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcPlateType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    The IfcPlateStandardCase defines in addition that the IfcPlateType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this plate type.

    Figure 107 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcPlateStandardCase as the plate occurrence and to the IfcPlateType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcPlateType and the IfcPlateStandardCase.

     

    Figure 107 — Plate type definition

    Material Use Definition

    The material of the IfcPlateStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer plates can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

    Material information can also be given at the IfcPlateType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcPlateType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard plates.

    As shown in Figure 108, the following conventions shall be met:

    • The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position.
    • The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane.
    • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system.
    • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system.
    • The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth
    • The IfcMaterialLayerSetUsage.LayerSetDirection i always AXIS3.

    Figure 108 — Plate material layers

    Property Set Use Definition:

    The property sets relating to the IfcPlateStandardCase are defined at the supertype IfcPlate.

    Quantity Use Definition

    The quantities relating to the IfcPlateStandardCase are defined at the supertype IfcPlate.

    Containment Use Definition

    The containment use definitions relating to the IfcPlateStandardCase are defined at the supertype IfcPlate.

    Geometry Use Definitions

    The geometric representation of IfcPlateStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The use of local placement is defined at the supertype IfcPlate.

    Geometric Representations

    Currently, the use of 'SweptSolid' and 'Clipping' representations is supported. In addition the general representation type 'BoundingBox' is allowed. The geometry use definitions for 'BoundingBox', is explained at IfcBuildingElement.

    SweptSolid Representation

    The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used for the 'SweptSolid' representation:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the swept solid representation:

    • Solid: IfcExtrudedAreaSolid is required,
    • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcRoundedRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
    • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.
    • Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the 'SweptSolid' representation.

    Figure 109 illustrates a 'SweptSolid' geometric representation.

    NOTE The following interpretation of dimension parameter applies for polygonal plates (in ground floor view):

    • IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the plate.

    Figure 109 — Plate body extrusion

    Clipping representation

    The 'Clipping' geometric representation of IfcSlabStandardCase is defined using the swept area geometry with additional clippings applied. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'Clipping'

    The following constraints apply to the 'Clipping' representation:

    • Solid: see 'SweptSolid' shape representation,
    • Profile: see 'SweptSolid' shape representation,
    • Extrusion: see 'SweptSolid' shape representation,
    • Material: see 'SweptSolid' shape representation,
    • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

    Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave.

    Figure 110 — Plate body clipping

    " 1507;IfcChimney;"

    Definition from ISO 6707-1:1989: Construction containing one or more flues. Flue: Duct designed to convey the products of combustion to the open air. Chimney stack: Part of the chimney that projects above a roof.

    Definition from IAI: Chimneys are typically vertical, or as near as vertical, parts of the construction of a building and part of the building fabric. Often constructed by pre-cast or insitu concrete, today seldom by bricks.

    HISTORY New entity in IFC2x4

    Property Set Use Definition:

    The property sets relating to the IfcChimney are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcChimney are part of this IFC release:

    Property sets can also be given at the IfcChimneyType, defining the common property data for all occurrences of the same type.˙It is then accessible by the inverse IsTypedBy relationship pointing to IfcChimneyType.HasPropertySets. If both are given, then the properties directly assigned to IfcChimney overrides the properties assigned to IfcChimneyType.

    Quantity Use Definition:

    The quantities relating to the IfcChimney are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quanties shall be never assigned to the IfcChimneyType.

    " 1514;IfcBuildingElementProxy;"

    Definition from IAI: The IfcBuildingElementProxy is a proxy definition that provides the same functionality as an IfcBuildingElement, but without having a predefined meaning of the special type of building element, it represents. Proxies can also be used as spatial place holders or provisions, that maybe later replaced by special types of elements.

    One use of the proxy object is a provision for voids, i.e. where a particular volume of space is requested by some engineering function that might later be accepted or rejected and if accepted potentially transformed into a void within a building element, like a wall opening, or a slab opening. The provision for voids is exchanged as an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid.

    Other usages of IfcBuildingElementProxy include:

    • The IfcBuildingElementProxy can be used to exchange special types of building elements for which the current IFC Release does not yet provide a semantic definition.
    • The IfcBuildingElementProxy can also be used to represent building elements for which the participating applications can not provide additional semantic classification.
    HISTORY  New entity in IFC Release 2x.
    IFC2x4 CHANGE  The attribute CompositionType has been replaced by PredefinedType, being a superset of the enumerators.

    Type Use Definition

    The IfcBuildingElementProxy defines the occuurence of any building element, common information about the types (or styles) is handled by IfcBuildingElementProxyType.

    The IfcBuildingElementProxyType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBuildingElementProxyType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    NOTE The IfcBuildingElementProxyType can be used to share common information among many occurrences of the same proxy without establishing a particular semantic meaning of the type.

    If no IfcBuildingElementProxyType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

    Material Use Definition

    The material of the IfcBuildingElementProxy is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note It is illegal to assign an IfcMaterial to an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid.

    Material information can also be given at the IfcBuildingElementProxyType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcBuildingElementProxy overrides the material assigned to IfcBuildingElementProxyType.

    Property Set Use Definition:

    The property sets relating to the IfcBuildingElementProxy are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuildingElementProxy are part of this IFC release:

    Property sets can also be given at the IfcBuildingElementProxyType, defining the common property data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasPropertySets. If both are given, then the properties directly assigned to IfcBuildingElementProxy overrides the properties assigned to IfcBuildingElementProxyType.

    Containment Use Definition

    The IfcBuildingElementProxy, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an element assembly.

    • The IfcBuildingElementProxy is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
    • The IfcBuildingElementProxy may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

    Geometry Use Definition

    The geometric representation of IfcBuildingElementProxy is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

    Local Placement

    The local placement for any IfcBuildingElementProxy is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement can be given relativly.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representation

    Currently, the 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

    FootPrint Representation

    Any building element proxy may be represented by a geometric curve set, given by a collection of 2D points and curves. The foot pring geometric representation of IfcBuildingElementProxy is defined using the 'FootPrint' representation.

    • RepresentationIdentifier: 'FootPrint'
    • RepresentationType: 'GeometricCurveSet', 'Annotation2D'

    Body Representation

    The body representation of IfcBuildingElementProxy can be represented using the representation types 'GeometricSet', 'SweptSolid', 'CSG' 'SurfaceModel', 'Brep', and 'MappedRepresentation'. The representation types 'SurfaceModel', 'Brep', and 'MappedRepresentation' are explained at IfcBuildingElement.

    GeometricSet Representation Type

    Any building element proxy may be represented by a geometric set, given by a collection of 2D and 3D points, curves, and surfaces. It represents the body of the proxy object, when no topological structure is available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier: 'Body'
    • RepresentationType: 'GeometricSet'

    SweptSolid Representation Type

    Any building element proxy may be represented by swept solid geometry (either by extrusion or by revolution). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier: 'Body'
    • RepresentationType: 'SweptSolid'

    No further restrictions (e.g., for the profile or extrusion direction) are defined at this level. A single or multiple swept area solid(s) can be the Items of the IfcShapeRepresentation.

    CSG Representation Type

    Any building element proxy may be represented by a CSG primitive or CSG tree. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

    • RepresentationIdentifier: 'Body'
    • RepresentationType: 'CSG'

    No further restrictions (e.g., for the depths of the CSG tree) are defined at this level.

    " 1526;IfcCovering;"

    Definition from ISO 6707-1:1989: term used: Finishing - final coverings and treatments of surfaces and their intersections.

    A covering is an element which covers some part of another element and is fully dependent on that other element. The IfcCovering defines the occurrence of a covering type, that (if given) is expressed by the IfcCoveringType. Examples of coverings include wall claddings, floorings and suspended ceilings. Coverings are elements with relationships to the covered element and the space on the other side, they may contain openings, assigned by IfcRelVoidsElement, material information, assigned by IfcRelAssociatesMaterial, and others.

    NOTE A more basic information about claddings, floorings, and ceilings of a space can be attached to IfcSpace's using the Pset_SpaceCommon properties. Then only a name can be provided and the covering quantities would be interpreted from the space quantities.

    Coverings can be assigned to

    • a space represented by IfcSpace
      • using the inverse relationship CoversSpaces pointing to IfcRelCoversSpaces. The space is then accessible via IfcRelCoversSpaces.RelatedSpace. It defines to which space a covering is facing towards.
        • NOTE The mere containment relationship between an IfcCovering and an IfcSpace is created by using IfcRelContainedInSpatialStructure
    • a space boundary represented by IfcRelSpaceBoundary
      • using the inverse relationship ProvidesBoundaries pointing to IfcRelSpaceBoundary. The space is then accessible via IfcRelSpaceBoundary.RelatingSpace.
    • a building element represented by IfcBuildingElement
      • using the inverse relationship Covers pointing to IfcRelCoversBldgElements. The building element is then accessible via IfcRelCoversBldgElements.RelatingBuildingElement.

    The following guideline shall apply:

    • (default) if the space has coverings that may not have an own shape representation and no defined relationships to the building elements they cover, then the IfcCovering shall be assigned to IfcSpace using the IfcRelCoversSpaces relationship,
    • if the space has coverings that have an own shape representation and the space has defined space boundaries, then the covering, which relates to that space, may be assigned to the space boundaries using the link to˙IfcRelSpaceBoundary,
    • if the covering does not relate to a space, then the covering should be assigned to the building element or a distribution element using the IfcRelCoversBldgElements relationship.
    HISTORY New entity in IFC Release 1.0.
    IFC2x CHANGE The attribute PredefinedType is now optional and should only be inserted when no type information, given by IfcCoveringType, is assigned to the IfcCovering occurrence by IfcRelDefinesByType.
    IFC2x4 CHANGE The IfcCovering is restricted to coverings of building elements by having RelatingBuildingElement pointing to IfcBuildingElement.

    Type Use Definition

    The IfcCovering defines the occuurence of any covering, common information about covering types (or styles) is handled by IfcCoveringType. The IfcCoveringType (if present) may establish the common˙type name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcCoveringType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

    As an additional use agreement for standard coverings (i.e. slabs with constant thickness along the extrusion direction), the IfcCoveringType should have a unique IfcMaterialLayerSet, that is referenced by the˙IfcMaterialLayerSetUsage assigned to all occurrences of this covering type.

    Figure 91 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the covering type and the covering occurrence.

    Figure 91 — Covering material usage

    If an IfcCoveringType is assigned to the IfcCovering, the attribute PredefinedType shall not be assigned, or shall be identical to IfcCoveringType.PredefinedType.

    Property Set Use Definition:

    The property sets relating to the IfcCovering are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcCovering are part of this IFC release:

    Quantity Use Definition:

    The quantities relating to the IfcCovering are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcCoveringType.

    Containment Use Definition

    The IfcCovering has a containment relationship within the hierarchical spatial structure.

    • The IfcCovering is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcSpace being the default container.

    Geometry Use Definitions

    The geometric representation of IfcCovering is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

    Local Placement

    The local placement for IfcCovering is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

    • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement , which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
    • If the IfcCovering, however, is assigned to an IfcBuildingElement, and this element defines its own local placement, than the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the IfcBuildingElement.
    • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

    Geometric Representations

    The geometric representation of the IfcCovering depends on two criteria:

    1. Does it define an area or a volume?
    2. Is the base surface (either the IfcRelSpaceBoundary or the surface of the IfcBuildingElement it relates to) a planar surface or a cylindrical surface?

    GeometricSet Representation

    The 'GeometricSet' geometric representation of IfcCovering supports area definitions as 3D surfaces.˙

    • RepresentationIdentifier : 'Surface'
    • RepresentationType : 'GeometricSet'

    The following additional constraints apply to the 'GeometricSet' representation of IfcCovering:

    • for planar base surfaces - bounded surface representation
    • for cylindrical base surfaces - swept surface representation

    Figure 92 illustrates a planar surface representation where the area of IfcCovering is given by an IfcPolyLoop for planar base surfaces (here given by the IfcRelSpaceBoundary).

    • The implicit planar surface of the IfcPolyLoop shall be identical with the planar surface defined by the IfcRelSpaceBoundary.

    Figure 92 — Covering surface planar

    Figure 93 illustrates a cylindrical surface representation where the area of the IfcCovering is given by an IfcSurfaceOfLinearExtrusion for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).

    • The geometry representation of the IfcCovering is given by the IfcTrimmedCurved (the Curve parameter of the IfcArbitraryOpenProfileDef - in cases of faceted representation also an IfcPolyline). It is extruded within the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.

    Figure 93 — Covering surface cylindrical

    SweptSolid Representation

    The 'SweptSolid' geometric representation of IfcCovering supports volume definitions as 3D solids.˙

    • RepresentationIdentifier : 'Body'
    • RepresentationType : 'SweptSolid'

    The following additional constraints apply to the 'SweptSolid' representation of IfcCovering:

    • for planar base surfaces - swept area representation
    • for cylindrical base surfaces - swept area representation

    Figure 94 illustrates a body representation where the volume of IfcCovering is given by an IfcExtrudedAreaSolid for planar base surfaces (here given by the IfcRelSpaceBoundary).

    • The extruded area (IfcArbitraryClosedProfileDef) shall be coplanar to the surface defined by the IfcRelSpaceBoundary.

    Figure 94 — Covering body planar

    Figure 95 illustrates a body representation where the volume of the IfcCovering is given by an IfcExtrudedAreaSolid for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).

    • The geometry representation of the IfcCovering is given by the IfcCompositeCurve (the OuterCurve parameter of the IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.

    Figure 95 — Covering body circular

    " 1543;IfcRelCoversBldgElements;"

    Definition from IAI: The IfcRelCoversBldgElements is an objectified relationship between an element and one to many coverings, which cover the building element.

    • IfcRelCoversBldgElements, this relationship, expresses the primary relation to the element,
    • IfcRelCoversSpaces expresses the primary relation to the space.
    HISTORY New Entity in IFC Release 1.5
    IFC2x4 CHANGE: The data type of the attribute RelatingElement has been changed from IfcElement to its subtype IfcBuildingElement.
    " 1546;IfcShadingDevice;"

    Definition from IAI: Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable.

    NOTE Also other building elements such as protruding slabs or balconies can act as shading devices. Those elements however have another primary purpose and are defined as IfcSlab or by other subtypes of IfcBuildingElement. The particular additional purpose as a shading device is provided by assigning the property set Pset_ElementShading to those building elements.
    HISTORY New entity in IFC2x4
    " 1556;IfcSlabType;"

    The element type IfcSlabType defines commonly shared information for occurrences of slabs. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common material layer definitions
    • common shape representations
    • NOTE It is illegal to share shape representations as representation maps for occurrences of IfcSlabStandardCase.

    It is used to define a slab specification (i.e. the specific product information, that is common to all occurrences of that product type). Slab types may be exchanged without being already assigned to occurrences.

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    The occurrences of the IfcSlabType within building models are represented by instances of IfcSlabStandardCase if the IfcSlabType has a single associated IfcMaterialLayerSet; otherwise they are represented by instances of IfcSlab, or IfcSlabElementedCase.

    HISTORY  New entity in Release IFC2x2.

    Informal proposition:

    1. The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.

    Material Use Definition

    The material of the IfcSlabType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcSlabType, if there is at least one occurrences. of IfcSlabStandardCase for this type.

    Layer Set Use Definition:

    The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterial that is the common for all slab occurrence, if used. It is only applicable if the IfcSlabType has only occurrences of type IfcSlabStandardCase (see definition of IfcSlabStandardCase for further information).

    NOTE Since each individual instance of IfcSlabStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the reference plane, the same IfcSlabType can be used independently of the reference plane alignment of its occurrences.

    Property Set Use Definition:

    The shared property sets relating to the IfcSlabType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcWallType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcSlabType and those that are only assignable to IfcSlab. If the same property is assigned to the IfcSlabType and the IfcSlab being an occurrence of the IfcSlabType, then the occurrence property overrides the type property.
    " 1559;IfcWallType;"

    Definition from IAI: The element type IfcWallType defines commonly shared information for occurrences of walls. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common material layer definitions
    • common shape representations
    • NOTE It is illegal to share shape representations as representation maps for occurrences of IfcWallStandardcase.

    It is used to define a wall specification (i.e. the specific product information, that is common to all occurrences of that product type). Wall types may be exchanged without being already assigned to occurrences.

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    Occurrences of the IfcWallType within building models are represented by instances of IfcWallStandardCase if the IfcBeamType has a single associated IfcMaterialLayerSet; otherwise they are represented by instances of IfcWall, or IfcWallElementedCase. Occurrences of the IfcWallType within structural analysis models are represented by instances of IfcStructuralSurfaceMember, or its applicable subtypes.

    HISTORY: New entity in Release IFC2x Editon 2.

    Informal proposition:

    1. The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.

    Material Use Definition

    The material of the IfcWallType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcWallType, if there is at least one occurrences. of IfcWallStandardCase for this type.

    Layer Set Use Definition:

    The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterialLayer that is the common for all wall occurrence, if used. It is only applicable if the IfcWallType has only occurrences of type IfcWallStandardCase (see definition of IfcWallStandardCase for further information).

    NOTE Since each individual instance of IfcWallStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the wall axis, the same IfcWallType can be used independently of the axis alignment of its occurrences.

    Property Set Use Definition:

    The shared property sets relating to the IfcWallType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcWallType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcWallType and those that are only assignable to IfcWall. If the same property is assigned to the IfcWallType and the IfcWall being an occurrence of the IfcWallType, then the occurrence property overrides the type property.
    " 1562;IfcStairFlightType;"

    Definition from IAI: The element type (IfcStairFlightType) defines a list of commonly shared property set definitions of a stair flight and an optional set of product representations. It is used to define an stair flight specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A stair flight type is used to define the common properties of a certain type of a stair flight that may be applied to many instances of that type to assign a specific style. Stair flight types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcStairFlightType are represented by instances of IfcStairFlight.

    HISTORY: New entity in Release IFC2x Edition 2.

    " 1565;IfcRailingType;"

    Definition from IAI: The element type (IfcRailingType) defines a list of commonly shared property set definitions of a railing element and an optional set of product representations. It is used to define a railing specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A railing type is used to define the common properties of a certain type of railing that may be applied to many instances of that type to assign a specific style. Railing types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcRailingType are represented by instances of IfcRailing.

    HISTORY New entity in Release IFC2x Editon 2.

    " 1568;IfcRampFlightType;"

    Definition from IAI: The element type (IfcRampFlightType) defines a list of commonly shared property set definitions of a ramp flight and an optional set of product representations. It is used to define an ramp flight specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A ramp flight type is used to define the common properties of a certain type of a ramp flight that may be applied to many instances of that type to assign a specific style. Ramp flight types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcRampFlightType are represented by instances of IfcRampFlight.

    HISTORY New entity in Release IFC2x Edition 2.

    " 1571;IfcBeamType;"

    Definition from IAI: The element type IfcBeamType defines commonly shared information for occurrences of beams. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common profile definitions
    • common shape representations

    It is used to define a beam specification, or beam style (i.e. the specific product information that is common to all occurrences of that beam type). Beam types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcBeamType within building models are represented by instances of IfcBeamStandardCase if the IfcBeamType has a single associated IfcMaterialProfileSet; otherwise they are represented by instances of IfcBeam. Occurrences of the IfcBeamType within structural analysis models are represented by instances of IfcStructuralCurveMember, or its applicable subtypes.

    HISTORY New entity in Release IFC2x Edition 2.

    Material Use Definition

    The material of the IfcBeamType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcBeamType, if there is at least one occurrences. of IfcBeamStandardCase for this type.

    Property Set Use Definition:

    The shared property sets relating to the IfcBeamType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcBeamType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcBeamType and those that are only assignable to IfcBeam. If the same property is assigned to the IfcBeamType and the IfcBeam being an occurrence of the IfcBeamType, then the occurrence property overrides the type property.

    Profile Use Definition:

    The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all beam occurrence, if used. It is only applicable if the IfcBeamType has only occurrences of type IfcBeamStandardCase (see definition of IfcBeamStandardCase for further information).

    NOTE The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.

    Geometry Use Definition:

    The IfcBeamType may define the shared geometric representation for all beam occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcBeamType has only occurrences of type IfcBeam (See geometric use definition of IfcBeam for further information).

    NOTE If the IfcBeamType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
    NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
    NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcBeam and IfcBeamStandardCase
    " 1574;IfcColumnType;"

    Definition from IAI: The element type IfcColumnType defines commonly shared information for occurrences of columns. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common profile definitions
    • common shape representations

    It is used to define a column specification, or column style (i.e. the specific product information that is common to all occurrences of that column type). Column types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcColumnType within building models are represented by instances of IfcColumnStandardCase if the IfcColumnType has a single associated IfcMaterialProfileSet; otherwise they are represented by instances of IfcColumn. Occurrences of the IfcColumnType within structural analysis models are represented by instances of IfcStructuralCurveMember, or its applicable subtypes.

    HISTORY New entity in Release IFC2x Edition 2.

    Material Use Definition

    The material of the IfcColumnType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcColumnType, if there is at least one occurrences of IfcColumnStandardCase for this type.

    Property Set Use Definition:

    The shared property sets relating to the IfcColumnType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcColumnType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcColumnType and those that are only assignable to IfcColumn. If the same property is assigned to the IfcColumnType and the IfcColumn being an occurrence of the IfcColumnType, then the occurrence property overrides the type property.

    Profile Use Definition:

    The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all column occurrence, if used. It is only applicable if the IfcColumnType has only occurrences of type IfcColumnStandardCase (see definition of IfcColumnStandardCase for further information).

    NOTE The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.

    Geometry Use Definition:

    The IfcColumnType may define the shared geometric representation for all column occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcColumnType has only occurrences of type IfcColumn (See geometric use definition of IfcColumn for further information).

    NOTE If the IfcColumnType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
    NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
    NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcColumn and IfcColumnStandardCase
    " 1577;IfcMemberType;"

    Definition from IAI: The element type IfcMemberType defines commonly shared information for occurrences of members. Members are predominately linear building elements, often forming part of a structural system. The orientation of the member (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to beam and column). The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common profile definitions
    • common shape representations

    It is used to define a member specification, or member style (i.e. the specific product information that is common to all occurrences of that member type). Member types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcMemberType within building models are represented by instances of IfcMemberStandardCase if the IfcMemberType has a single associated IfcMaterialProfileSet; otherwise they are represented by instances of IfcMember. Occurrences of the IfcMemberType within structural analysis models are represented by instances of IfcStructuralCurveMember, or its applicable subtypes.

    HISTORY New entity in Release IFC2x2 Addendum 1.

    Material Use Definition

    The material of the IfcMemberType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcMemberType, if there is at least one occurrences of IfcMemberStandardCase for this type.

    Property Set Use Definition:

    The shared property sets relating to the IfcMemberType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcMemberType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcMemberType and those that are only assignable to IfcMember. If the same property is assigned to the IfcMemberType and the IfcMember being an occurrence of the IfcMemberType, then the occurrence property overrides the type property.

    Profile Use Definition:

    The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all member occurrence, if used. It is only applicable if the IfcMemberType has only occurrences of type IfcMemberStandardCase (see definition of IfcMemberStandardCase for further information).

    NOTE The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.

    Geometry Use Definition:

    The IfcMemberType may define the shared geometric representation for all member occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcMemberType has only occurrences of type IfcMember (See geometric use definition of IfcMember for further information).

    NOTE If the IfcMemberType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
    NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
    NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcMember and IfcMemberStandardCase
    " 1580;IfcCurtainWallType;"

    Definition from IAI: The element type (IfcCurtainWallType) defines a list of commonly shared property set definitions of a curtain wall element and an optional set of product representations. It is used to define a curtain wall specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A curtain wall type is used to define the common properties of a certain type of curtain wall that may be applied to many instances of that type to assign a specific style. Curtain wall types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcCurtainWallType are represented by instances of IfcCurtainWall.

    HISTORY New entity in Release IFC2x Editon 3.

    " 1583;IfcPlateType;"

    The element type IfcPlateType defines commonly shared information for occurrences of plates. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common material layer definitions
    • common shape representations
    • NOTE It is illegal to share shape representations as representation maps for occurrences of IfcPlateStandardCase.

    It is used to define a plate specification (i.e. the specific product information, that is common to all occurrences of that product type). Plate types may be exchanged without being already assigned to occurrences.

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    The occurrences of the IfcPlateType within building models are represented by instances of IfcPlateStandardCase if the IfcPlateType has a single associated IfcMaterialLayerSet; otherwise they are represented by instances of IfcPlate.

    HISTORY  New entity in Release IFC2x2.

    Informal proposition:

    1. The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.

    Material Use Definition

    The material of the IfcPlateType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Note: It is illegal to assign an IfcMaterial to an IfcPlateType, if there is at least one occurrences of IfcPlateStandardCase for this type.

    Layer Set Use Definition:

    The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterial that is the common for all plate occurrence, if used. It is only applicable if the IfcPlateType has only occurrences of type IfcPlateStandardCase (see definition of IfcPlateStandardCase for further information).

    NOTE Since each individual instance of IfcPlateStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the reference plane, the same IfcPlateType can be used independently of the reference plane alignment of its occurrences.

    Property Set Use Definition:

    The shared property sets relating to the IfcPlateType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcWallType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcPlateType and those that are only assignable to IfcPlate. If the same property is assigned to the IfcPlateType and the IfcPlate being an occurrence of the IfcPlateType, then the occurrence property overrides the type property.
    " 1586;IfcStairType;"

    Definition from IAI: The element type IfcStairType defines a list of commonly shared property set definitions of a stair and an optional set of product representations. It is used to define a stair specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    An IfcStairType˙is used to define the common properties of a specific stair that may be applied to many instances of that type to assign a specific style. Building element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The IfcStairType can have common material (using the inverse relationship HasAssociations) or property set information (using HasPropertySets) assigned. If present, it does apply equally to all occurrences of the IfcStairType. Property set information may be overridden at the occurrence.

    The occurrences of the IfcStairType are represented by instances of IfcStair.

    HISTORY New entity in Release IFC2x Edition 4.
    " 1589;IfcRampType;"

    Definition from IAI: The element type IfcRampType defines a list of commonly shared property set definitions of a ramp and an optional set of product representations. It is used to define a ramp specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    An IfcRampType˙is used to define the common properties of a specific ramp that may be applied to many instances of that type to assign a specific style. Building element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The IfcRampType can have common material (using the inverse relationship HasAssociations) or property set information (using HasPropertySets) assigned. If present, it does apply equally to all occurrences of the IfcRampType. Property set information may be overridden at the occurrence.

    The occurrences of the IfcRampType are represented by instances of IfcRamp.

    HISTORY New entity in Release IFC2x Edition 4.
    " 1592;IfcRoofType;"

    Definition from IAI: The element type IfcRoofType defines a list of commonly shared property set definitions of a roof and an optional set of product representations. It is used to define a roof specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    An IfcRoofType˙is used to define the common properties of a specific roof that may be applied to many instances of that type to assign a specific style. Building element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

    The IfcRoofType can have common material (using the inverse relationship HasAssociations) or property set information (using HasPropertySets) assigned. If present, it does apply equally to all occurrences of the IfcRoofType. Property set information may be overridden at the occurrence.

    The occurrences of the IfcRoofType are represented by instances of IfcRoof.

    HISTORY New entity in Release IFC2x Edition 4.
    " 1595;IfcChimneyType;"

    Definition from IAI: The IfcChimneyType defines a list of commonly shared property set definitions of a chimney element and an optional set of product representations. It is used to define a chimney specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A chimney type is used to define the common properties of a certain type of chimney that may be applied to many instances of that type to assign a specific style. Chimney types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcChimneyType are represented by instances of IfcChimney.

    HISTORY New entity in Release IFC2x4.
    " 1598;IfcBuildingElementProxyType;"

    Definition from IAI: The˙IfcBuildingElementProxyType defines a list of commonly shared property set definitions of a building element proxy and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE˙ The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A building element proxy type is used to define the common properties of a certain type of a building element proxy that may be applied to many instances of that˙type to assign a specific style. Building element proxy types˙may be exchanged without being already assigned to occurrences.

    NOTE Although an building element proxy does not have a predefined ontological meaning the provision of a type may be helpful in sharing information among multiple occurrences. Applications that provide type information for element types not yet included in the current IFC specification can use the IfcBuildingElementProxyType to exchange such types.

    The occurrences of the IfcBuildingElementProxyType are represented by instances of IfcBuildingElementProxy.

    HISTORY˙ New entity in Release IFC2x Edition 3.

    " 1600;IfcCoveringType;"

    Definition from IAI: The element type IfcCoveringType defines commonly shared information for occurrences of coverings. The set of shared information may include:

    • common properties within shared property sets
    • common material (layer set) information
    • common shape representations

    It is used to define an covering specification or covering style (i.e. the specific product information, that is common to all occurrences of that product type). Covering types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcCoveringType are represented by instances of IfcCovering

    HISTORY New entity in Release IFC2x Edition 2.

    Informal proposition

    1. The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.

    Material Use Definition

    The material of the IfcCoveringType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    Property Set Use Definition:

    The shared property sets relating to the IfcCoveringType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcCoveringType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcCoveringType and those that are only assignable to IfcCovering. If the same property is assigned to the IfcCoveringType and the IfcCovering being an occurrence of the IfcCoveringType, then the occurrence property overrides the type property.

    Geometry Use Definition:

    The IfcCoveringType may define the shared geometric representation for all covering occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Surface', or 'Body'). (See geometric use definition of IfcCovering for further information).

    NOTE If the IfcCoveringType has an associated IfcMaterialLayerSet, then no shared geometric representation shall be provided.
    NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
    NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcCoveringType.
    " 1603;IfcDoorType;"

    Definition from IAI: The element type IfcDoorType defines commonly shared information for occurrences of doors. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common operation type definitions
    • common shape representations

    A door type defines the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties as predefined property sets applicable to doors only.

    It is used to define a door specification, or door style (i.e. the specific product information that is common to all occurrences of that door type). Door types may be exchanged without being already assigned to occurrences.

    NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    Occurrences of the IfcDoorType within building models are represented by instances of IfcDoor or IfcDoorStandardCase.

    HISTORY New entity in IFC2x4 .
    NOTE The entity IfcDoorType replaces the previous definition IfcDoorStyle (which is deprecated in IFC2x4).

    Operation type use definition

    The IfcDoorTypeOperationEnum defines the general layout of the door type and its symbolic presentation. Depending on the enumerator, the appropriate instances of IfcDoorLiningProperties and IfcDoorPanelProperties are attached in the list of HasPropertySets. The IfcDoorTypeOperationEnum mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.) and the number of panels.

    Note ˙There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and may need to be mapped appropriately.

    See geometry use definitions at IfcDoorTypeOperationEnum for the correct usage of opening symbols for different operation types.

    Material Use Definition

    The material of the IfcDoorType is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Lining' - to indicate that the material constituent applies to to the door lining
    • 'Framing' - to indicate that the material constituent applies to to the door framing, if not provided, the 'Lining' material information applied to frams as well
    • 'Glazing' - to indicate that the material constituent applies to to the glazing as well

    If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the door.

    Property Set Use Definition:

    The shared property sets relating to the IfcDoorType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcDoorType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcDoorType and those that are only assignable to IfcDoor. If the same property is assigned to the IfcDoorType and the IfcDoor being an occurrence of the IfcDoorType, then the occurrence property overrides the type property.

    Two subtypes of IfcPreDefinedPropertySet are applicable to IfcDoorType:

    • IfcDoorLiningProperties - a single instance to define the shape parameters of the door lining
    • IfcDoorPanelProperties - one or several instances to define the shape parameters of the door panel(s)

    Geometry Use Definitions:

    The IfcDoorType may define the common shape of door occurrences. The common shape can be defined by

    • applying shape parameters defined within the associated IfcDoorLiningProperties and IfcDoorPanelProperties applied to the 'Profile' geometric representation. It is only applicable if the IfcDoorType has only occurrences of type IfcDoorStandardCase (See geometric use definition of IfcDoorStandardCase for further information).
    • applying the RepresentationMaps attribute to refer to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShapeRepresentation's having an RepresentationIdentifier 'Box', 'Profile', 'FootPrint', or 'Body')
      NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
      NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcDoor and IfcDoorStandardCase
    " 1606;IfcWindowType;"

    Definition from IAI: The element type IfcWindowType defines commonly shared information for occurrences of windows. The set of shared information may include:

    • common properties within shared property sets
    • common material information
    • common partitioning of panels
    • common operation types of panels
    • common shape representations

    A window type defines the particular parameter of the lining and one (or several) panels through the IfcWindowLiningProperties and the IfcWindowPanelProperties as predefined property sets applicable to windows only.

    It is used to define a window specification, or window style (i.e. the specific product information that is common to all occurrences of that window type). Window types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcWindowType within building models are represented by instances of IfcWindow or IfcWindowStandardCase.

    HISTORY New entity in IFC2x4 .
    NOTE The entity IfcWindowType replaces the previous definition IfcWindowStyle (which is deprecated in IFC2x4).

    Partitioning type use definition

    The IfcWindowTypePartitioningEnum defines the general layout of the window type and its symbolic presentation. Depending on the enumerator, the appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of HasPropertySets. The IfcWindowTypePartitioningEnum mainly determines the way of partitioning the window into individual window panels and thereby number and position of window panels.

    See geometry use definitions at IfcWindowTypePartitioningEnum for the correct usage of panel partitioning and IfcWindowPanelProperties for the opening symbols for different panel operation types.

    Material Use Definition

    The material of the IfcWindowType is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Lining' - to indicate that the material constituent applies to to the window lining
    • 'Framing' - to indicate that the material constituent applies to to the window panels, if not provided, the 'Lining' material information applied to panels as well
    • 'Glazing' - to indicate that the material constituent applies to to the glazing part

    If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the window.

    Property Set Use Definition:

    The shared property sets relating to the IfcWindowType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcWindowType are part of this IFC release:

    NOTE There is no differentiation between properties within the property set that are only assignable to IfcWindowType and those that are only assignable to IfcWindow. If the same property is assigned to the IfcWindowType and the IfcWindow being an occurrence of the IfcWindowType, then the occurrence property overrides the type property.

    Two subtypes of IfcPreDefinedPropertySet are applicable to IfcWindowType:

    • IfcWindowLiningProperties - a single instance to define the shape parameters of the window lining
    • IfcWindowPanelProperties - one or several instances to define the shape parameters of the window panel(s)

    Geometry Use Definitions:

    The IfcWindowType may define the common shape of window occurrences. The common shape can be defined by

    • applying shape parameters defined within the associated IfcWindowLiningProperties and IfcWindowPanelProperties applied to the 'Profile' geometric representation. It is only applicable if the IfcWindowType has only occurrences of type IfcWindowStandardCase (See geometric use definition of IfcWindowStandardCase for further information).
    • applying the RepresentationMaps attribute to refer to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShapeRepresentation's having an RepresentationIdentifier 'Box', 'Profile', 'FootPrint', or 'Body')
      NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
      NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcWindow and IfcWindowStandardCase
    " 1609;IfcShadingDeviceType;"

    Definition from IAI: The IfcShadingDeviceType defines a list of commonly shared property set definitions of a shading device element and an optional set of product representations. It is used to define a shading device specification (i.e. the specific product information, that is common to all occurrences of that product type).

    NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

    A shading device type is used to define the common properties of a certain type of chimney that may be applied to many instances of that type to assign a specific style. Shading device types may be exchanged without being already assigned to occurrences.

    The occurrences of the IfcShadingDeviceType are represented by instances of IfcShadingDevice.

    HISTORY New entity in Release IFC2x4.
    " 1611;IfcBuildingSystem;"

    Definition from IAI: A building system is a group by which building elements are group according to a common function within the building.

    HISTORY: New entity in IFC 2x4.

    The group IfcBuildingSystem defines the occurrence of a specialized system for use within the context of a building and finishing fabric. Important functionalities for the description of a building system are derived from supertypes:

    • From IfcSystem it inherits the ability to couple the building system via IfcRelServicesBuildings to one or more IfcSpatialElement subtypes as necessary.
    • From IfcGroup it inherits the inverse attribute IsGroupedBy, pointing to the relationship class IfcRelAssignsToGroup. This allows to group building elements (instances of IfcBuildingElement subtypes, IfcFurnishingElement subtype, IfcElementAssembly and IfcTransportElement, ).
    • From IfcObjectDefinition it inherits the inverse attribute IsDecomposedBy pointing to the relationship class IfcRelAggregates. It provides the hierarchy between the separate (partial) building systems.

    Property Set Use Definition:

    The property sets relating to this entity are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to this entity are part of this IFC release:

    " 1621;IfcAsset;"

    An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit.

    An asset is generally the level of granularity at which maintenance operations are undertaken. An asset is a group that can contain one or more elements. Whilst the financial value of a component or element can be defined, financial value is also defined for accounting purposes at the level of the asset.

    There are a number of actors that can be associated with an asset, each actor having a role. Actors within the scope of the project are indicated using the IfcRelAssignsToActor relationship in which case roles should be defined through the IfcActorRole class; otherwise principal actors are identified as attributes of the class. In the existence of both, direct attributes take precedence.

    There are a number of costs that can be associated with an asset, each cost having a role. These are specified through the OriginalValue, CurrentValue, TotalReplacementCost and DepreciatedValue attributes.

    HISTORY: New entity in IFC2x. In IFC2x4, all attributes made optional and date values changed to use IfcDate.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcGroup and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Classification Use Definition

    Classifications may be applied using IfcRelAssociatesClassification where RelatedObjects contains the IfcAsset and RelatingClassification refers to an IfcClassification or IfcClassificationReference.

    • IfcClassificationReference: The operating function of an asset within an organization may be particularly valuable in situations where one organization provides and maintains core services and another organization adds and maintains terminal services. It can classify who owns and is responsible for the asset. Operating function can be designated through the use of one or more classification references.

    Assignment Use Definition

    The IfcAsset may be assigned to the following entities using relationships as indicated:

    The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types:

    • IfcElement: Physical elements that comprise the asset.
    " 1631;IfcInventory;"

    An inventory is a list of items within an enterprise.

    Various types of inventory can be included. These are identified by the range of values within the inventory type enumeration which includes space, asset, and furniture. User defined inventories can also be defined for lists of particular types of element such as may be required in operating and maintenance instructions. Such inventories should be constrained to contain a list of elements of a restricted type.

    There are a number of actors that can be associated with an inventory, each actor having a role. Actors within the scope of the project are indicated using the IfcRelAssignsToActor relationship in which case roles should be defined through the IfcActorRole class; otherwise principal actors are identified as attributes of the class. In the existence of both, direct attributes take precedence.

    There are a number of costs that can be associated with an inventory, each cost having a role. These are specified through the CurrentValue and OriginalValue attributes.

    HISTORY: New entity in IFC2.0. Modified in IFC2x4 to make all attributes optional and remove Where Rule.

    Assignment Use Definition

    The IfcInventory may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcInventory and RelatedObjects contains one or more objects of the following types:

    • IfcAsset: Assets included in the inventory.
    • IfcElement: Elements such as furniture included in the inventory.
    • IfcSpace: Spaces included in the inventory.
    " 1644;IfcOccupant;"

    An occupant is a type of actor that defines the form of occupancy of a property.

    The principal purpose of IfcOccupant is to determine the nature of occupancy of a property for a particular actor. All characteristics relating to the actor (name and organization details) are inherited from the IfcActor class.

    HISTORY: New entity in IFC2x

    Assignment Use Definition

    The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types:

    • IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted.
    " 1657;IfcSystemFurnitureElement;"

    A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture.

    HISTORY: New entity in IFC2x2

    Type Use Definition

    IfcSystemFurnitureElement defines the occurrence of any furniture element; common information about furniture element types is handled by IfcSystemFurnitureElementType. The IfcSystemFurnitureElementType (if present) may establish the common type name, usage (predefined type), properties, materials, composition, assignments, and representations. The IfcSystemFurnitureElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSystemFurnitureElementType has aggregated elements, such objects are reflected at the IfcSystemFurnitureElement occurrence using the IfcRelDefinesByObject relationship.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSystemFurnitureElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSystemFurnitureElementType.HasPropertySets. If both are given, then the properties directly defined at IfcSystemFurnitureElement override the properties defined at IfcSystemFurnitureElementType. Refer to the documentation at the supertype IfcFurnishingElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSystemFurnitureElement is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSystemFurnitureElementType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Finish': The finish, typically at visible aspects of the furniture.
    • 'Frame': The frame from which the object is constructed.
    • 'Hardware': Finish hardware such as knobs or handles.
    • 'Padding': Padding such as cushions.
    • 'Panel': Panels such as glass.
    " 1666;IfcFurniture;"

    Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure.

    Occurrences of furniture that are built in (where the property Pset_FurnitureTypeCommon.IsBuiltIn is asserted to be TRUE) should have their connection relationship with a building element occurrence defined through the IfcRelConnectsElements relationship.

    HISTORY: New entity in IFC2x2

    Type Use Definition

    IfcFurniture defines the occurrence of any furniture; common information about furniture types is handled by IfcFurnitureType. The IfcFurnitureType (if present) may establish the common type name, usage (predefined type), properties, materials, composition, assignments, and representations. The IfcFurnitureType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFurnitureType has aggregated elements, such objects are reflected at the IfcFurniture occurrence using the IfcRelDefinesByObject relationship.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFurnitureType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFurnitureType.HasPropertySets. If both are given, then the properties directly defined at IfcFurniture override the properties defined at IfcFurnitureType. Refer to the documentation at the supertype IfcFurnishingElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFurniture is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFurnitureType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Finish': The finish, typically at visible aspects of the furniture.
    • 'Frame': The frame from which the object is constructed.
    • 'Hardware': Finish hardware such as knobs or handles.
    • 'Padding': Padding such as cushions.
    • 'Panel': Panels such as glass.

    Composition Use Definition

    The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types:

    " 1680;IfcSystemFurnitureElementType;"

    The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • applicable assignment of process types

    It is used to define a furniture element specification (i.e. the specific product information, that is common to all occurrences of that product type). Furniture Element types may be exchanged without being already assigned to occurrences. Occurrences of IfcSystemFurnitureElementType are represented by instances of IfcSystemFurnitureElement.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFurnishingElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSystemFurnitureElementType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Finish': The finish, typically at visible aspects of the furniture.
    • 'Frame': The frame from which the object is constructed.
    • 'Hardware': Finish hardware such as knobs or handles.
    • 'Padding': Padding such as cushions.
    • 'Panel': Panels such as glass.
    " 1683;IfcFurnitureType;"

    The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • applicable assignment of process types

    It is used to define a furniture specification (i.e. the specific product information, that is common to all occurrences of that product type). Furniture types may be exchanged without being already assigned to occurrences. Occurrences of IfcFurnitureType are represented by instances of IfcFurniture.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFurnishingElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFurnitureType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Finish': The finish, typically at visible aspects of the furniture.
    • 'Frame': The frame from which the object is constructed.
    • 'Hardware': Finish hardware such as knobs or handles.
    • 'Padding': Padding such as cushions.
    • 'Panel': Panels such as glass.

    Composition Use Definition

    The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types:

    " 1688;IfcDoorStyle;"

    Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties.

    The door entity, IfcDoor, defines a particular occurrence of a door inserted in the spatial context of a project. The actual parameter of the door and/or its shape is defined at the IfcDoorStyle, to which the IfcDoor is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinedByType. The IfcDoorStyle also defines the particular attributes for the lining, IfcDoorLiningProperties, and panels, IfcDoorPanelProperties.

    HISTORY˙New entity in IFC Release 2x.
    IFC2x4 CHANGE The entity is deprecated and shall not be used. The new entity IfcDoorType shall be used instead.

    Geometry use definitions

    The IfcDoorStyle defines the baseline geometry, or the representation map, for all occurrences of the door style, given by the IfcDoor, pointing to this style. The representation of the door style may be given by the agreed set of minimal parameters, defined for the door lining and the door panel(s), or it may be given by a geometric representation used by the IfcRepresentationMap. The attribute ParameterTakesPrecedence decides, whether the set of parameters can be used to exactly represent the shape of the door style (TRUE), or whether the attached IfcRepresentationMap holds the exact representation (FALSE).

    The IfcDoorStyleOperationTypeEnum defines the general layout of the door style. Depending on the enumerator, the appropriate instances of IfcDoorLiningProperties and IfcDoorPanelProperties are attached in the list of HasPropertySets. The IfcDoorStyleOperationTypeEnum mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.)˙and the number of panels.

    See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types.

    " 1722;IfcWindowStyle;"

    Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties.

    The window entity (IfcWindow) defines a particular occurrence of a window inserted in the spatial context of a project. The actual parameter of the window and/or its shape is defined at the IfcWindowStyle, to which the IfcWindow related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType. The IfcWindowStyle also defines the particular attributes for the lining (IfcWindowLiningProperties) and panels (IfcWindowPanelProperties).

    HISTORY New entity in IFC Release 2x.
    IFC2x4 CHANGE The entity has been deprecated and shall not be used. The new entity IfcWindowType shall be used instead.

    Geometry use definitions

    The IfcWindowStyle defines the baseline geometry, or the representation map, for all occurrences of the window style, given by the IfcWindow, pointing to this style. The representation of the window style may be given by the agreed set of minimal parameters, defined for the window lining and the window panel(s), or it may be given by a geometric representation used by the IfcRepresentationMap. The attribute ParameterTakesPrecedence decides, whether the set of parameters can be used to exactly represent the shape of the window style (TRUE), or whether the attached IfcRepresentationMap holds the exact representation (FALSE).

    The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of HasPropertySets. See geometry use definitions there.

    " 1748;IfcDoorLiningProperties;"

    The door lining is the frame which enables the door leaf to be fixed in position. The door lining is used to hang the door leaf. The parameters of the door lining (IfcDoorLiningProperties) define the geometrically relevant parameter of the lining.

    NOTE˙ The IfcDoorLiningProperties shall only be applied to construct the 3D shape of a door, if the attribute IfcDoorStyle.ParameterTakesPrecedence is set TRUE.

    The IfcDoorLiningProperties are included in the list of properties of IfcDoorStyle.HasPropertySets. More information about the door lining can be included in the same list of the IfcDoorStyle using another IfcPropertySet for dynamic extensions.

    HISTORY New entity in IFC Release 2.0. Has been renamed from IfcDoorLining in IFC Release 2x.
    IFC2x4 CHANGE˙ The following attributes have been added LiningToPanelOffsetX, LiningToPanelOffsetY. The attribute ShapeAspectStyle is deprecated and shall no longer be used. Supertype changed to new IfcPreDefinedPropertySet.

    Geometry use definitions

    The IfcDoorLiningProperties does not hold its own geometric representation. However it defines parameters which can be used to create the shape of the door style (which is inserted by the IfcDoor into the spatial context of the project) as shown in Figure 172.

    The parameters of the IfcDoorLiningProperties define a standard door lining, including (if given) a threshold and a transom. The outer boundary of the lining is determined by the occurrence parameter assigned to the IfcDoor, which inserts the IfcDoorStyle.

    The lining is applied to the left, right and upper side of the opening reveal. The parameters are:
    • LiningDepth, if omited, equal to wall thickness - this only takes effect if a value for LiningThickness is given. If both parameters are not given, then there is no lining.
    • LiningThickness
    • LiningToPanelOffsetX
    • LiningToPanelOffsetY
    • NOTE Parameters added in IFC2x4.
    The lining can only cover part of the opening reveal.
    • LiningOffset : given if lining edge has an offset to the x axis of the local placement.
    NOTE ˙In addition to the˙LiningOffset, the local placement of the IfcDoor can already have an offset to the wall edge and thereby shift the lining along the y axis. The actual position of the lining is calculated from the origin of the local placement along the positive y axis with the distance given by LiningOffset.
    The lining may include a casing, which covers part of the wall faces around the opening. The casing covers the left, right and upper side of the lining on both sides of the wall. The parameters are:
    • CasingDepth
    • CasingThickness
    The lining may include a threshold, which covers the bottom side of the opening. The parameters are:
    • ThresholdDepth if omited, equal to wall thickness - this only takes effect if a value for ThresholdThickness is given. If both parameters are not given, then there is no threshold.
    • ThresholdThickness
    • ThresholdOffset (not shown in figure): given, if the threshold edge has an offset to the x axis of the local placement.
    The lining may have a transom which separates the door panel from a window panel. The transom, if given, is defined by:
    • TransomOffset : a parallel edge to the x axis of the local placement
    • TransomThickness

    The depth of the transom is identical to the depth of the lining and not given as separate parameter.

    Figure 172 — Door lining properties

    NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to ""automatically aligned"" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth.
    " 1767;IfcDoorPanelProperties;"

    A door panel is normally a door leaf that opens to allow people or goods to pass. The parameters of the door panel define the geometrically relevant parameter of the panel,

    The IfcDoorPanelProperties are used to parametrically describe the shape and operation of door panels. The parametric definition can be added solely or additionally to the explicit shape representation of the door.

    The IfcDoorStyle can define doors consisting of more then one panel. In this case, one instance of IfcDoorPanelProperties has to be included for each door panel. The PanelPosition attribute, in conjunction with the IfcDoorStyle.OperationType attribute, determines to which panel the IfcDoorPanelProperties apply.

    The IfcDoorPanelProperties are included in the list of properties , given by attribute HasPropertySets of the IfcDoorStyle. More information about the door panel can be included in the same list of the IfcDoorStyle using the IfcPropertySet for dynamic extensions.

    HISTORY˙ New Entity in IFC Release 2.0.
    IFC2x4 CHANGE Supertype changed to new IfcPreDefinedPropertySet.

    Geometry use definitions

    The IfcDoorPanelProperties does not hold a geometric representation. However it defines parameters which can be used to create the shape of the door style (which is inserted by the IfcDoor into the spatial context of the project) as shown in Figure 173.

    The parameters of the IfcDoorPanelProperties define a standard door panel, including (if given) a proportional width to define non-uniform double swing (or sliding, or folding) doors. The outer boundary of the panel is determined by the occurrence parameter assigned to the IfcDoor, which inserts the IfcDoorStyle. It has to take the lining parameter into account as well.

    The depth of the panel (swinging, double-acting, and sliding panels) is defined by the PanelDepth parameter.
    • PanelDepth
    For door operation types that include more than one panel, the width of (at least) one panel is given by a normalised ratio measure. It determines the width of that panel, which is defined as a ratio of the overall width of the door opening.
    • PanelWidth

    Figure 173 — Door panel properties

    " 1789;IfcWindowPanelProperties;"

    A window panel is a casement, that is, a component, fixed or opening, consisting essentially of a frame and the infilling. The infilling of a window panel is normally glazing. The way of operation is defined in the operation type.

    The IfcWindowPanelProperties are used to parametrically describe the shape and operation of window panels. The parametric definition can be added solely or additionally to the explicit shape representation of the window.

    The IfcWindowStyle can define windows consisting of more then one panel. In this case, one instance of IfcWindowPanelProperties has to be included for each window panel. The PanelPosition attribute, in conjunction with the IfcWindowStyle.OperationType attribute, determines to which panel the IfcWindowPanelProperties apply.

    The IfcWindowPanelProperties are included in the list of properties (HasPropertySets) of the IfcWindowStyle. More information about the window panel can be included in the same list of the IfcWindowStyle using the IfcPropertySet for dynamic extensions.

    HISTORY New entity in IFC Release 2.0, it had been renamed from IfcWindowPanel in IFC Release 2x.
    IFC2x4 CHANGE Supertype changed to new IfcPreDefinedPropertySet.

    Geometry use definitions

    The IfcWindowPanelProperties does not hold an own geometric representation. However it defines parameter, which can be used to create the shape of the IfcWindowStyle (which is inserted by the IfcWindow into the spatial context of the project).

    The parameters at the IfcWindowPanelProperties define a standard window panel. The outer boundary of the panel is determined by the occurrence parameter assigned to the IfcWindow, which inserts the IfcWindowStyle. It has to take the lining parameter into account as well. The position of the window panel within the overall window is determined by the PanelPosition attribute.

    As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness.

    Figure 176 — Window panel properties

    " 1817;IfcWindowLiningProperties;"

    The window lining is the outer frame which enables the window to be fixed in position. The window lining is used to hold the window panels or other casements. The parameter of the IfcWindowLiningProperties define the geometrically relevant parameter of the lining.

    NOTE˙ The IfcWindowLiningProperties shall only be applied to construct the 3D shape of a window, if the attribute IfcWindowStyle.ParameterTakesPrecedence is set TRUE.

    The IfcWindowLiningProperties are included in the set of properties of IfcWindowStyle.HasPropertySets. More information about the window lining can be included in the same set of the IfcWindowStyle using another IfcPropertySet for dynamic extensions.

    HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcWindowLining in IFC Release 2x.
    IFC2x4 CHANGE˙ The following attributes have been added LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY. The attribute ShapeAspectStyle is deprecated and shall no longer be used. Supertype changed to new IfcPreDefinedPropertySet.

    Geometry use definitions

    The IfcWindowLiningProperties does not hold a geometric representation. However it defines parameters which can be used to create the shape of the window style (which is inserted by the IfcWindow into the spatial context of the project) as shown in Figure 175.

    The parameters at the IfcWindowLiningProperties define a standard window lining, including (if given) a mullion and a transom (for horizontal and vertical splits). The outer boundary of the lining is determined by the occurrence parameter assigned to the IfcWindow, which inserts the IfcWindowStyle.

    The lining is applied to all faces of the opening reveal. The parameter are:
    • LiningDepth
    • LiningThickness
    • LiningOffset
    • LiningToPanelOffsetX
    • LiningToPanelOffsetY
    • NOTE Parameters added in IFC2x4.
    Inner side is defined as the direction of the window panel opening operation.
    If the OperationType of the window style is
    • DoublePanelVertical (shown)
    • TriplePanelBottom
    • TriplePanelTop
    • TriplePanelLeft
    • TriplePanelRight
    the following additional parameter apply:
    • MullionThickness
    • FirstMullionOffset - measured as offset to the Z axis (in XZ plane)
    If the OperationType of the window style is
    • DoublePanelHorizontal
    • TriplePanelBottom
    • TriplePanelTop
    • TriplePanelLeft
    • TriplePanelRight
    the following additional parameter apply
    • TransomThickness
    • FirstTransomOffset measured as offset to the X axis (in XZ plane)
    If the OperationType of the window style is
    • TriplePanelVertical
    the following additional parameter apply
    • SecondMullionOffset
    If the OperationType of the window style is
    • TriplePanelHorizontal
    the following additional parameter apply
    • SecondTransomOffset

    Figure 175 — Window lining properties

    NOTE

    1. All offsets are given as a normalized ratio measure.
    " 1834;IfcPermeableCoveringProperties;"

    This entity is a description of a panel within a door or window (as fillers for opening) which allows for air flow. It is given by its properties (IfcPermeableCoveringProperties). A permeable covering is a casement, such as a component, fixed or opening, consisting essentially of a frame and the infilling. The infilling is normally a grill, a louver or a screen. The way of operation is defined in the operation type.

    The IfcPermeableCoveringProperties are included in the list of properties (HasPropertySets) of the IfcWindowStyle or the IfcDoorStyle. More information about the permeable covering can be included in the same list of the window or door style using the IfcPropertySet for dynamic extensions. This particularly applies for additional properties for the various operation types

    HISTORY New entity in IFC Release 2.0, it had been renamed from IfcPermeableCovering in IFC Release 2x.
    IFC2x4 CHANGE Supertype changed to new IfcPreDefinedPropertySet.

    Geometry use definitions

    The IfcPermeableCoveringProperties does not hold a geometric representation. However it defines parameters which can be used to create the shape of the IfcWindowStyle (which is inserted by the IfcWindow into the spatial context of the project), or of the IfcDoorStyle (which is inserted by the IfcDoor).

    The parameters at the IfcPermeableCoveringProperties define a standard permeable covering. The outer boundary of the panel is determined by the occurrence parameter assigned to the IfcWindow or IfcDoor. It has to take the lining parameter into account as well. The position of the permeable covering within the overall window or door is determined by the PanelPosition attribute.

    As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness.

    Figure 174 — Permeable covering properties

    " 1847;IfcFlowInstrument;"

    A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points.

    Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcFlowInstrument defines the occurrence of any flow instrument; common information about flow instrument types is handled by IfcFlowInstrumentType. The IfcFlowInstrumentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcFlowInstrumentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFlowInstrumentType has ports or aggregated elements, such objects are reflected at the IfcFlowInstrument occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFlowInstrumentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFlowInstrumentType.HasPropertySets. If both are given, then the properties directly defined at IfcFlowInstrument override the properties defined at IfcFlowInstrumentType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcFlowInstrument is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFlowInstrumentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcFlowInstrument are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the flow instrument occurrence is defined by IfcFlowInstrumentType, then the port occurrences must reflect those defined at the IfcFlowInstrumentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 1862;IfcActuator;"

    An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcActuator defines the occurrence of any actuator; common information about actuator types is handled by IfcActuatorType. The IfcActuatorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcActuatorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcActuatorType has ports or aggregated elements, such objects are reflected at the IfcActuator occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcActuatorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcActuatorType.HasPropertySets. If both are given, then the properties directly defined at IfcActuator override the properties defined at IfcActuatorType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcActuator is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcActuatorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Connection Use Definition

    The IfcActuator may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcActuator are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the actuator occurrence is defined by IfcActuatorType, then the port occurrences must reflect those defined at the IfcActuatorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 1874;IfcController;"

    A controller is a device that monitors inputs and controls outputs within a building automation system.

    A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller).

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcController defines the occurrence of any controller; common information about controller types is handled by IfcControllerType. The IfcControllerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcControllerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcControllerType has ports or aggregated elements, such objects are reflected at the IfcController occurrence using the IfcRelDefinesByObject relationship.

    Figure 177 illustrates controller type use.

    Figure 177 — Controller type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcControllerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcControllerType.HasPropertySets. If both are given, then the properties directly defined at IfcController override the properties defined at IfcControllerType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Composition Use Definition

    The IfcController may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcController and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • PROGRAMMABLE
      • May contain IfcController components. Programmable Logic Controllers may be decomposed into logical elements for values and operations.

    Material Use Definition

    The material of the IfcController is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcControllerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcController are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the controller occurrence is defined by IfcControllerType, then the port occurrences must reflect those defined at the IfcControllerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcController PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 178 illustrates controller port use.

    Figure 178 — Controller port use

    " 1886;IfcSensor;"

    A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcSensor defines the occurrence of any sensor; common information about sensor types is handled by IfcSensorType. The IfcSensorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcSensorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSensorType has ports or aggregated elements, such objects are reflected at the IfcSensor occurrence using the IfcRelDefinesByObject relationship.

    Figure 179 illustrates sensor type use.

    Figure 179 — Sensor type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSensorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSensorType.HasPropertySets. If both are given, then the properties directly defined at IfcSensor override the properties defined at IfcSensorType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcSensor is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSensorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Connection Use Definition

    The IfcSensor may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcSensor are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the sensor occurrence is defined by IfcSensorType, then the port occurrences must reflect those defined at the IfcSensorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcSensor PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 180 illustrates sensor port use.

    Figure 180 — Sensor port use

    " 1913;IfcAlarm;"

    An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device.

    Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcAlarm defines the occurrence of any alarm; common information about alarm types is handled by IfcAlarmType. The IfcAlarmType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAlarmType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAlarmType has ports or aggregated elements, such objects are reflected at the IfcAlarm occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAlarmType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAlarmType.HasPropertySets. If both are given, then the properties directly defined at IfcAlarm override the properties defined at IfcAlarmType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcAlarm is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAlarmType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAlarm are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the alarm occurrence is defined by IfcAlarmType, then the port occurrences must reflect those defined at the IfcAlarmType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 1926;IfcUnitaryControlElement;"

    A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat.

    A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcUnitaryControlElement defines the occurrence of any unitary control element; common information about unitary control element types is handled by IfcUnitaryControlElementType. The IfcUnitaryControlElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcUnitaryControlElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcUnitaryControlElementType has ports or aggregated elements, such objects are reflected at the IfcUnitaryControlElement occurrence using the IfcRelDefinesByObject relationship.

    Figure 181 illustrates unitary control element type use.

    Figure 181 — Unitary control element type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcUnitaryControlElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcUnitaryControlElementType.HasPropertySets. If both are given, then the properties directly defined at IfcUnitaryControlElement override the properties defined at IfcUnitaryControlElementType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcUnitaryControlElement is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcUnitaryControlElementType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Connection Use Definition

    The IfcUnitaryControlElement may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcUnitaryControlElement are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the unitary control element occurrence is defined by IfcUnitaryControlElementType, then the port occurrences must reflect those defined at the IfcUnitaryControlElementType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcUnitaryControlElement PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • THERMOSTAT
      • Control (CONTROL, SOURCE): Receives power (typically 24V), and closes the circuit for Fan, Heat, and Cool. Port may be aggregated into sub-ports: 'Fan'(SIGNAL,SOURCE), 'Heat'(SIGNAL,SOURCE), and 'Cool'(SIGNAL,SOURCE)

    Figure 182 illustrates unitary control element port use.

    Figure 182 — Unitary control element port use

    " 1941;IfcSensorType;"

    The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a sensor specification (i.e. the specific product information, that is common to all occurrences of that product type). Sensor types may be exchanged without being already assigned to occurrences. Occurrences of IfcSensorType are represented by instances of IfcSensor.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSensorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions.

    " 1944;IfcControllerType;"

    The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a controller specification (i.e. the specific product information, that is common to all occurrences of that product type). Controller types may be exchanged without being already assigned to occurrences. Occurrences of IfcControllerType are represented by instances of IfcController.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcControllerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Composition Use Definition

    The IfcControllerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcControllerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    • PROGRAMMABLE: May contain IfcController components. Programmable Logic Controllers may be decomposed into logical elements for values and operations.

    Port Use Definition

    The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions.

    " 1947;IfcActuatorType;"

    The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a actuator specification (i.e. the specific product information, that is common to all occurrences of that product type). Actuator types may be exchanged without being already assigned to occurrences. Occurrences of IfcActuatorType are represented by instances of IfcActuator.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcActuatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions.

    " 1950;IfcFlowInstrumentType;"

    The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a flow instrument specification (i.e. the specific product information, that is common to all occurrences of that product type). Flow Instrument types may be exchanged without being already assigned to occurrences. Occurrences of IfcFlowInstrumentType are represented by instances of IfcFlowInstrument.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFlowInstrumentType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions.

    " 1953;IfcAlarmType;"

    The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a alarm specification (i.e. the specific product information, that is common to all occurrences of that product type). Alarm types may be exchanged without being already assigned to occurrences. Occurrences of IfcAlarmType are represented by instances of IfcAlarm.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcAlarmType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions.

    " 1956;IfcUnitaryControlElementType;"

    The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a unitary control element specification (i.e. the specific product information, that is common to all occurrences of that product type). Unitary Control Element types may be exchanged without being already assigned to occurrences. Occurrences of IfcUnitaryControlElementType are represented by instances of IfcUnitaryControlElement.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcUnitaryControlElementType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions.

    " 1960;IfcStructuralItem;"

    Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions).

    Relationships between elements in the building model and structural items as their idealizations can be expressed by instances of IfcRelAssignsToProduct.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Use definitions and informal proposition added.

    Coordinate Systems:

    The following coordinate systems are distinguished:

    • The so-called global coordinate system is the coordinate system shared by all items and activities which are grouped in a common IfcStructuralAnalysisModel. This coordinate system is established by SELF\IfcProduct.ObjectPlacement. (This coordinate system is not necessarily the same as the IfcProject's world coordinate system.)
    • The so-called local coordinate system is a coordinate system local to a structural item (connection or member). This coordinate system is established by a Representation (attribute inherited from IfcProduct) in conjunction with further use definitions and attributes of subtypes of IfcStructuralItem.

    Representation items in topology representations are always given within the ObjectPlacement, i.e. in so-called global coordinates (global with respect to the IfcStructuralAnalysisModel to which this item belongs).

    The usage of local coordinate systems is further defined in subtypes.

    Topology Use Definitions:

    Instances of IfcStructuralItem shall have a topology representation. It includes a placement and a product representation. The IfcProductRepresentation shall be given by an item in a Representation of type IfcTopologyRepresentation.

    Local Placement

    The local placement for IfcStructuralActivity is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which establishes a global coordinate system which shall be common to all items and activities in an IfcStructuralAnalysisModel.

    Topology Representation

    Instances of IfcStructuralItem shall have a topology representation given by an instance of a subtype of IfcTopologicalRepresentationItem, which should be the single item of IfcTopologyRepresentation.Items. Depending on the dimensionality of the structural item, one of the following types of toplogical representation items shall be used:

    • Point connections shall be represented by an IfcVertexPoint with an underlying IfcCartesianPoint. The Cartesian point is the reference point of the connection in the so-called global coordinate system. The following labels are used in the IfcTopologyRepresentation:
      • RepresentationIdentifier: 'Reference'
      • RepresentationType: 'Vertex'

    • Curve members and curve connections shall either be represented by an IfcOrientedEdge, IfcEdgeCurve, or IfcEdge. The curve to which the IfcEdgeCurve (or an IfcOrientedEdge's underlying IfcEdgeCurve) refers to is the reference curve of the structural item in the global coordinate system. Start and end vertex of the edge shall be IfcVertexPoints with underlying IfcCartesianPoints. The following labels are used in the IfcTopologyRepresentation:
      • RepresentationIdentifier: 'Reference'
      • RepresentationType: 'Edge'
      NOTE  While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point.
    • Surface members and surface connections shall be represented by an IfcFaceSurface. The underlying surface defeines the reference surface of the structural surface item in the global coordiante system. All edges in the bounds of the face shall conform to the rules for edge representations of structural curve item. The following labels are used in the IfcTopologyRepresentation:
      • RepresentationIdentifier: 'Reference'
      • RepresentationType: 'Face'

    The reference point, reference curve, or reference surface partially or completely defines the local coordinate system of the represented structural item according to the following rules. In all cases, The local x,y,z directions form a right-handed Cartesian coordinate system.

    Structural point items

    • The reference point in the representation is the origin of the local coordinate system of the structural item.
    • The axes of the local coordiante system are either parallel with and directed like the so-called global coordinate axes, or are oriented according to definitions at the respective subtype of IfcStructuralItem.

    Structural curve items

    • The u parameter origin of the reference curve in the representation is the origin of the local coordinate system of the structural item.
    • The local x axis is parallel with the tangent on the curve and directed like the u parameter direction.
    • The local y and z axes are oriented according to definitions at the respective subtypes of IfcStructuralItem.

    Structural surface items

    • The u,v parameter origin of the reference surface in the representation is the origin of the local coordinate system of the structural item.
    • The local x and y directions follow the tangents on the surface and are in parallel with and directed like u and v respectively.
    • The local z direction is in parallel with and directed like the surface normal.

    Informal propositions:

    1. The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement.
    NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement.
    NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement.
    " 1964;IfcStructuralMember;"

    Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Use definitions moved to supertype and subtypes.
    " 1968;IfcStructuralCurveMember;"

    Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attribute Axis and WHERE rule added. Use definitions changed.

    Coordinate Systems:

    See definitions at IfcStructuralItem. The local coordinate system is established by the reference curve given by topology representation and by the attribute Axis. The local x axis is parallel with the tangent on the reference curve. The local z axis is located in the surface which is created by sweeping Axis along the reference curve and is directed according to Axis. The local y axis is directed such that x,y,z form a right-handed Cartesian coordinate system.

    Material Use Definition

    The material of direct instances IfcStructuralCurveMember (in contrast to instances of the subtype IfcStructuralCurveMemberVarying) is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile beams can be represented by refering to several IfcMaterialProfiles within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage. In case of tapered members, the material profile usage subtype IfcMaterialProfileSetUsageDual is used which specifies IfcMaterialProfileSets separately at the start and the end of the tapered member.

    The material (IfcMaterial) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural material designation. An external reference to the source which specifies the material designation should be provided. Alternatively, structural material properties may be provided by means of IfcMechanicalMaterialProperties and IfcExtendedMaterialProperties.

    The profile (IfcProfileDef) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural profile designation. An external reference to the source which specifies the profile designation should be provided. Alternatively or additionally, explicit profile geometry should be provided by using respective subtypes of IfcProfileDef. Alternatively or additionally, structural profile properties may be provided by means of subtypes of IfcProfileProperties.

    An IfcProfileDef is a two-dimensional geometric object with a xp,yp coordinate system. The profile is inserted into the curve member model thus that the origin of xp,yp is located at the member's reference curve and that xp,yp are parallel with and directed like the local y,z.

    NOTE  Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase.

    If the profile is meant to be inserted centrically in terms of structural section properties, it is necessary that the origin of xp,yp is identical with the geometric centroid of the profile (commonly also called centre of gravity). If subtypes of IfcParameterizedProfileDef are used which are only singly symmetric or are asymmetric, an explicit translation by IfcParameterizedProfileDef.Position.Location is required then.

    If the profile is inserted at its geometric centroid, IfcMaterialProfileSetUsage.CardinalPoint shall be set to 10.

    Otherwise, the profile is inserted eccentrically and a different cardinal point should be set accordingly.

    NOTE  Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements.

    Topology Use Definitions:

    Direct instances of IfcStructuralCurveMember shall have a topology representation which consists of one instance of IfcEdge or a subtype, representing the reference curve of the curve member. See definitions at IfcStructuralItem for further specifications.

    Informal propositions:

    1. The reference curve must not be parallel with Axis at any point within the curve member's domain.
    " 1973;IfcStructuralCurveMemberVarying;"

    Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates.

    NOTE  A curve member whose variation of profile properties can be sufficiently described by a start profile and an end profile (e.g. tapers) shall be modeled as a single direct instance of the supertype IfcStructuralCurveMember.
    NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralCurveMemberVarying but only with the IfcStructuralCurveMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided.
    HISTORY: New entity in IFC 2x2.
    Use definition changed in IFC 2x4.

    Coordinate Systems:

    See definitions at IfcStructuralItem and IfcStructuralCurveMember. The local coordinates of the aggregate are derived from those of its parts. Length measures in local x direction of the aggregate depend on continuity and lengths of the parts. The Axis of the aggregate shal be the same as the Axis of the part at the start of the aggregate.

    Material Use Definition

    Only the individual parts (direct instances of IfcStructuralCurveMember) carry material and profile information.

    Topology Use Definitions:

    Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts.

    " 1982;IfcStructuralSurfaceMember;"

    Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Use definitions changed, WHERE rule added.

    Coordinate Systems:

    See definitions at IfcStructuralItem. The local coordinate system is established by the reference surface given by topology representation.

    Material Use Definition

    The material of direct instances IfcStructuralSurfaceMember (in contrast to instances of the subtype IfcStructuralSurfaceMemberVarying) is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

    The material is specified minimally by a name which corresponds with an agreed upon standardized structural material designation. An external reference to the source which specifies the material designation should be provided. Alternatively, structural material properties may be provided by means of IfcMechanicalMaterialProperties and IfcExtendedMaterialProperties.

    Direct instances of IfcStructuralSurfaceMember are assumed to be located centrically relative to their reference surface. Their depth is provided in the attribute Thickness.

    Topology Use Definitions:

    Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications.

    " 1987;IfcStructuralSurfaceMemberVarying;"

    Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates.

    NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralSurfaceMemberVarying but only with the IfcStructuralSurfaceMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided.
    HISTORY: New entity in IFC 2x2.
    Use definition changed and attributes deleted in IFC 2x4.

    Coordinate Systems:

    See definitions at IfcStructuralItem and IfcStructuralSurfaceMember. The local coordinates of an aggregate are generally undefined since continuity of local coordinates of the parts is not ensured.

    Material Use Definition

    In case of aggregation, only the individual parts (direct instances of IfcStructuralSurfaceMember) carry material and thickness information. Otherwise, definitions at IfcStructuralSurfaceMember apply.

    Topology Use Definitions:

    In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply.

    " 1994;IfcRelConnectsStructuralMember;"

    The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports).

    HISTORY  New entity in IFC2x2.

    Use Definition

    Point Connection
    Instances of the entity IfcRelConnectsStructuralMember shall be used to describe a connection between an instance of IfcStructuralPointConnection and either an instance of IfcStructuralCurveMember or IfcStructuralSurfaceMember. The RelatedStructuralConnection for point connections has to be of type IfcStructuralPointConnection.

    Curve Connection
    Instances of the entity IfcRelConnectsStructuralMember shall be used to describe a connection between an instance of IfcStructuralCurveConnection and an instance of either IfcStructuralCurveMember or IfcStructuralSurfaceMember. The RelatedStructuralConnection for curve connections has to be of type IfcStructuralCurveConnection.

    Surface Connection
    Instances of the entity IfcRelConnectsStructuralMember shall be used to describe a connection between an instance of IfcStructuralSurfaceConnection and an instance of IfcStructuralSurfaceMember. The RelatedStructuralConnection for curve connections has to be of type IfcStructuralSurfaceConnection.

    Coordinate System for Applied Conditions
    All values defined by AppliedCondition or AdditionalConditions are given within the coordinate system provided by ConditionCoordinateSystem, which is defined relative to the local coordinate system of the structural member. If the ConditionCoordinateSystem is not defined, the local coordinate system of the structural member is used instead.

    Supported Length
    Optionally a supported length can be given, which specifies the length (or width) of the physical connection along a curve connection.

    Figure 235 illustrates the appropriate definition of support lengths.

    Figure 235 — Structural member support lengths

    " 2002;IfcRelConnectsStructuralActivity;"

    Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element.

    HISTORY: New entity in IFC 2x2.
    " 2008;IfcStructuralAnalysisModel;"

    Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results.

    Important functionalities for the description of an analysis model are derived from existing IFC entities:

    • From IfcSystem it inherits the ability to couple the analysis model via IfcRelServicesBuildings to one or more IfcBuildings as necessary.
    • From IfcGroup it inherits the inverse attribute IsGroupedBy, pointing to the relationship class IfcRelAssignsToGroup. This allows to group structural members (instances of IfcStructuralMember), and supports (instances of IfcStructuralConnection) which belong to a specific analysis model.
      NOTE: Loads (as instances of IfcStructuralAction) are not included through IsGroupedBy. Loads are assigned through the LoadedBy attribute relationship, using load groups as a grouping mechanism. Only top-level load groups should be referenced via LoadedBy, i.e. load combinations if any load combinations exist, or load cases if no load combinations exist in this analysis model.
      NOTE: Results (as instances of IfcStructuralReaction) are not included through IsGroupedBy. Results are assigned through the HasResults attribute relationship, using result groups as a grouping mechanism.
    • From IfcObject it inherits the inverse attribute IsDecomposedBy pointing to the relationship class IfcRelNests. It provides the hierarchy between the separate (partial) analysis models.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attribute SharedPlacement and informal propositions added, allowing for easy retrieval of the common object placement and for specification of the analysis model's coordiante system before any structural item is instantiated. WHERE rule added.

    Informal propositions:

    1. If one or more structural item (instance of a subtype of IfcStructuralItem) is grouped into an IfcStructuralAnalysisModel, the attribute SharedPlacement shall be provided with a value.
    2. The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement as IfcStructuralAnalysisModel.SharedPlacement.
    NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement.
    NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement.
    " 2021;IfcStructuralLoadGroup;"

    Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the physical impacts. By using the grouping features inherited from IfcGroup, instances of IfcStructuralAction (or its subclasses) and of IfcStructuralLoadGroup can be used to define load groups, load cases and load combinations. (See also IfcLoadGroupTypeEnum.)

    NOTE: Important functionality for the description of a load-bearing system is derived from the existing IFC entity IfcGroup. This class provides, via the relationship class IfcRelAssignsToGroup, the needed grouping mechanism. In this way, instances of IfcStructuralAction belonging to a specific load group can be unambiguously determined.
    NOTE: The relationship class IfcRelAssignsToGroupByFactor is used to group load cases into load combinations. The factor provided in this assignment relationship is to applied together with the optional IfcStructuralLoadGroup.Coefficient. Unlike this coefficient which always affects the load group, the IfcRelAssignsToGroupByFactor.Factor is specific for a load case—load combination pair. As many instances of IfcRelAssignsToGroupByFactor are used within one load combination as there are different Factors to be applied to load cases in the load combination.
    On the other hand, a load case may appear in more than one load combination and can have a different Factor in each assignment by IfcRelAssignsToGroupByFactor.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Subtype IfcStructuralLoadCase added. Informal propositions and WHERE rule added. Predefined type LOAD_COMBINATION_GROUP made obsolete and removed.

    Informal propositions:

    1. Load groups of type LOAD_GROUP shall only contain instances of IfcStructuralAction.
    2. Load groups of type LOAD_CASE shall always be instantiated from the subtype IfcStructuralLoadCase, not directly from the generic type IfcStructuralLoadGroup itself.
    3. Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP.
    4. Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase.
    " 2031;IfcStructuralResultGroup;"

    Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: WHERE rule added.
    " 2044;IfcStructuralLoadCase;"

    Definition from IAI: A load case is a load group, commonly used to group loads from the same action source.

    HISTORY: New entity in IFC 2x4.
    " 2087;IfcStructuralActivity;"

    Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource.

    The differentiation between actions and reactions is realized by instantiating objects either from subclasses of IfcStructuralAction or IfcStructuralReaction respectively. They inherit commonly needed attributes from the abstract superclass IfcStructuralActivity, notably the relationship which connects actions or reactions with connections, analysis members, or elements (subtypes of IfcStructuralItem or IfcElement).

    NOTE  Instances of IfcStructuralActivity which are connected with an IfcElement are subject to agreements outside the scope of this specification.
    NOTE  The semantics of IfcStructuralActivity are only fully defined if an activity instance is connected with exactly one structural item. The inverse attribute AssignedToStructuralItem can only be empty in incomplete models or in conceptual models which are not yet ready for analysis.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Cardinality of attribute AssignedToStructuralItem relaxed from 1 to 0..1 in order to allow for schema-compliant incomplete models as well as conceptual models without load—item relationships.

    Coordinate Systems:

    The following coordinate systems are distinguished:

    • The so-called global coordinate system is the coordinate system shared by all items and activities which are grouped in a common IfcStructuralAnalysisModel. This coordinate system is established by an ObjectPlacement. (This coordinate system is not necessarily the same as the IfcProject's world coordinate system.)
    • The so-called local coordinate system is a coordinate system local to a structural item (connection or member). This coordinate system is established by a Representation in conjunction with further use definitions and attributes of subtypes of IfcStructuralItem.

    Representation items in topology representations are always given within the ObjectPlacement, i.e. in so-called global coordinates (global with respect to the IfcStructuralAnalysisModel to which this activity belongs).

    Locations of the load objects in the AppliedLoad attribute (if of type IfcStructuralLoadConfiguration) are always given in local coordinates.

    Directions of the load objects in the AppliedLoad attribute refer to global or local coordinates according to the GlobalOrLocal attribute.

    The ObjectPlacement and Representation are sometimes not explicitly instantiated; instead they may be implied as described below. Global and local coordinate systems are then determined in the same way as with explicit placement and representation.

    Topology Use Definitions:

    Instances of IfcStructuralActivity which are connected with a structural item of same dimensionality, i.e.

    • a point action or reaction connected with a point item (IfcStructuralPointConnection),
    • a curve action or reaction connected with a curve item (IfcStructuralCurveConnection, IfcStructuralCurveMember), or
    • a surface action or reaction connected with a surface item (IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember) and which acts on the entire surface of the item and is not specified by isocontours

    shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the IfcStructuralActivity is the same as the ones of the IfcStructuralItem.

    Instances of IfcStructuralActivity which are connected with

    • a curve item (IfcStructuralCurveConnection, IfcStructuralCurveMember) and act on a point of the item
    • , or
    • a surface item (IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember) and act on a point or on a curve or on a part of the surface of the item

    shall have a topology representation as specified below. It includes a placement and a product representation. The IfcProductRepresentation shall be given by an item in a Representation of type IfcTopologyRepresentation.

    Instances of IfcStructuralActivity which are connected with

    • a surface item (IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember) and are specified by isocontours

    shall have a shape representation as specified below. It includes a placement and a product representation. The IfcProductRepresentation shall be given by items in a Representation of type IfcShapeRepresentation. Shape representation and topology representation may be combined.

    Local Placement

    The local placement for IfcStructuralActivity is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which establishes a global coordinate system which shall be common to all items and activities in an IfcStructuralAnalysisModel.

    Topology Representation

    Instances of IfcStructuralActivity which act on parts of a surface item shall have a topology representation given by a face with underlying surface geometry, IfcFaceSurface, which should be the single item of IfcTopologyRepresentation.Items. The surface establishes a local coordinate system of the activity:

    • The origin of surface parameters u,v is the origin of the local coordinate system.
    • The local x and y directions follow the tangents on the surface and are in parallel with and directed like u and v respectively.
    • The local z direction is in parallel with and directed like the surface normal.
    • RepresentationIdentifier: 'Reference'
    • RepresentationType: 'Face'

    Instances of IfcStructuralActivity which act on a curve on a surface item shall have a topology representation given by an edge (IfcEdge or subtype), which should be the single item of IfcTopologyRepresentation.Items. The curve geometry shall be compatible with the surface geometry of the connected item. In conjunction with this surface, the curve establishes a local coordinate system of the activity:

    • The origin of the curve parameter u is the origin of the local coordinate system.
    • The local x direction follows the tangent on the curve and is directed like u.
    • The local z direction is in parallel with and directed like the surface normal of the connected surface item.
    • The local x,y,z directions form a right-handed Cartesian coordinate system.
    • RepresentationIdentifier: 'Reference'
    • RepresentationType: 'Edge'
    NOTE  While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point.

    Instances of IfcStructuralActivity which act on a single point on a curve or surface item shall have a topology representation given by an IfcVertexPoint, which should be the single item of IfcTopologyRepresentation.Items. The point geometry shall be compatible with the curve or surface geometry of the connected item. The local coordinate system of the activity is oriented by the curve or surface geometry of the connected item as described above for activities with edge or face topology.

    • RepresentationIdentifier: 'Reference'
    • RepresentationType: 'Vertex'

    Shape Representation

    Instances of IfcStructuralActivity which act on a surface item and are specified by isocontours (level sets) shall have a shape representation given by a set of curves on a surface, IfcPCurve. The basis surface shall comply with or preferably be identical with the surface of the structural item to which the activity is connected. The representation identifier and type of this geometric representation is:

    • RepresentationIdentifier: 'Level set'
    • RepresentationType: 'GeometricCurveSet'
    " 2093;IfcStructuralAction;"

    Definition from IAI: A structural action is a structural activity that acts upon a structural item or building element.

    HISTORY  New entity in IFC 2x2.
    IFC 2x4 change: Attribute DestabilizingLoad made optional. Attribute CausedBy deleted; use IfcRelAssignsToProduct via ReferencedBy instead.

    Structural actions are grouped into either an IfcStructuralLoadGroup of predefined type LOAD_GROUP or, more often, an IfcStructuralLoadCase. This is accomplished via the inverse relationship HasAssignments and an IfcRelAssignsToGroup relationship object. IfcStructuralLoadGroup.LoadGroupFor or IfcStructuralLoadCase.LoadGroupFor respectively refers to the structural analysis model(s) in which the loads are used.

    It is furthermore possible to establish relationships between actions in one analysis model and reactions in another analysis model which cause the actions. For example, a support reaction from one structural system may be taken over as a load onto another supporting structural system. This is expressed by means of the inverse relationship ReferencedBy of the action and an IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of IfcStructuralReaction.

    " 2098;IfcStructuralPointAction;"

    Definition from IAI: Defines an action which acts on a point. A point action is typically connected with a point connection. It may also be connected with a curve member or curve connection, or surface member or surface connection.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attributes in the supertypes IfcStructuralActivity and IfcStructuralAction changed. Use definitions changed, informal propositions added.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    Standard Case:
    If connected with a point item, instances of IfcStructuralPointAction shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the action is the same as the structural item.

    Special Case 1:
    If connected with a curve item or surface item, instances of IfcStructuralPointAction shall have an ObjectPlacement and Representation, containing an IfcVertexPoint. See IfcStructuralActivity for further definitions.

    NOTE In order to model concentrated actions on a curve or surface item, IfcStructuralCurveAction or IfcStructuralSurfaceAction of type DISCRETE is preferable since they do not require an extra topology representation in this case. An IfcStructuralPointAction should be used for a concentrated action on a curve or surface item only when an explicit vertex point representation is actually desired.

    Special Case 2:
    If not connected with a structural item (which may happen in an incomplete or conceptual model), a point action should have an ObjectPlacement and Representation, containing an IfcVertexPoint. See IfcStructuralActivity for further definitions.

    Informal propositions:

    1. SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadSingleForce or IfcStructuralLoadSingleDisplacement.
    " 2099;IfcStructuralCurveAction;"

    Definition from IAI: Defines an action which is distributed over a curve. A curve action may be connected with a curve member or curve connection, or surface member or surface connection.

    HISTORY: New entity in IFC 2x4.
    IFC 2x4 change: Former entitiy IfcStructuralLinearActionVarying from IFC 2x2 has been removed and are replaced by this entity.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    Standard Case:
    If connected with a curve item, instances of IfcStructuralCurveAction shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the IfcStructuralActivity is the same as the ones of the member or connection.

    Special Case 1:
    If connected with a surface item, instances of IfcStructuralCurveAction shall have an ObjectPlacement and Representation, containing an IfcEdgeCurve. See IfcStructuralActivity for further definitions.

    Special Case 2:
    If not connected with a structural item (which may happen in an incomplete or conceptual model), a curve action should have an ObjectPlacement and Representation, containing an IfcEdgeCurve. See IfcStructuralActivity for further definitions.

    Informal propositions:

    1. If the curve action is of the predefined type CONST, SINUS, or PARABOLA, SELF\IfcStructuralActivity.AppliedLoad must not be of type IfcStructuralLoadConfiguration. In case of SINUS and PARABOLA, the load item defines the maximum of the load at the centre of the load distribution.
    2. If the curve action is of the predefined type LINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two items.
    3. If the curve action is of the predefined type POLYGONAL, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three or more items.
    4. If the curve action is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items.
    5. In case of types LINEAR, POLYGONAL, and DISCRETE, the load items shall have one-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the load samples in local coordinates of the curve action. The load items shall be provided in ascending order according to their locations. The first and the last load item define the extent of the load distribution.
    6. Point actions must be of type DISCRETE, thus contain two or more load points. (Single point loads are modeled by IfcStructuralPointAction.)
    7. All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type.
    " 2106;IfcStructuralLinearAction;"

    Definition from IAI: Defines an action with constant value which is distributed over a curve.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added.
    NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges.
    " 2121;IfcStructuralSurfaceAction;"

    Definition from IAI: Defines an action which is distributed over a surface. A surface action may be connected with a surface member or surface connection.

    HISTORY: New entity in IFC 2x4.
    IFC 2x4 change: Former entity IfcStructuralPlanarActionVarying from IFC 2x2 has been removed and are replaced by this entity.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    Standard Case:
    If connected with a surface item and acting on its entirety, instances of IfcStructuralCurveAction shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the IfcStructuralActivity is the same as the ones of the member or connection.

    Special Case 1:
    If connected with a surface item but acting only on a part of it, instances of IfcStructuralSurfaceAction shall have an ObjectPlacement and Representation, containing an IfcFaceSurface which topologically defines the loaded part of the surface. See IfcStructuralActivity for further definitions.

    Special Case 2:
    If not connected with a structural item (which may happen in an incomplete or conceptual model), a surface action should have an ObjectPlacement and Representation, containing an IfcFaceSurface. See IfcStructuralActivity for further definitions.

    Informal propositions:

    1. If the surface action is of the predefined type CONST, SELF\IfcStructuralActivity.AppliedLoad must not be of type IfcStructuralLoadConfiguration.
    2. If the surface action is of the predefined type BILINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three items with two-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the load samples in local coordinates of the surface action.
    3. If the surface action is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items with two-dimensional locations.
    4. Point loads must be of type DISCRETE, thus contain two or more load points. (Single point loads are modeled by IfcStructuralPointLoad.)
    5. All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type.
    " 2127;IfcStructuralPlanarAction;"

    Definition from IAI: Defines an action with constant value which is distributed over a surface.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added.
    NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces.
    " 2136;IfcStructuralReaction;"

    Definition from IAI: A structural reaction is a structural activity that results from a structural action imposed to a structural item or building element. Examples are support reactions, internal forces, and deflections.

    HISTORY  New entity in IFC 2x2.
    IFC 2x4 change: Inverse attribute Causes deleted; use IfcRelAssignsToProduct via HasAssignments instead.

    Structural reactions are grouped into IfcStructuralResultGroups via the inverse relationship HasAssignments and an IfcRelAssignsToGroup relationship object. IfcStructuralResultGroup.ResultGroupFor finally refers to the structural analysis model in which the results occur.

    It is furthermore possible to establish relationships between reactions in one analysis model and actions which they cause in another analysis model. For example, a support reaction from one structural system may be taken over as a load onto another supporting structural system. This is expressed by means of the inverse relationship HasAssignments of the reaction and an IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of IfcStructuralAction.

    " 2140;IfcStructuralPointReaction;"

    Definition from IAI: Defines a reaction which occurs at a point. A point reaction is typically connected with a point connection. It may also be connected with a curve member or curve connection, or surface member or surface connection.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attributes in the supertypes IfcStructuralActivity and IfcStructuralReaction changed. Use definitions changed, informal propositions added.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    Standard Case:
    If connected with a point item, instances of IfcStructuralPointReaction shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the reaction is the same as the structural item.

    Special Case 1:
    If connected with a curve item or surface item, instances of IfcStructuralPointReaction shall have an ObjectPlacement and Representation, containing an IfcVertexPoint. See IfcStructuralActivity for further definitions.

    NOTE In order to model concentrated reactions on a curve or surface item, IfcStructuralCurveReaction or IfcStructuralSurfaceAction of type DISCRETE is preferable since they do not require an extra topology representation in this case. An IfcStructuralPointReaction should be used for a concentrated reaction on a curve or surface item only when an explicit vertex point representation is actually desired.

    Special Case 2:
    If not connected with a structural item (which may happen in an incomplete or conceptual model), a point action should have an ObjectPlacement and Representation, containing an IfcVertexPoint. See IfcStructuralActivity for further definitions.

    Informal propositions:

    1. SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadSingleForce or IfcStructuralLoadSingleDisplacement.
    " 2141;IfcStructuralCurveReaction;"

    Definition from IAI: Defines a reaction which occurs distributed over a curve. A curve reaction may be connected with a curve member or curve connection, or surface member or surface connection.

    HISTORY: New entity in IFC 2x4.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    Standard Case:
    If connected with a curve item, instances of IfcStructuralCurveRection shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the IfcStructuralActivity is the same as the ones of the member or connection.

    Special Case:
    If connected with a surface item, instances of IfcStructuralCurveReaction shall have an ObjectPlacement and Representation, containing an IfcEdgeCurve. See IfcStructuralActivity for further definitions.

    Informal propositions:

    1. If the curve reaction is of the predefined type CONST, SELF\IfcStructuralActivity.AppliedLoad must not be of type IfcStructuralLoadConfiguration.
    2. If the curve reaction is of the predefined type LINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two items.
    3. If the curve reaction is of the predefined type POLYGONAL, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three or more items.
    4. If the curve action is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items.
    5. In case of types LINEAR, POLYGONAL, and DISCRETE, the load items shall have one-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the result samples in local coordinates of the curve reaction. The load items shall be provided in ascending order according to their locations. The first and the last load item define the extent of the result distribution.
    6. If the curve reaction is of the predefined type EQUIDISTANT, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items. IfcStructuralLoadConfiguration.Locations shall be omitted as it is implicit. The load items shall be provided in ascending order. The first and the last load item are located at the beginning and end of the result distribution, respectively.
    7. All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type.
    " 2145;IfcStructuralSurfaceReaction;"

    Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection.

    HISTORY: New entity in IFC 2x4.

    Coordinate Systems:

    See definitions at IfcStructuralActivity.

    Topology Use Definitions:

    See definitions at IfcStructuralActivity.

    Informal propositions:

    1. If the surface reaction is of the predefined type CONST, SELF\IfcStructuralActivity.AppliedLoad must not be of type IfcStructuralLoadConfiguration.
    2. If the surface reaction is of the predefined type BILINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three items with two-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the result samples in local coordinates of the surface reaction.
    3. If the surface reaction is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items with two-dimensional locations.
    4. If the surface reaction is of the predefined type ISOCONTOUR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain the same number of items as the set SELF.IfcProduct.Representation.Representations[?].Items. Each item in the load configuration shall have a two-dimensional location, defining the location of the result samples in local coordinates of the surface reaction. Each item in SELF\IfcStructuralActivity.AppliedLoad shall be located at exactly one of the isocontours.
      NOTE  The set of representation items is unordered, hence result locations are required to correlate result values and isocontours.
      NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical.
    5. All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type.
    " 2148;IfcRelConnectsWithEccentricity;"

    Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support).

    NOTE  Another eccentricity model is available independently of eccentric connection specification: The section profile of a curve member may be inserted eccentrically with respect to the member's reference curve, see definitions at IfcStructuralCurveMember. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements.
    HISTORY  New entity in IFC 2x3.
    Use definitions changed in IFC 2x4 to always require two topology items.

    Use Definition

    Point Connection
    ConnectionConstraint shall be of type IfcConnectionPointGeometry and shall refer to two instances of IfcVertexPoint.

    Curve Connection
    ConnectionConstraint shall be of type IfcConnectionCurveGeometry and shall refer to two instances of IfcEdge or subtypes.

    Surface Connection
    ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface.

    " 2150;IfcStructuralConnection;"

    Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports.

    HISTORY: New entity in IFC 2x2.
    " 2156;IfcStructuralCurveConnection;"

    Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attribute Axis added, allowing for skewed supports. Use definitions added.

    Coordinate Systems:

    See definitions at IfcStructuralItem. The local coordinate system is established by the reference curve given by topology representation and by the attribute Axis. The local x axis is parallel with the tangent on the reference curve. The local z axis is located in the surface which is created by sweeping Axis along the reference curve and is directed according to Axis. The local y axis is directed such that x,y,z form a right-handed Cartesian coordinate system.

    Topology Use Definitions:

    Instances of IfcStructuralCurveConnection shall have a topology representation which consists of one instance of IfcEdge or a subtype, representing the reference curve of the curve connection. See definitions at IfcStructuralItem for further specifications.

    Informal propositions:

    1. The reference curve must not be parallel with Axis at any point within the curve connections's domain.
    " 2158;IfcStructuralPointConnection;"

    Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attribute ConditionCoordinateSystem added, allowing for skewed supports. Use definitions added.

    Coordinate Systems:

    See definitions at IfcStructuralItem. The local coordinate system is established by the reference point given by topology representation and by the attribute ConditionCoordinateSystem.

    Topology Use Definitions:

    Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications.

    " 2160;IfcStructuralSurfaceConnection;"

    Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved.

    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Use definitions added.

    Coordinate Systems:

    See definitions at IfcStructuralItem. The local coordinate system is established by the reference surface given by topology representation.

    Topology Use Definitions:

    Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications.

    " 2166;IfcGeometricRepresentationContext;"

    Definition from ISO/CD 10303-42:1992: A geometric representation context is a representation context in which the geometric representation items are geometrically founded. A geometric representation context is a distinct coordinate space, spatially unrelated to other coordinate spaces.

    IfcGeometricRepresentationContext defines the context that applies to several shape representations of products within a project. It defines the type of the context in which the shape representation is defined, and the numeric precision applicable to the geometric representation items defined in this context. In addition it can be used to offset the project coordinate system from a global point of origin, using the WorldCoordinateSystem attribute.

    As shown in Figure 329, the TrueNorth attribute should be provided if the y axis of the WorldCoordinateSystem does not point to the global northing. Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system as established by the attribute WorldCoordinateSystem. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to [0.,1.] - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. The direction is provided within project coordinate system and identifies the true north direction (see figure).

    Figure 329 — Geometric representation context true north

    NOTE ˙The inherited attribute ContextType shall have one of the following recognized values: 'Sketch', 'Outline', 'Design', 'Detail', 'Model', 'Plan', 'NotDefined'.

    The use of one instance of IfcGeometricRepresentationContext to represent the model (3D) view is mandatory, the use of a second instance of IfcGeometricRepresentationContext to represent the plan (2D) view is optional (but needs to be given, if there are scale dependent plan views), the additional scale or view dependent contexts need to be handled by using the subtype IfcGeometricRepresentationSubContext pointing to the model view (or the plan view) as the ParentContext.

    Figure 330 illustrates use of representation contexts defined at IfcProject for 3D model and 2D plan context, including sub context definitions for different target scales.

    Figure 330 — Geometric representation context use

    NOTE  The definition of this class relates to the ISO 10303 entity geometric_representation_context. Please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard.
    HISTORY ˙New Entity in IFC Release 2.0
    IFC2x3 CHANGE ˙Applicable values for ContextType are only 'Model',˙ 'Plan', and˙'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed.
    " 2174;IfcRepresentationContext;"

    Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related.

    The IfcRepresentationContext defines the context to which the IfcRepresentation of a product is related.

    NOTE  The definition of this class relates to the ISO 10303 entity representation_context. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC Release 1.5.
    IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since IFC2x2.
    " 2179;IfcRepresentation;"

    Definition from ISO/CD 10303-43:1992: A representation is one or more representation items that are related in a specified representation context as the representation of some concept.

    IfcRepresentation defines the general concept of representing product properties.

    Representation Use Definition

    Each representation, either IfcShapeRepresentation, or IfcTopologyRepresentation shall have a well defined:

    • ContextOfItems: Reference to an IfcGeometricRepresentationContext as agreed for this representation.
    • RepresentationIdentifier: Name of the representation, for example, 'Body' for 3D shape, 'FootPrint' for 2D ground view, 'Axis' for reference axis.
    • RepresentationType: Name for the geometric, or topological representation type, for example, 'SweptSolid' for 3D swept solids, 'Brep' for boundary representation.

    Values and guidelines for these three items are provided in the geometry use definition section at each subtype of IfcElement, or in view definitions / implementer agreements.

    NOTE ˙The definition of this entity relates to the ISO 10303 entity representation. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC Release 2.0
    IFC2x3 CHANGE  The inverse attributes LayerAssignments andRepresentationMap have been added with upward compatibility.
    IFC2x4 CHANGE  Entity IfcRepresentation has been changed into an ABSTRACT supertype.
    " 2189;IfcStyleModel;"

    IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context.

    IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context).

    HISTORY  New entity in IFC2x3.
    " 2191;IfcStyledRepresentation;"

    The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context.

    NOTE  Current usage of IfcStyledRepresentation is restricted to the assignment of presentation information to an material. The IfcStyledRepresentation includes only presentation styles (IfcCurveStyle, FillAreaStyle, IfcSurfaceStyle) that define how a material should be presented within a particular (eventually view and scale dependent) representation context. All instances of IfcStyledRepresentation are referenced by IfcMaterialDefinitionRepresentation, and assigned to IfcMaterial by IfcMaterialDefinitionRepresentation.RepresentedMaterial.

    A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled.

    HISTORY  New entity in IFC2x2.
    " 2193;IfcShapeModel;"

    IfcShapeModel represents the concept of a particular geometric and/or topological representation of a product's shape or a product component's shape within a representation context. This representation context has to be a geometric representation context (with the exception of topology representations without associated geometry). The two subtypes are IfcShapeRepresentation to cover geometric models that represent a shape, and IfcTopologyRepresentation to cover the conectivity of a product or product component. The topology may or may not have geometry associated.

    The IfcShapeModel can be a shape representation (geometric and/or topologogical) of a product (via IfcProductDefinitionShape), or a shape representation (geometric and/or topologogical)  of a component of a product shape (via IfcShapeAspect).

    HISTORY  New entity in IFC2x3.
    " 2198;IfcShapeRepresentation;"

    The IfcShapeRepresentation represents the concept of a particular geometric representation of a product or a product component within a specific geometric representation context. The inherited attribute RepresentationType is used to define the geometric model used for the shape representation (for example, 'SweptSolid', or 'Brep'), the inherited attribute RepresentationIdentifier is used to denote the part of the representation captured by the IfcShapeRepresentation (for example, 'Axis', 'Body').

    Several representation identifiers for shape representation are included as predefined values for RepresentationIdentifier:

    Box Bounding box as simplified 3D box geometry of an element
    Annotation 2D annotations not representing elements
    Axis 2D or 3D Axis, or single line, representation of an element
    FootPrint 2D Foot print, or double line, representation of an element, projected to ground view
    Surface 3D Surface representation, e.g. of an analytical surface, of an elementplane)
    Body 3D Body representation, e.g. as wireframe, surface, or solid model, of an element
    Lighting Representation of emitting light as a light source within a shape representation

    Several representation types for shape representation are included as predefined values for RepresentationType:

    Curve2D 2 dimensional curve
    Curve3D 3 dimensional curve
    Surface2D 2 dimensional surface (a region on ground view)
    Surface3D 3 dimensional surface
    GeometricSet points, curves, surfaces (2 or 3 dimensional)
    GeometricCurveSet points, curves (2 or 3 dimensional)
    Annotation2D points, curves (2 or 3 dimensional), hatches and text (2 dimensional)
    SurfaceModel face based and shell based surface model
    SolidModel including swept solid, Boolean results and Brep bodies
    more specific types are:
    SweptSolid swept area solids, by extrusion and revolution, excluding tapered sweeps
    AdvancedSweptSolid swept area solids created by sweeping a profile along a directrix, and tapered sweeps
    Brep faceted Brep's with and without voids
    AdvancedBrep Brep's based on advanced faces, with b-spline surface geometry, with and without voids
    CSG Boolean results of operations between solid models, half spaces and Boolean results
    Clipping Boolean differences between swept area solids, half spaces and Boolean results

    additional types

    some additional representation types are provided:
    BoundingBox simplistic 3D representation by a bounding box
    SectionedSpine cross section based representation of a spine curve and planar cross sections. It can represent a surface or a solid and the interpolations of the between the cross sections is not defined
    LightSource light source with (depending on type) position, orientation, light colour, intensity and attenuation
    MappedRepresentation representation based on mapped item(s), referring to a representation map. Note: it can be seen as an inserted block reference. The shape representation of the mapped item has a representation type declaring the type of its representation items.

    Table 1: string values for the inherited attribute 'RepresentationType'.

    NOTE  The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC Release 1.5.
    IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added.
    " 2203;IfcTopologyRepresentation;"

    IfcTopologyRepresentation represents the concept of a particular topological representation of a product or a product component within a representation context. This representation context does not need to be (but may be) a geometric representation context. Several representation types for shape representation are included as predefined types:

    Vertex topological vertex representation (with or without assigned geometry)
    Edge topological edge representation (with or without assigned geometry)
    Path topological path representation (with or without assigned geometry)
    Face topological face representation (with or without assigned geometry)
    Shell topological shell representation (with or without assigned geometry)
    Undefined no constraints imposed

    The representation type is given as a string value at the inherited attribute 'RepresentationType'.

    HISTORY: New entity in IFC 2x2.
    " 2207;IfcShapeAspect;"

    Definition from ISO/CD 10303-41:1992: The shape aspect is an identifiable element of the shape of a product.

    IfcShapeAspect allows for grouping of shape representation items that represent aspects (or components) of the shape of a product. Thereby shape representations of components of the product shape represent a distinctive part to a product that can be explicitly addressed.

    NOTE ˙The definition of this class relates to the ISO 10303 entity shape_aspect. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 2.0
    IFC 2x4 CHANGE  Attribute PartOfProductDefinitionShape declared OPTIONAL with upward compatibility for file based exchange.

    Informal propositions:

    1. If ShapeRepresentations points to shape representations that are part of an IfcProductDefinitionShape, PartOfProductDefinitionShape must refer to this instance of IfcProductDefinitionShape.
      NOTE˙ PartOfProductDefinitionShape is only to be omitted if the shape representations are attached to an IfcRepresentationMap. ˙This enables the use of IfcShapeAspect with IfcRepresentationMap's that are used by an IfcTypeProduct through the RepresentationMaps attribute.
    " 2213;IfcProductDefinitionShape;"

    The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes:

    • the shape representation including geometric representation items (for 3D solids, 2D annotations, etc.) and:
      • associated presentation information (line color, line type, surface rendering properties)
      • assignment to presentation layers (CAD layers for visibility control)
    • or the topological representation items for connectivity systems (vertex, edge, face representations) that may include geometric representation items (vertex points, edge curves, face surfaces)
    NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 1.5
    " 2217;IfcProductRepresentation;"

    IfcProductRepresentation defines a representation of a product, including its (geometric or topological) representation. A product can have zero, one or many geometric representations, and a single geometric representation can be shared among various products using mapped representations.

    NOTE: The definition of this entity relates to the ISO 10303 entity property_definition. The use of the term ‘property’ was avoided since it conflicts with the property, property type, and property set definitions elsewhere in the IFC model.
    HISTORY New entity in IFC Release 2.0
    IFC2x3 NOTE ˙Users should not instantiate the entity from IFC2x Edition 3 onwards.
    IFC2x4 CHANGE  Entity made abstract.
    " 2223;IfcMaterialDefinitionRepresentation;"

    IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts.

    NOTE  The IfcMaterialDefinitionRepresentation is currently only used to define presentation information to material used at element occurrences, defined as subtypes of IfcElement, or at element types, defined as subtypes of IfcElementType. The IfcMaterial is assigned to the subtype of IfcElement, or IfcElementType using the IfcRelAssociatesMaterial relationship (eventually via other material related entities IfcMaterialLayerSetUsage, IfcMaterialLayerSet, IfcMaterialLayer, or IfcMaterialProfileSetUsage, IfcMaterialProfileSet, IfcMaterialProfile).

    The IfcMaterialDefinitionRepresentation can apply

    • different presentation styles for different representation contexts, for example, a different style for sketch view, model view or plan view, or for different target scales,
    • for each representation context is can apply curve style, fill area style (hatching), symbol, text and surface style.
    HISTORY  New entity in IFC2x3.
    IFC2x3 CHANGE  The entity IfcMaterialDefinitionRepresentation has been added. Upward compatibility for file based exchange is guaranteed.
    IFC2x4 CHANGE  The assignment of curve, surface and other styles to an IfcStyledItem has been simplified by IfcStyleAssignmentSelect. The use of intermediate IfcPresentationStyleAssignment is deprecated.

    Use definition

    As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable.

    Figure 331 — Material definition representation

    " 2226;IfcGeometricRepresentationSubContext;"

    IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext.

    The IfcGeometricRepresentationSubContext is used to define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. It can be used to control the level of detail of the shape representation that is most applicable to this geometric representation context. addition the sub context is used to control the later appearance of the IfcShapeRepresentation within a plot view.

    NOTE  If the IfcShapeRepresentation using this sub context has IfcStyledItem's assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale.

    Each IfcProduct can then have several instances of subtypes of IfcRepresentation, each being assigned to a different geometric representation context (IfcGeometricRepresentationContext or IfcGeometricRepresentationSubContext). The application can then choose the most appropriate representation for showing the geometric shape of the product, depending on the target view and scale.

    NOTE  The provision of a model view (IfcGeometricRepresentationContext.ContextType = 'Model') is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext.
    EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object.
    HISTORY  New entity in Release IFC 2x2.
    " 2258;IfcCoordinateReferenceSystem;"

    Definition from OpenGIS® Abstract Specification, Topic 2: A coordinate reference system is a coordinate system which is related to the real world by a datum. The coordinate system is composed of a set of coordinate axes with specified units of measure. The datum specifies the relationship of a coordinate system to the earth. The resulting combination of coordinate system and datum is a coordinate reference system.

    IfcCoordinateReferenceSystem is a definition of a coordinate reference system by means of qualified identifiers only. The interpretation of the identifier is expected to be well-known to the receiving software.

    NOTE  One widely-used, publicly-available authority is the European Petroleum Survey Group (EPSG), and use of this authority is currently specified in several OGC Implementation Specifications. Software used to transport IFC engineering models into GIS applications (and vice versa) is expected to have knowledge about the OGC Implementation Specifications.
    HISTORY  New entity in IFC2x4.
    " 2264;IfcProjectedCRS;"

    Definition from OpenGIS® Abstract Specification, Topic 2: A 2D (or with vertical coordinate axis 3D) coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values.

    IfcProjectedCRS is a coordinate reference system of the map to which the map translation of the local engineering coordinate system of the construction or facility engineering project relates. The MapProjection and MapZone attributes uniquely identify the projection to the underlying geographic coordinate reference system, provided that they are well-known in the receiving application.

    The projected coordinate reference system is assumed to be a 2D or 3D right-handed Cartesian coordinate system, the optional MapUnit attribute can be used determine the length unit used by the map.

    HISTORY  New entity in IFC2x4.
    " 2269;IfcCoordinateOperation;"

    Definition from OpenGIS® Abstract Specification, Topic 2: If the relationship between any two coordinate reference systems is known, coordinates can be transformed or converted to another coordinate reference system. Coordinate operations are divided into two subtypes:

    • Coordinate conversion – mathematical operation on coordinates that does not include any change of datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters.
    • Coordinate transformation – mathematical operation on coordinates that usually includes a change of datum. The parameters of a coordinate transformation are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. This computational process is usually ‘over-determined’, allowing derivation of error (or accuracy) estimates for the transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformation. Because of this several transformations may exist for a given pair of coordinate reference systems, differing in their transformation method, parameter values and accuracy characteristics.

    The coordinate operation is an abstract supertype to handle any operation (transformation or conversion) between two coordinate reference systems. It is meant to provide expandability for future versions, since currently only the conversion of a local engineering coordinate system into a map coordinate reference system is dealt with by the subtype IfcMapConversion.

    By convention, a coordinate operation is given between the SourceCRS being the more local, or child coordinate reference system, and the TargetCRS being the more remote or parent coordinate reference system, in the˙special case the coordinate operation between the local engineering coordinate system of the construction project and any map or other coordinate reference system.

    HISTORY  New entity in IFC2x4.
    " 2273;IfcMapConversion;"

    The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map.

    NOTE  The IfcMapConversion does not handle the projection of a map from the geodetic coordinate reference system.

    The map conversion allows to convert the local origin of the local engineering coordinate system to its place within a map (easting, northing, orthogonal height) and to rotate the x-axis of the local engineering coordinate system within the horizontal (easting/westing) plane of the map.

    NOTE  The z axis of the local engineering coordinate system is always parallel to the z axis of the map coordinate system.

    The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (see˙IfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed.

    HISTORY  New entity in IFC2x4.
    " 2281;IfcStructuralLoadOrResult;"

    Definition from IAI: Abstract superclass of simple load or result classes.

    HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved.
    " 2284;IfcStructuralLoad;"

    Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis.

    HISTORY: New entity in IFC 2x2.
    " 2288;IfcStructuralLoadConfiguration;"

    Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration.

    HISTORY: New entity in IFC 2x4.

    Informal propositions:

    1. All items in Values shall be of the same type.
    2. If the loads or results comprise a curve activity, 1-dimensional locations shall be given, measured locally along the curve. The location shall not exceed the bounds of the curve actvity. The load samples and corresponding locations shall be given in ascending order of locations.
    3. If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity.
    NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity.
    " 2293;IfcStructuralLoadStatic;"

    Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads.

    HISTORY: New entity in IFC 2x2.
    " 2299;IfcStructuralLoadSingleForce;"

    Definition from IAI: Instances of the entity IfcStructuralLoadSingleForce shall be used to define the forces and moments of an action operating on a single point.

    HISTORY: New entity in Release IFC2x edition 2.

    " 2307;IfcStructuralLoadSingleForceWarping;"

    Definition from IAI: Instances of the entity IfcStructuralLoadSingleForceWarping, as a subtype of IfcStructuralLoadSingleForce, shall be used to define an action operation on a single point. In addition to forces and moments defined by its supertype a warping moment can be defined.

    HISTORY: New entity in Release IFC2x edition 2.

    " 2309;IfcStructuralLoadLinearForce;"

    Definition from IAI: An instance of the entity IfcStructuralLoadLinearForce shall be used to define actions on curves.

    HISTORY: New entity in Release IFC2x edition 2.

    " 2316;IfcStructuralLoadPlanarForce;"

    Definition from IAI: An instance of the entity IfcStructuralLoadPlanarForce shall be used to define actions on faces.

    HISTORY: New entity in Release IFC2x edition 2.

    " 2320;IfcStructuralLoadSingleDisplacement;"

    Definition from IAI: Instances of the entity IfcStructuralLoadSingleDisplacement shall be used to define displacements.

    HISTORY: New entity in Release IFC2x edition 2.

    " 2328;IfcStructuralLoadSingleDisplacementDistortion;"

    Definition from IAI: Defines a displacement with warping.

    HISTORY: New entity in IFC 2x2.
    " 2330;IfcStructuralLoadTemperature;"

    An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section.

    HISTORY  New entity in IFC2x2.

    Figure 332 — Structural load temperature

    " 2334;IfcSurfaceReinforcementArea;"

    Definition from IAI: Describes required or provided reinforcement area of surface members.

    NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members.
    HISTORY: New entity in IFC 2x4.
    " 2342;IfcBoundaryCondition;"

    Definition from IAI: The abstract entity IfcBoundaryCondition is the supertype of all boundary conditions that can be applied to structural connection definitions, either directly for the connection (e.g. the joint) or for the relation between a structural member and the connection.

    NOTE: The boundary conditions are used within other parts, mainly by instances of IfcStructuralConnection (for the definition of supports) and instances of IfcRelConnectsStructuralMember (for the definition of connections between structural members and structural connections).

    HISTORY: New entity in Release IFC2x Edition 2.

    " 2347;IfcBoundaryNodeCondition;"

    Definition from IAI: Describes linearly elastic support conditions or connection conditions.

    Applicability:

    • Point supports and connections.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
    IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
    " 2355;IfcBoundaryNodeConditionWarping;"

    Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints.

    Applicability:

    • Point supports and connections.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
    " 2366;IfcBoundaryEdgeCondition;"

    Definition from IAI: Describes linearly elastic support conditions or connection conditions.

    Applicability:

    • Curve supports and connections.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
    IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
    " 2379;IfcBoundaryFaceCondition;"

    Definition from IAI: Describes linearly elastic support conditions or connection conditions.

    Applicability:

    • Surface supports and connections.
    HISTORY: New entity in IFC 2x2.
    IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
    IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
    " 2386;IfcSlippageConnectionCondition;"

    Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken.

    Applicability:

    • Point supports and connections,
    • curve supports and connections,
    • surface supports and connections.
    HISTORY: New entity in IFC 2x2.
    " 2390;IfcStructuralConnectionCondition;"

    Definition from IAI: Describe more rarely needed connection properties.

    HISTORY: New entity in IFC 2x2.
    " 2394;IfcFailureConnectionCondition;"

    Definition from IAI: Defines forces at which a support or connection fails.

    Applicability:

    • Point supports and connections.
    HISTORY: New entity in IFC 2x2.
    " 2402;IfcClosedShell;"

    Definition from ISO/CD 10303-42:1992: A closed shell is a shell of the dimensionality 2 which typically serves as a bound for a region in R3. A closed shell has no boundary, and has non-zero finite extent. If the shell has a domain with coordinate space R3, it divides that space into two connected regions, one finite and the other infinite. In this case, the topological normal of the shell is defined as being directed from the finite to the infinite region.

    The shell is represented by a collection of faces. The domain of the shell, if present, contains all those faces, together with their bounds. Associated with each face in the shell is a logical value which indicates whether the face normal agrees with (TRUE) or is opposed to (FALSE) the shell normal. The logical value can be applied directly as a BOOLEAN attribute of an oriented face, or be defaulted to TRUE if the shell boundary attribute member is a face without the orientation attribute.

    The combinatorial restrictions on closed shells and geometrical restrictions on their domains are designed to ensure that any domain associated with a closed shell is a closed, orientable manifold. The domain of a closed shell, if present, is a connected, closed, oriented 2-manifold. It is always topologically equivalent to an H-fold torus for some H ³ 0. The number H is referred to as the surface genus of the shell. If a shell of genus H has a domain within coordinate space R3, then the finite region of space inside it is topologically equivalent to a solid ball with H tunnels drilled through it.

    The Euler equation (7) applies with B=0, because in this case there are no holes. As in the case of open shells, the surface genus H may not be known a priori, but shall be an integer ³ 0. Thus a necessary, but not sufficient, condition for a well-formed closed shell is the following:

    In the current IFC Release only poly loops (IfcPolyLoop) are defined for bounds of face bound (IfcFaceBound). This will allow for faceted B-rep only.

    NOTE: Corresponding ISO 10303 entity: closed_shell, please refer to ISO/IS 10303-42:1994, p.149 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0

    Informal propositions:

    1. Every edge shall be referenced exactly twice by the loops of the face.
    2. Each oriented edge shall be unique.
    3. No edge shall be referenced by more than two faces.
    4. Distinct faces of the shell do not intersect, but may share edges or vertices.
    5. Distinct edges do not intersect but may share vertices.
    6. Each face reference shall be unique.
    7. The loops of the shell shall not be a mixture of poly loop and other loop types. Note: this is given, since only poly loop is defined as face bound definition.
    8. The closed shell shall be an oriented arcwise connected 2-manifold.
    9. The Euler equation shall be satisfied. Note: Please refer to ISO/IS 10303-42:1994, p.149 for the equation.
    " 2403;IfcConnectedFaceSet;"

    Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected.

    NOTE  Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0

    Informal proposition:

    1. The union of the domains of the faces and their bounding loops shall be arcwise connected.
    " 2407;IfcTopologicalRepresentationItem;"

    Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource.

    NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.5
    " 2415;IfcEdge;"

    Definition from ISO/CD 10303-42:1992: An edge is the topological construct corresponding to the connection of two vertices. More abstractly, it may stand for a logical relationship between two vertices. The domain of an edge, if present, is a finite, non-self-intersecting open curve in RM, that is, a connected 1-dimensional manifold. The bounds of an edge are two vertices, which need not be distinct. The edge is oriented by choosing its traversal direction to run from the first to the second vertex. If the two vertices are the same, the edge is a self loop. The domain of the edge does not include its bounds, and 0 ≤ Ξ ≤ ∞. Associated with an edge may be a geometric curve to locate the edge in a coordinate space; this is represented by the edge curve (IfcEdgeCurve) subtype. The curve shall be finite and non-self-intersecting within the domain of the edge. An edge is a graph, so its multiplicity M and graph genus Ge may be determined by the graph traversal algorithm. Since M = E = 1, the Euler equation (1) reduces in the case to

    where V = 1 or 2, and Ge = 1 or 0. Specifically, the topological edge defining data shall satisfy:

    - an edge has two vertices
    - the vertices need not be distinct
    - Equation (2) shall hold.

    The geometry between the two vertices defaults to a straight line if no curve geometry is assigned using the subtype IfcEdgeCurve. The IfcEdge can therefore be used to exchange straight edges without an associated geometry provided by IfcLine or IfcPolyline thought IfcEdgeCurve.EdgeGeometry.

    Figure 333 illustrates an example where the bounds of the IfcEdge are given by the EdgeStart and EdgeEnd; this also determines the direction of the edge. The location within a coordinate space is determined by the IfcVertexPoint type for EdgeStart and EdgeEnd. Since no edge geometry is assigned, it defaults to a straight line agreeing to the direction sense.

    Figure 333 — Edge representation

    NOTE  Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 2.0

    Informal propositions:

    1. The edge has dimensionality 1.
    2. The extend of an edge shall be finite and nonzero.
    " 2421;IfcOrientedEdge;"

    Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge.

    NOTE  A common practice is solid modelling systems is to have an entity that represents the ""use"" or ""traversal"" of an edge. This ""use"" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The ""use"" functionality is provided by the edge subtype oriented edge.
    NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 2.0.
    " 2427;IfcVertex;"

    Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype.

    NOTE  Corresponding ISO 10303 entity: vertex. Please refer to ISO/IS 10303-42:1994, p. 129 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 2.0

    Informal proposition:

    1. The vertex has dimensionality 0. This is a fundamental property of the vertex.
    2. The extent of a vertex is defined to be zero.
    " 2429;IfcVertexPoint;"

    Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point.

    NOTE  Corresponding ISO 10303 entity: vertex_point. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included.
    HISTORY  New Entity in IFC2x.

    Informal proposition:

    1. The domain of the vertex is formally defined to be the domain of its vertex point.
    " 2431;IfcEdgeCurve;"

    Definition from ISO/CD 10303-42:1992: An edge curve is a special subtype of edge which has its geometry fully defined. The geometry is defined by associating the edge with a curve which may be unbounded. As the topological and geometric directions may be opposed, an indicator (same sense) is used to identify whether the edge and curve directions agree or are opposed. The Boolean value indicates whether the curve direction agrees with (TRUE) or is in the opposite direction (FALSE) to the edge direction. Any geometry associated with the vertices of the edge shall be consistent with the edge geometry. Multiple edges can reference the same curve.

    Figure 334 illustrates an example where the edge geometry is given by an unbounded curve, here IfcCircle. The bounds are provided by the EdgeStart and EdgeEnd, the topological direction of the IfcEdgeCurve opposes the direction of the IfcCircle by SameSense = FALSE.

    Figure 334 — Edge curve

    NOTE  Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included.

    Informal propositions:

    1. The domain of the edge curve is formally defined to be the domain of its edge geometry as trimmed by the vertices. This domain does not include the vertices.
    2. An edge curve has non-zero finite extent.
    3. An edge curve is a manifold.
    4. An edge curve is arcwise connected.
    5. The edge start is not a part of the edge domain.
    6. The edge end is not a part of the edge domain.
    7. Vertex geometry shall be consistent with edge geometry.
    " 2434;IfcSubedge;"

    Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge.

    Informal propositions:

    1. The domain of the subedge is formally defined to be the domain of the parent edge, as trimmed by the subedge start vertex and subedge end vertex.
    2. The start vertex and end vertex shall be within the union of the domains of the vertices of the parent edge and the domain of the parent edge.
    NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    " 2436;IfcFace;"

    Definition from ISO/CD 10303-42:1992: A face is a topological entity of dimensionality 2 corresponding to the intuitive notion of a piece of surface bounded by loops. Its domain, if present, is an oriented, connected, finite 2-manifold in Rm. A face domain shall not have handles but it may have holes, each hole bounded by a loop. The domain of the underlying geometry of the face, if present, does not contain its bounds, and 0 < Ξ < ∞.

    A face is represented by its bounding loops, which are defined as face bounds. A face has a topological normal n and the tangent to a loop is t. For a loop bounding a face with defined geometry, the cross product n x t points toward the interior of the face. That is, each loop runs counter-clockwise around the face when viewed from above, if we consider the normal n to point up. With each loop is associated a BOOLEAN flag to signify whether the loop direction is oriented with respect to the face normal (TRUE) or should be reversed (FALSE).

    A face shall have at least one bound, and the loops shall not intersect. One loop is optionally distinguished as the outer loop of the face. If so, it establishes a preferred way of embedding the face domain in the plane, in which the other bounding loops of the face are inside the outer bound. Because the face domain is arcwise connected, no inner loop will contain any other loop. This is true regardless of which embedding in the plane is chosen.

    The edges and vertices referenced by the loops of a face form a graph, of which the individual loops are the connected components. The Euler equation (1) for this graph becomes:

    where Gli is the graph genus of the i th loop.

    NOTE  Corresponding ISO 10303 entity: face. No subtypes of face have been incorporated into this IFC Release. Please refer to ISO/IS 10303-42:1994, p. 140 for the final definition of the formal standard. The WR1 has not been incorporated, since it is always satisfied, due to the fact that only poly loops exist for face bounds.
    HISTORY  New class in IFC Release 1.0

    Informal propositions:

    1. No edge shall be referenced by the face more than twice.
    2. Distinct face bounds of the face shall have no common vertices.
    3. If geometry is present, distinct loops of the same face shall not intersect.
    4. The face shall satisfy the Euler Equation: (number of vertices) - (number of edges) - (number of loops) + (sum of genus for loops) = 0.
    " 2440;IfcFaceSurface;"

    Definition from ISO/CD 10303-42:1992: A face surface (IfcFaceSurface) is a subtype of face in which the geometry is defined by an associated surface. The portion of the surface used by the face shall be embeddable in the plane as an open disk, possibly with holes. However, the union of the face with the edges and vertices of its bounding loops need not be embeddable in the plane. It may, for example, cover an entire sphere or torus. As both a face and a geometric surface have defined normal directions, a BOOLEAN flag (the orientation attribute) is used to indicate whether the surface normal agrees with (TRUE) or is opposed to (FALSE) the face normal direction. The geometry associated with any component of the loops of the face shall be consistent with the surface geometry, in the sense that the domains of all the vertex points and edge curves are contained in the face geometry surface. A surface may be referenced by more than one face surface.

    NOTE  Corresponding ISO 10303 entity: face_surface. Please refer to ISO/IS 10303-42:1994, p. 204 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included.
    HISTORY  New class in IFC2x

    Informal propositions:

    1. The domain of the face surface is formally defined to be the domain of its face geometry as trimmed by the loops, this domain does not include the bounding loops.
    2. A face surface has non zero finite extent.
    3. A face surface is a manifold.
    4. A face surface is arcwise connected.
    5. A face surface has surface genus 0.
    6. The loops are not part of the face domain.
    7. Loop geometry shall be consistent with face geometry. This implies that any edge - curves or vertex points used in defining the loops bounding the face surface shall lie on the face geometry.
    8. The loops of the face shall not intersect.
    " 2444;IfcAdvancedFace;"

    An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices.

    An IfcAdvancedFace is restricted to:

    • have a face surface geometry of type IfcElementarySurface, IfcSweptSurface or IfcBSplineSurface
    • have at least on IfcFaceOuterBound as the bound of the face
    • have all faces to be bound by IfcEdgeLoop or IfcVertexLoop
    • have all edges to have an edge curve geometry
    • have the edge curve geometry restricted to IfcLine, IfcConic, IfcPolyline, or IfcBSplineCurve
    NOTE  Corresponding ISO 10303 entity: advanced_face. Please refer to ISO/IS 10303-511:1999 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x4
    " 2448;IfcFaceBound;"

    Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face.

    NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0
    " 2452;IfcFaceOuterBound;"

    Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type.

    NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.0
    " 2453;IfcLoop;"

    Definition from ISO/CD 10303-42:1992: A loop is a topological entity constructed from a single vertex, or by stringing together connected (oriented) edges, or linear segments beginning and ending at the same vertex. It is typically used to bound a face lying on a surface. A loop has dimensionality of 0 or 1. The domain of a 0-dimensional loop is a single point. The domain of a 1-dimensional loop is a connected, oriented curve, but need not to be manifold. As the loop is a circle, the location of its beginning/ending point is arbitrary. The domain of the loop includes its bounds, an 0 ≤ Ξ < ∞.

    A loop is represented by a single vertex, or by an ordered collection of oriented edges, or by an ordered collection of points. A loop is a graph, so M and the graph genus Gl may be determined by the graph traversal algorithm. Since M = 1, the Euler equation (1) reduces in this case to

    where V and El are the number of unique vertices and oriented edges in the loop and Gl is the genus of the loop.

    NOTE  Corresponding ISO 10303 entity: loop, the following subtypes have been incorporated into IFC: poly_loop as IfcPolyLoop, vertex_loop as IfcVertexLoop, edge_loop as IfcEdgeLoop. Please refer to ISO/IS 10303-42:1994, p. 136 for the final definition of the formal standard.
    HISTORY  New Entity in IFC2x.

    Informal propositions:

    1. A loop has a finite extent.
    2. A loop describes a closed (topological) curve with coincident start and end vertices.
    " 2457;IfcPolyLoop;"

    Definition from ISO/CD 10303-42:1992: A poly loop is a loop with straight edges bounding a planar region in space. A poly loop is a loop of genus 1 where the loop is represented by an ordered coplanar collection of points forming the vertices of the loop. The loop is composed of straight line segments joining a point in the collection to the succeeding point in the collection. The closing segment is from the last to the first point in the collection. 

    The direction of the loop is in the direction of the line segments.

    NOTE  This entity exists primarily to facilitate the efficient communication of faceted B-rep models.

    A poly loop shall conform to the following topological constraints:

    - the loop has the genus of one.
    - the following equation shall be satisfied

    The IfcPolyLoop is always closed and the last segment is from the last IfcCartesianPoint in the list of Polygon's to the first IfcCartesianPoint. Therefore the first point shall not be repeated at the end of the list, neither by referencing the same instance, nor by using an additional instance of IfcCartesianPoint having the coordinates as the first point.

    NOTE  Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS 10303-42:1994, p. 138 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. The derived attribute Dim has been added at this level.
    HISTORY   New class in IFC Release 1.0

    Informal propositions:

    1. All the points in the polygon defining the poly loop shall be coplanar.
    2. The first and the last Polygon shall be different by value.
    " 2460;IfcVertexLoop;"

    Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of zero genus consisting of a single vertex. A vertex can exist independently of a vertex loop. The topological data shall satisfy the following constraint:

    Informal propositions:

    1. A vertex loop has zero extent and dimensionality.
    2. The vertex loop has genus 0.
    NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard.
    HISTORY  New Entity in IFC2x2.
    " 2462;IfcEdgeLoop;"

    Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself.

    Informal propositions:

    1. The genus of the IfcEdgeLoop shall be 1 or greater.
    2. The Euler formula shall be satisfied:
      (number of vertices) + genus - (number of edges) = 1;
    3. No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE.
    NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard.
    HISTORY  New Entity in IFC2x2.
    " 2467;IfcPath;"

    Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE).

    An individual edge can only be referenced once by an individual path. An edge can be referenced by multiple paths. An edge can exist independently of a path.

    NOTE  Corresponding ISO 10303 entity: path. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard.
    HISTORY  New Entity in IFC Release 2.0

    Informal proposition:

    1. A path has dimensionality 1.
    2. A path is arcwise connected.
    3. The edges of the path do not intersect except at common vertices.
    4. A path has a finite, non-zero extent.
    " 2470;IfcOpenShell;"

    Definition from ISO/CD 10303-42:1992: An open shell is a shell of the dimensionality 2. Its domain, if present, is a finite, connected, oriented, 2-manifold with boundary, but is not a closed surface. It can be thought of as a closed shell with one or more holes punched in it. The domain of an open shell satisfies 0 < Ξ < 1. An open shell is functionally more general than a face because its domain can have handles.

    The shell is defined by a collection of faces, which may be oriented faces. The sense of each face, after taking account of the orientation, shall agree with the shell normal as defined below. The orientation can be supplied directly as a BOOLEAN attribute of an oriented face, or be defaulted to TRUE if the shell member is a face without the orientation attribute.

    The following combinatorial restrictions on open shells and geometrical restrictions on their domains are designed, together with the informal propositions, to ensure that any domain associated with an open shell is an orientable manifold.

    • Each face reference shall be unique.
    • An open shell shall have at least one face.
    • A given face may exist in more than one open shell.

    The boundary of an open shell consists of the edges that are referenced only once by the face - bounds (loops) of its faces, together with all of their vertices. The domain of an open shell, if present, contains all edges and vertices of its faces.

    NOTE  Note that this is slightly different from the definition of a face domain, which includes none of its bounds. For example, a face domain may exclude an isolated point or line segment. An open shell domain may not. (See the algorithm for computing below.)

    In the current IFC Release only poly loops (IfcPolyLoop) are defined for bounds of face bound (IfcFaceBound.Bound). This will allow for faceted B-rep only. For further specification, including the Euler formulas to be satisfied, please refer to ISO 10303-42:1994.

    NOTE  Corresponding ISO 10303 entity: open_shell, please refer to ISO/IS 10303-42:1994, p.148 for the final definition of the formal standard.
    HISTORY  New class in IFC2x.

    Informal propositions:

    1. Every edge shall be referenced exactly twice by the face bounds of the face.
    2. Each oriented edge shall be unique.
    3. No edge shall be referenced by more than two faces.
    4. Distinct faces of the shell do not intersect, but may share edges or vertices.
    5. Distinct edges do not intersect but may share vertices.
    6. Each face reference shall be unique.
    7. The loops of the shell shall not be a mixture of poly loop and other loop types. Note: this is given, since only poly loop is defined as face bound definition.
    8. The closed shell shall be an oriented arcwise connected 2-manifold.
    9. The Euler equation shall be satisfied. Note: Please refer to ISO/IS 10303-42:1994, p.148 for the equation.
    " 2478;IfcTask;"

    An IfcTask is an identifiable unit of work to be carried out in a construction project.

    A task is typically used to describe an activity for the construction or installation of products, but is not limited to these types. For example it might be used to describe design processes, move operations and other design, construction and operation related activities as well.

    HISTORY  New entity in IFC 1.0. Renamed from IfcWorkTask in IFC 2x.
    IFC2x4 CHANGE  Attributes TaskTime and PredefinedType added. IfcMove and IfcOrderRequest has been removed in IFC2x4 and are now represented by IfcTask. Further information can be found in the description below.

    Type use definition

    IfcTask defines the anticipated or actual occurrence of any task; common information about task types is handled by IfcTaskType. The IfcTaskType (if present) may establish the common type name, usage (or predefined) type, common set of properties, and common product assignment using IfcRelAssignsToProduct. The IfcTaskType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. Special type information relating to a task occurrence is asserted using IfcTask.ObjectType (inherited from IfcObject). Examples that may be used include fixed duration, fixed unit or fixed work. IfcTask can be aggregated to a task type in order to specify a task sequence or any time related information, e.g. the duration of a task. Please see the documentation of IfcTaskType for further information.

    Attribute use definition

    Each occurrence of IfcTask is given a name that is indicative of its content (IfcRoot.Name). A textual description of the task may be provided and this may be further elaborated by a narrative long description (IfcProcess.LongDescription). A work method may be declared for the method of work used in carrying out a task. A task is identified as being either a milestone task or not. A milestone task is defined by the marker IsMilestone. and has no duration. A status and priority for each task may also be set.

    Property set use definition

    The property sets relating to IfcTask are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. Such property sets may define task parameters. No property sets for IfcTask are currently defined by IFC.

    Connectivity Use Definition

    The relationship IfcRelSequence is used to indicate control flow. An IfcTask as a successor to an IfcTask indicates logical sequence how these tasks should be performed. IfcTask's can be triggered or can trigger IfcEvent's, which is also defined through the relationship IfcRelSequence.

    Composition use definition

    IfcTask may be contained within an IfcTask using the IfcRelNests relationship. An IfcTask may in turn nest other IfcTask, IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail. From IFC2x4 onwards it is required to have a summary task (root of all tasks), which is used to define a link to the work plan or work schedule. All subtasks of the summary tasks are then implicitly linked to this work plan or work schedule. Please note that the summary task is used for data organization and not meant to store typical task information as defined by the user. It is therefore recommended that the summary task is hidden from the user to avoid confusion. Please also note that IfcRelNests is used to show the dependency between regular tasks and recurring task definitions (please see the section about time and duration use definitions).

    As shown in Figure 13, the installation of a number of items of equipment within a particular space may be the subject of a single task which is identified as 'fix equipment in space 123'. IfcTask represents the occurrence of a work performance of a type of process in a construction plan.

    Figure 13 — Task visualization

    A task may nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests as shown in Figure 14. For example, the construction of a stud wall may be designated as a nesting task named 'install wall #1' including other tasks such as 'install dry wall', 'install studs', 'wall taping', and 'erect wall' as sub-processes. A value that indicates the relative tree view position of the task (in comparison to the tree view position of other tasks and the task hierarchy defined by IfcRelNests).

    The task order information that is used for viewing purposes is derived from the order defined by the IfcRelNests relationship and thus is independent of the logical task order defined through IfcRelSequence. The hierarchy and order defined through IfcRelNests enables to order the tasks in a tree view or list view structure.

    Figure 14 — Task nesting relationships

    Time and duration use definition

    Compared to previous IFC releases, basic task time information (scheduled start time, scheduled finish time, duration) is now directly attached to IfcTask through the TaskTime attribute. Regular tasks are defined through IfcTaskTime. Recurring tasks are defined through IfcTaskTimeRecurring. In case a regular task is derived from a recurring task both tasks should be linked together through a IfcRelNests relationship, where IfcRelNests.IsNestedBy points to the recurring task and IfcRelNests.Nests points to all regular tasks that have been derived from the recurring task.

    Assignment use definition

    Occurrences of IfcTask may be assigned to an IfcWorkControl (either a work plan or a work schedule) through IfcRelAssignsToControl. From IFC2x4 onwards it is suggested to use the 'summary task' (root element of the task hierarchy that is required for task management purposes) to assign all subtask to a work plan or work schedule. Resources used by tasks are assigned by IfcRelAssignsToProcess. Quantities of resources consumed by the task are dealt with by defining the IfcElementQuantity for the resource and not at the instance of IfcTask. Please note that the IfcRelAssignsTasks relationship class has been removed in IFC2x4 and is no longer available.

    An IfcTask may be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the IfcRelAssociatesClassification relationship class. As well as being to designate the code, the classification structure of the IFC model also enables the source of the work breakdown structure classification to be identified.

    Constraint use definition

    Constraints may be applied to a task to indicate fixed task duration, fixed start or fixed finish (see Figure 15). The relationship IfcRelAssociatesConstraint is used where RelatingConstraint points to an IfcMetric and RelatedObjects includes the IfcTask. IfcRelAssociatesConstraint.Name identifies the attribute to be constrained using a period (""."") to dereference; for example, ""TaskTime.ScheduleStart"" refers to the ScheduleStart attribute on the IfcTaskTime entity referenced on the TaskTime attribute. The following attributes may be constrained:

    • 'TaskTime.ScheduleDuration': Indicate fixed duration of task with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to an assigned IfcConstructionResource.ResourceTime.ScheduleWork should impact IfcConstructionResource.ResourceTime.ScheduleUsage, and vice-versa.
    • 'TaskTime.ScheduleStart': Indicate constrained start date with ConstraintGrade=HARD and Benchmark of EQUALTO, GREATERTHANOREQUALTO, or LESSTHANOREQUALTO to indicate ""must start on"", ""start no earlier than"" or ""start no later than"" respectively where IfcMetric.DataValue indicates the specific IfcDateTime. Use SOFT constraint having LESSTHAN benchmark to indicate ""start as soon as possible"".
    • 'TaskTime.ScheduleFinish': Indicate constrained finish date with ConstraintGrade=HARD and Benchmark of EQUALTO, GREATERTHANOREQUALTO, or LESSTHANOREQUALTO to indicate ""must finish on"", ""finish no earlier than"" or ""finish no later than"" respectively where IfcMetric.DateValue indicates the specific IfcDateTime. Use SOFT constraint having GREATERTHAN benchmark to indicate ""finish as late as possible"".

    A ""manual scheduled task"" is indicated with ConstraintGrade=HARD and Benchmark=EQUALTO for both TaskTime.ScheduleStart and TaskTime.ScheduleFinish.

    Figure 15 — Task constraints

    Use Definition to represent other activities

    The use definitions for IfcTask have been generalised to represent other activities as well, including actitities that had been defined by own entities in previous IFC releases. This includes

    • Order actions
    • Move operations

    IfcTask represents an order that might be carried out by a Helpdesk acting the role of interface for the organization between the facility user and the functional requirement of fulfilling their needs. The actual task represented by the IfcTask entity is turning a request into an order and initiating the action that will enable the order to be completed. The IfcProjectOrder or one of its subtypes including maintenance work order, is related to the IfcTask using IfcRelAssignsToControl.

    IfcTask can also be used to describe an activity that moves people, groups within an organization or complete organizations together with their associated furniture and equipment from one place to another. It thus replaces the previous IFC entity IfcMove. The functionality is represented in IfcTask as follows:

    • Move from: The place from which actors and their associated equipment are moving.
      Use IfcRelAssignsToProcess where RelatingProcess points to the task and RelatedObjects holds the location(s) from which to move.
    • Move to: The place to which actors and their associated equipment are moving.
      Use IfcRelAssignsToProduct where RelatedObjects points to the task(s) and RelatingProduct points to the location to which to move.
    • Punch list: A list of points concerning a move that require attention.
      Use LongDescription or else identify sub-tasks to track punch list items individually via IfcRelNests.
    " 2502;IfcProcedure;"

    An IfcProcedure is a logical set of actions to be taken in response to an event or to cause an event to occur.

    HISTORY  New entity in IFC2x2
    IFC2x4 CHANGE  ProcedureType renamed to PredefinedType and made optional (upward compatible). Where rules WR1 and WR2 have been removed.

    Use definitions

    IfcProcedure is used to capture information about stepped processes such as calibration, start/stop procedures for equipment items, designated actions to take in the event of an emergency etc. A procedure is not a task, but may describe a set of tasks and their order of occurrence in response to or to cause an event.

    Type use definition

    IfcProcedure defines the anticipated or actual occurrence of any procedure; common information about procedure types is handled by IfcProcedureType. The IfcProcedureType (if present) may establish the common type name, usage (or predefined) type, common nested procedures (using IfcRelNests), common set of properties, and common product assignment using IfcRelAssignsToProduct. The IfcProcedureType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Property set use definition

    The property sets relating to IfcProcedure are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. Such property sets may define procedure parameters. No property sets for IfcProcedure are currently defined by IFC.

    Connectivity use definition

    The relationship IfcRelSequence is used to indicate control flow. An IfcProcedure as a successor to an IfcEvent indicates that the procedure should be performed in response to the event. An IfcProcedure as a predecessor to an IfcEvent indicates that the event should be trigerred following the procedure. As procedures have arbitrary duration, the IfcRelSequence.SequenceType attribute has no effect on an IfcProcedure but still applies to the opposite end of the relationship if IfcTask is used.

    Composition use definition

    IfcProcedure may be contained within an IfcTask or IfcProcedure using the IfcRelNests relationship. An IfcProcedure may in turn nest other IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail.

    Note that a particular type of IfcProcedure is a caution, warning or other form of advisory note. Typically, it is anticipated that such a procedure would be assigned to the specific IfcProcess for which it gives advice using IfcRelAssignsToProcess.

    Assignment use definition

    An IfcProcedure may be assigned to an IfcWorkCalendar to indicate times when such procedure may be performed using IfcRelAssignsToControl; otherwise the effective calendar is determined by the nearest IfcProcess ancestor with a calendar assigned. Advisory notes should be assigned to the specific IfcProcess for which it gives advice using IfcRelAssignsToProcess.

    For building operation scenarios, IfcProcedure may be assigned to a product (IfcElement subtype) using IfcRelAssignsToProduct to indicate a specific product occurrence that performs the procedure. For example, an IfcActuator may have a ""Close"" procedure. If the IfcProcedure is defined by an IfcProcedureType and the IfcProcedureType is assigned to a product type (using IfcRelAssignsToProduct), then the IfcProcedure must be assigned to one or more occurrences of the specified product type using IfcRelAssignsToProduct.

    As shown in Figure 12, IfcProcedure does not restrict anything but describes specific steps of how something should happen. While a procedure does control/restrict in the sense of indicating ""this is how the task should be performed"" by nature of describing inner detail, this is not different than parts of a product indicating ""this is how the parts should be assembled"". Consequently, it doesn't restrict the outer item as a whole but provides inner detail of the item.

    Figure 12 — Procedure relationships

    " 2516;IfcEvent;"

    An IfcEvent is something that happens that triggers an action or response.

    HISTORY  New entity in IFC2x4

    Use definitions

    IfcEvent is used to capture information about particular things that happen or that may happen. Particularly used in work plans (or process maps) they identify e.g. a point at which a message containing information may be issued or at which a rule or constraint is invoked.

    Type use definition

    IfcEvent defines the anticipated or actual occurrence of any event; common information about event types is handled by IfcEventType. The IfcEventType (if present) may establish the common type name, usage (or predefined) type, common set of properties, and common product assignment using IfcRelAssignsToProduct. The IfcEventType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Property set use definition

    The property sets relating to IfcEvent are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. Such property sets may define event parameters. No property sets for IfcEvent are currently defined by IFC.

    Connectivity use definition

    The relationship IfcRelSequence is used to indicate control flow. An IfcEvent as a predecessor (IfcRelSequence.RelatingProcess) indicates that the succeeding process (typically IfcProcedure or IfcTask) is triggered in response to the event. An IfcEvent as a successor (IfcRelSequence.RelatedProcess) indicates that the completion of the preceeding process causes the event to be triggered. As events have zero duration, the IfcRelSequence.SequenceType attribute has no effect on an IfcEvent but still applies to the opposite end of the relationship if IfcTask is used.

    Composition use definition

    IfcEvent may be contained within an IfcTask using the IfcRelNests relationship. The event is considered active during the time period of the enclosing task (including any assigned IfcWorkCalendar); that is such event may be triggered within the task time period but not outside of it. As an IfcEvent is considered to be atomic, no use is anticipated for nesting processes inside the event.

    Assignment use definition

    An IfcEvent may be assigned to an IfcWorkCalendar to indicate times when such event is active using IfcRelAssignsToControl; otherwise the effective calendar is determined by the nearest IfcProcess ancestor with a calendar assigned.

    For building operation scenarios, IfcEvent may be assigned to a product (IfcElement subtype) using IfcRelAssignsToProduct to indicate a specific product occurrence that sources the event. For example, an IfcSensor for a motion sensor may have a ""Motion Sensed"" event. If the IfcEvent is defined by an IfcEventType and the IfcEventType is assigned to a product type (using IfcRelAssignsToProduct), then the IfcEvent must be assigned to one or more occurrences of the specified product type using IfcRelAssignsToProduct.

    " 2536;IfcWorkControl;"

    An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule.

    HISTORY  New class in IFC 2x
    CHANGE IFC2x4  Corrected assignment of resources to work control in documentation. Assignment of tasks to work control updated based on changes of task time definitions and the introduction of a summary task. Identifier has been renamed (now Identification) and promoted to supertype IfcControl

    A work control may have resources assigned to it, this is handled by the IfcRelAssignsToControl relationship. A work control should also define a context that gives further information about its usage. If no special context information is required then the IfcProject instance as a global context should be used instead. An explicit link between the work control and the IfcProject via IfcRelDeclares should then be provided.

    From IFC2x4 onwards the assignment of tasks to the work control is handled by the IfcRelAssignsToControl relationship. IfcRelAssignsTasks as used in previous IFC releases has been deleted and can not be used any longer. Another change in IFC2x4 is that it is not necessary to assign each task to a work control as it is regarded to be sufficient if the summary task (root task in the task hierarchy defined through IfcRelNests relationships) is assigned to a work control.

    The attribute IfcWorkControl.Purpose is used to define the purpose of either a work schedule or a work plan. In the case of IfcWorkPlan, the purpose attribute can be used to determine if the work plan is for cost estimating, task scheduling or some other defined purpose.

    Property set use definition

    The property sets relating to the IfcWorkControl are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definition specific to the IfcWorkControl and its subtype are part of this IFC release:

    " 2546;IfcWorkPlan;"

    An IfcWorkPlan represents work plans in a construction or a facilities management project.

    HISTORY: New Entity in IFC 2.0

    A work plan contains a set of work schedules for different purposes (including construction and facilities management). Contained work schedules are defined through the IfcRelAggregates relationship. Through inheritance from IfcWorkControl it is also possible to define references to activities (for example, IfcTask) and resources used in the work plan.

    A work plan has information such as start date, finish date, total free float, and so on. IfcWorkPlan can also refer to the construction project represented by the single IfcProject instance (please also check the definition of IfcWorkControl).

    Figure 18 shows the backbone structure of a work plan that defines (1) contained work schedules through IfcRelAggregates and (2), if not assigned otherwise to contained work schedules, assigned tasks and resources through IfcRelAssignsToControl.

    Figure 18 — Work plan relationships

    " 2555;IfcWorkSchedule;"

    An IfcWorkSchedule represents a task schedule of a work plan, which in turn can contain a set of schedules for different purposes.

    HISTORY: New Entity in IFC Release 2.0

    Assignment Use Definition

    An IfcWorkSchedule controls a set of tasks and resources defined through IfcRelAssignsToControl. Additionally, through the IfcWorkControl abstract supertype, the actors creating the schedule can be specified and schedule time information such as start time, finish time, and total float of the schedule can also be specified.

    Declaration Use Definition

    IfcWorkSchedule can reference a project (the single IfcProject instance) via IfcRelDeclares. The documents of the IfcWorkSchedule can be referenced by the IfcRelAssociatesDocuments relationship.

    Composition Use Definition

    A work schedule can include other work schedules as sub-items through IfcRelNests relationship. If not included in another work schedule it might be a part of a work plan (IfcWorkPlan) defined through IfcRelAggregates relationship.

    Figure 19 shows the backbone structure of a work schedule that defines (1) a context through IfcRelDeclares (not necessarily the project) and (2) controls tasks (typically the schedule summary task) and resources. Please note that a work calendar shall be assigned to the summary task and not the work schedule.

    Figure 19 — Work schedule relationships

    " 2564;IfcWorkCalendar;"

    An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009.

    HISTORY  New entity in IFC2x4.

    A work calendar is a subtype of IfcControl and thus inherits the feature for controlling other objects through IfcRelAssignsToControl, which is used to define a work calendar for tasks (IfcTask) and resources (IfcResource). It also inherits a name and description attribute, whereas a name shall be given and a description may be given as an indication of its content and usage.

    The definition of time periods can be derived from a base calendar and/or modified/defined by a set of working times and non-working exception times. All time periods defined by IfcWorkCalendar.ExceptionTimes override the time periods inherited from the base calendar (base calendar is defined as the next applicable calendar for the task or resource). Thus, exception times replace the working times from the base calendar.

    The base calendar of a work calendar is defined by IfcRelAssignsToControl, where IfcRelAssignsToControl.RelatingControl is linked with the base calendar and IfcRelAssignsToControl.RelatedObjects is linked with work calendars that are derived from the base calendar. Although not restricted by the IfcRelAssignsToControl relationship it is only allowed to have one base calendar.

    Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011.

    Figure 17 — Work calendar instantiation

    " 2575;IfcRelSequence;"

    IfcRelSequence is a sequential relationship between processes where one process must occur before the other in time and where the timing of the relationship may be described as a type of sequence. The relating process (IfcRelSequence.RelatingProcess) is considered to be the predecessor in the relationship (has precedence) whilst the related process (IfcRelSequence.RelatedProcess) is the successor.

    IfcRelSequence is defined as one-to-one relationship; therefore it assigns one predecessor to one successor.

    HISTORY  New entity in IFC 1.0.
    IFC2x4 CHANGE  Relocated to IfcProcessExtension schema. TimeLag and SequenceType made optional. USERDEFINED added to the IfcSequenceType enumeration. UserDefinedSequenceType attribute added. WHERE rule controlling use of the USERDEFINED enumeration added.

    Use definitions

    IfcRelSequence is used to describe the logical sequence relationship that exists between two processes. This logical relationship identifies that there is a predecessor or relating process and a successor or related process. In IFC, there may be one predecessor and one successor in the relationship. Many occurrences of IfcRelSequence may exist to describe the sequence relationships of a predecessor task with many successor tasks or of many predecessor tasks with one successor task, thus enabling a m:n sequence relationship between tasks. Please note that sequence relationships always should stay within the limits of a directed, non-cyclic graph.

    A sequence type may be set for a sequence. For tasks assigned to a work schedule, it is expected that the sequence type will be asserted. For a process map, where the sequence relationship between processes is simply a logical flow, it need not be asserted.

    A time lag may be assigned to a sequence, and the sequence type defines the way in which the time lag applies to the sequence either as a ratio or percentage of time duration (e.g. start successor task when predecessor is 50% complete) or as a time measure (e.g. start successor task 1 week after commencement of the predecessor task). Care should be used when assigning a time lag to a sequence depending on the setting of the sequence type since there is no checking that the time lag value is in keeping with the sequence type set.

    " 2590;IfcTaskType;"

    An IfcTaskType defines a particular type of task that may be specified for use within a work control.

    HISTORY  New entity in IFC2x4

    An IfcTaskType provides for all forms of types of task that may be specified.

    Usage of IfcTaskType defines the parameters for one or more occurrences of IfcTask. Parameters may be specified through property sets that may be enumerated in the IfcTaskTypeEnum data type or through explict attributes of IfcTaskType. Task occurrences (IfcTask entities) are linked to the task type through the IfcRelDefinesByType relationship.

    Composition use definition

    IfcTaskType may nest other IfcTaskType or IfcTask entities using the IfcRelNests relationship. Such nesting indicates decomposed level of detail. Nesting of IfcTask entities is used if a task type shall be detailed by a sequence of tasks or if there is a need to include additional time information such as the duration of subtasks. Please note that IfcTask entities being contained within an IfcTaskType are linked with their task occurrences via IfcRelDefinesByObject relationships. It is also possible to define a task type for these IfcTask entities via IfcRelDefinesByType relationships. For further information please see the documentation of IfcRelDefinesByObject.

    Figure 16 shows the definition of a task type that is part of a task template library. Please note that in this example the task type is further subdivided into tasks that define task times (for example, duration) and/or a task sequence.

    Figure 16 — Task type relationships

    " 2594;IfcProcedureType;"

    An IfcProcedureType defines a particular type of procedure that may be specified.

    HISTORY  New entity in IFC2x4

    An IfcProcedureType provides for all forms of types of procedure that may be specified.

    Usage of IfcProcedureType defines the parameters for one or more occurrences of IfcProcedure. Parameters may be specified through property sets that may be enumerated in the IfcProcedureTypeEnum data type or through explict attributes of IfcProcedure. Procedure occurrences (IfcProcedure entities) are linked to the procedure type through the IfcRelDefinesByType relationship.

    " 2597;IfcEventType;"

    An IfcEventType defines a particular type of event that may be specified.

    HISTORY  New entity in IFC2x4

    An IfcEventType provides for all forms of types of event that may be specified.

    Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship.

    " 2604;IfcCostSchedule;"

    An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order.

    HISTORY New Entity in IFC Release 2.0. Modified in IFC 2x2
    IFC2x4 CHANGE Attribute 'ID' changed to Identification and promoted to supertype IfcControl, PredefinedType made optional, attributes PreparedBy, SubmittedBy, TargetUsers removed.

    Declaration Use Definition

    The IfcCostSchedule may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcCostSchedule. Alternatively, if the IfcCostSchedule is aggregated within another IfcControl object, then it shall not have a direct declaration relationship (whereas the containing object may have a declaration relationship).

    Assignment Use Definition

    The IfcCostSchedule may be assigned to the following entities using relationships as indicated:

    The IfcCostSchedule may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcCostSchedule and RelatedObjects contains one or more objects of the following types:

    • IfcCostItem: Indicates costs published within this cost schedule, typically a single root cost item forming a hierarchy of nested cost items.

    Classification Use Definition

    Classifications may be applied using IfcRelAssociatesClassification where RelatedObjects contains the IfcCostSchedule and RelatingClassification refers to an IfcClassification or IfcClassificationReference.

    • IfcClassification: Classifications to be used for cost items within the cost schedule.

    Approval Use Definition

    Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

    " 2619;IfcProjectOrder;"

    A project order is a directive to purchase products and/or perform work, such as for construction or facilities management.

    Project orders are typically formal contracts between two organizations, where cost and time information may be rigid or flexible according to contained schedule types and constraints.

    HISTORY New entity in IFC 2.0
    IFC2x4 CHANGE Attribute 'ID' changed to Identification and promoted to supertype IfcControl. Attribute 'LongDescription' added.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Declaration Use Definition

    The IfcProjectOrder may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcProjectOrder. Alternatively, if the IfcProjectOrder is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).

    Composition Use Definition

    As shown in Figure 160, an IfcProjectOrder may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcProjectOrder and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • (All Types): May contain IfcCostSchedule components. A cost schedule may indicate costs and quantities where the cost schedule type may designate whether rates and/or quantities are estimated or final. Such cost schedule may have assigned cost items indicating detail, where each cost item may have assigned products, processes, or resources.
    • WORKORDER: May contain IfcWorkSchedule components. A work schedule may indicate tasks and scheduled times where the work schedule type may designate whether tasks and/or times are planned or actual. Such work schedule may have assigned tasks indicating detail, where tasks may be assigned to products and may have assigned resources.

    The IfcProjectOrder may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcProjectOrder and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:

    • WORKORDER: May contain IfcProjectOrder sub-items having PredefinedType CHANGEORDER. A work order may be nested into change orders to indicate contract ammendment, in order of issue.

    Figure 161 — Project order composition

    Assignment Use Definition

    As shown in Figure 161, an IfcProjectOrder may be assigned to the following entities using relationships as indicated:

    The IfcProjectOrder may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcProjectOrder and RelatedObjects contains one or more objects of the following types:

    • IfcActor: Organization(s) contracted to fulfill the order, typically a single contractor, subcontractor, or supplier.

    Figure 162 — Project order assignment

    Approval Use Definition

    Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

    " 2631;IfcCostItem;"

    An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more.

    Each instance of IfcCostItem may have a name and a description. Depending on the use for which the cost is intended, these values should be asserted on the basis of agreement. For instance, the Name attribute could be used to provide a common value that enables distinct instances to be brought together in a nesting arrangement (see below) while the Description attribute may be used to provide text used for item description in a costing schedule.

    An IfcCostItem can link one or many IfcCostValue's representing a unit cost, total cost, or a unit cost with one or many quantities used to generate the total cost. The quantities can be given as individual quantities, or those quantities are provided as element quantities by one or many building elements. The IfcCostValue.CostType attribute indicates the category of cost, which may be used to present the value in a particular column. For nested cost items (having IfcRelNests relationship), IfcCostValue.CostType is significant such that IfcCostValue.AppliedValue is calculated as the sum of all nested costs having the same IfcCostValue.CostType or if set to an asterisk ('*'), then the sum of all nested costs of all cost types. An IfcCostValue may represent an original value or a value derived from formulas using IfcAppliedValueRelationship. For example, taxes may be calculated as a percentage of a subtotal.

    HISTORY New Entity in IFC Release 2.0.
    IFC2x4 CHANGE Attribute PredefinedType, CostValues, and CostQuantities added.

    Classification Use Definition

    Instances of IfcCostItem are used for cost estimates, budgets, and other forms, where a variety of identification codes are used extensively to identify the meaning of the cost. Examples include project phase codes, CSI codes, takeoff sequence numbers, and cost accounts. The model allows for all classes that are ultimately subtypes of IfcObject to inherit the ability to have one or more instances of IfcClassificationReference to be assigned. Where identification codes are required, the generic IfcRelAssociatesClassification facility should be used.

    Composition Use Definition

    An IfcCostItem can nest other instances of IfcCostItem through its relationships to IfcRelNests. This can be used to enable the development of complex groups of costs as may be found in cost schedules through to pages, sections and complete cost schedules.

    There is always a summary cost item as the root item of the tree representing the cost item nesting. Subsequent instances of IfcCostItem are assigned to the summary cost item using IfcRelNests. The summary cost item itself is assigned to IfcCostSchedule through the IfcRelAssignsToControl relationship.

    Figure 157 illustrates a cost item composition used for a cost schedule. Each line item has a quantity and separate unit costs where IfcCostValue.CostType indicates the category of cost. The summary item has a hierarchy of costs calculated according to IfcAppliedValueRelationship.ArithmeticOperator, where IfcCostValue.CostType identifies the category to be totalled. The Tax component has IfcCostValue.CostType set to 'Material' which indicates it is the sum of all nested values of the 'Material' category ($3 x 3000 + $118 x 100 = $20800). The Subtotal component has IfcCostValue.CostType set to an asterisk ('*') which indicates it is the sum of all nested values of all categories.

    Figure 157 — Cost composition

    Assignment Use Definition

    An IfcCostItem can be calculated based on quantities from objects through its relationship to IfcRelAssignsToControl.

    For quantity-based costing, IfcElement, IfcTask, or IfcResource occurrence subtypes may be used. Multiple elements may be assigned of the same or different types, using IfcPhysicalQuantity entities defined at each object. Each IfcPhysicalQuantity type must be identical (for example, all values are IfcAreaQuantity) such that they can be added together.

    For rate-based costing (specifically for IfcCostScheduleTypeEnum.SCHEDULEOFRATES), a single IfcTypeProduct, IfcTypeProcess, or IfcTypeResource subtype may be used to reflect rates for occurrences of such types. This enables the possibility to generate a quantity-based cost schedule for occurrences based on types with rate-based cost schedules.

    IfcRelAssignsToControl is also used in the opposite direction to link the root IfcCostItem to an IfcCostSchedule where RelatingControl is the IfcCostSchedule.

    Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly.

    Figure 168 — Cost assignment

    " 2638;IfcPermit;"

    A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply.

    HISTORY New entity in IFC2x2
    IFC2x4 CHANGE PermitID renamed to Identification and promoted to supertype IfcControl, Attributes PredefinedType, Status, and LongDescription added.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Declaration Use Definition

    The IfcPermit may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcPermit. Alternatively, if the IfcPermit is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).

    Composition Use Definition

    The IfcPermit may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcPermit and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • ACCESS: May contain IfcWorkCalendar components. A work calendar may indicate the time period of the permit and allowed times when work may be performed. Such work calendar may have assigned resources indicating equipment or labor permitted at various times.
    • WORK: May contain IfcWorkSchedule components. A work schedule may indicate tasks and scheduled times where the work schedule type may designate whether tasks and/or times are planned or actual. Such work schedule may have assigned tasks indicating detail, where tasks may be assigned to products and may have assigned resources.

    As shown in Figure 159, an IfcPermit may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcPermit and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:

    • (All Types): May contain IfcPermit sub-items. A permit may be nested to indicate permit ammendments, in order of issue.

    Figure 159 — Permit composition

    Assignment Use Definition

    As shown in Figure 160, an IfcPermit may be assigned to the following entities using relationships as indicated:

    The IfcPermit may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcPermit and RelatedObjects contains one or more objects of the following types:

    • IfcActor: Organization(s) bound to the permit, typically a single contractor.

    Figure 160 — Permit assignment

    Approval Use Definition

    Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

    " 2648;IfcActionRequest;"

    A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work.

    Requests may take many forms depending on the need including fault reports for maintenance, requests for small works, and purchase requests (where these are to be made through a help desk or buying function).

    HISTORY: New entity in IFC2x2
    IFC2x4 CHANGE RequestID renamed to Identification and promoted to supertype IfcControl, attributes PredefinedType, Status, and LongDescription added.

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Declaration Use Definition

    The IfcActionRequest may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcActionRequest. Alternatively, if the IfcActionRequest is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).

    Composition Use Definition

    As shown in Figure 155, an IfcActionRequest may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • (All Types): May contain IfcCostSchedule components. A cost schedule may indicate costs and quantities where the cost schedule type may designate whether rates and/or quantities are estimated or final. Such cost schedule may have assigned cost items indicating detail, where each cost item may have assigned products, processes, or resources.

    The IfcActionRequest may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:

    • (All Types): May contain IfcActionRequest sub-items. A request may be nested into follow-up requests, in order of issue.

    Figure 155 — Action request composition

    Assignment Use Definition

    As shown in Figure 156, an IfcActionRequest may be assigned to the following entities using relationships as indicated:

    The IfcActionRequest may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcActionRequest and RelatedObjects contains one or more objects of the following types:

    • IfcActor: Person or organization(s) fulfilling the request such as a facilities manager or contractor.

    Figure 156 — Action request assignment

    Approval Use Definition

    Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

    " 2661;IfcConstructionResource;"

    IfcConstructionResource is an abstract generalization of the different resources used in construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource.

    A resource represents ""use of something"" and does not necessarily correspond to a single item such as a person or vehicle, but represents a pool of items having limited availability such as general labor or an equipment fleet. A resource can represent either a generic resource pool (not having any task assignment) or a task-specific resource allocation (having an IfcTask assignment).

    HISTORY  New entity in IFC2x2.
    IFC2x4 CHANGE  Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described.

    Type use definition

    IfcConstructionResource defines the occurrence of any construction resource; common information about construction resource types is handled by IfcConstructionResourceType. The IfcConstructionResourceType (if present) may establish the common type name, common properties, common cost rates, and common productivities applied to specific task types. The IfcConstructionResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute as shown in Figure 186.

    The resource type may provide shared productivity and cost information, allowing tasks and resources to be selected according to lowest cost and/or shortest duration. Given an IfcProduct of a particular IfcTypeProduct type, an IfcTypeProcess may be selected from those assigned to the product type using IfcRelAssignsToProduct, and an IfcTypeResource may be selected from those assigned to the process type using IfcRelAssignsToProcess. Then IfcTask and IfcConstructionResource occurrences may be instantiated from the type definitions, applying productivitity and rate information to assigned quantities to calculate ResourceTime.ScheduleWork. Task durations can then be calculated by dividing ResourceTime.ScheduleWork by ResourceTime.ScheduleUsage.

    Figure 186 — Construction resource type use

    Composition use definition

    Resources may be decomposed into allocation pools using the IfcRelNests relationship as shown in Figure 187. For example, an IfcLaborResource for ""Electrician"" may be decomposed into three task-specific IfcLaborResource objects: ""Electrical Rough-in"", ""First Floor Circuits"", and ""Second Floor Circuits"". Both relating and related sides may represent the same ResourceTime.ScheduleUsage quantity (for example, 6 workers time-shared), or the related side may break out ResourceTime.ScheduleUsage quantities for reserved use (for example, 4 workers and 2 workers).

    A common scenario is two nesting levels where the first-level resources have no task assignments; while second-level resources have specific task assignments indicating that the resource is subdivided into allocations for specific tasks. While the model allows unlimited nesting of resources, implementer agreements may restrict to two nesting levels with task assignments specifically at the second level.

    Figure 187 — Construction resource composition use

    Declaration use definition

    A root-level resource (specifically IfcCrewResource or IfcSubContractResource) is declared within the project by IfcRelDeclares where RelatingContext refers to the single IfcProject and RelatedObjects refers to one or more IfcConstructionResource, and other root-level objects within the project.

    Assignment use definition

    A resource may be assigned to an actor by IfcRelAssignsToActor where RelatingActor refers to an IfcActor and RelatedObjects refers to one or more IfcConstructionResource or other objects. Such relationship indicates the actor responsible for allocating the resource such as partitioning into task-specific allocations, delegating to other actors, and/or scheduling over time. Note that this assignment does not indicate the person or organization performing the work; that is indicated by IfcRelAssignsToResource. The actor responsible for the resource may or may not be the same as any actor(s) performing work.

    A resource may be assigned to a control by IfcRelAssignsToControl where RelatingProduct refers to an IfcControl and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcWorkCalendar is assigned indicating availability of the resource, where such calendar is nested within a base calendar or an IfcWorkPlan which in turn is assigned to the IfcProject.

    A resource may be assigned to a group by IfcRelAssignsToGroup where RelatingGroup refers to an IfcGroup and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcAsset is assigned indicating the asset to be tracked, where such asset is nested within an IfcInventory which in turn is assigned to the IfcProject.

    A resource may be assigned to a product by IfcRelAssignsToProduct where RelatingProduct refers to an IfcProduct and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcElement subtype is assigned indicating the product to be constructed, where such product is connected to a spatial structure which in turn is aggregated within the IfcProject.

    A resource may be assigned to a process by IfcRelAssignsToProcess where RelatingProcess refers to an IfcProcess and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcTask is assigned indicating the task to be performed by the resource, where such task is nested within a summary task which in turn is assigned to the IfcProject.

    A resource may have assignments of other objects using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionResource and RelatedObjects refers to one or more objects such as IfcActor or IfcProduct subtypes. This relationship indicates specific objects assigned to fulfill resource usage.

    Figure 188 illustrates resource assignment.

    Figure 188 — Construction resource assignment use

    Constraint use definition

    Constraints may be applied to a resource to indicate fixed work (such as total person-hours) or fixed usage (such as simultaneous workers). The relationship IfcRelAssociatesConstraint is used where RelatingConstraint points to an IfcMetric and RelatedObjects includes the IfcConstructionResource as shown in Figure 189. IfcRelAssociatesConstraint.Name identifies the attribute to be constrained using a period (""."") to dereference; for example, ""ResourceTime.ScheduleWork"" refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. The following attributes may be constrained:

    • 'ResourceTime.ScheduleUsage': Indicate fixed usage (e.g. simultaneous workers) with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to ResourceTime.ScheduleWork should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa
    • 'ResourceTime.ScheduleWork': Indicate fixed work (e.g. total person-hours) with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to ResourceTime.ScheduleUsage should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa.

    Figure 189 — Construction resource constraint use

    Time series use definition

    Time series may be applied to a resource to indicate the break-out of attribute values over time. The relationship IfcRelAssociatesTimeSeries is used where RelatingTimeSeries points to an IfcTimeSeries (either IfcRegularTimeSeries or IfcIrregularTimeSeries) and RelatedObjects includes the IfcConstructionResource as shown in Figure 190. IfcRelAssociatesTimeSeries.Name identifies the attribute to be constrained using a period (""."") to dereference; for example, ""ResourceTime.ScheduleWork"" refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. Refer to attribute descriptions on IfcResourceTime for attribute-specific usage.

    Each IfcTimeSeriesValue indicates a LIST of values, where the sequence of the value corresponds to the IfcCostValue at IfcConstructionResource.CostRatesConsumed. For example, if CostRatesConsumed has two IfcCostValue items in the LIST, ""Standard"" and ""Overtime"", then IfcTimeSeriesValue(IfcDuration('T8H0M0S'),IfcDuration('T2H0M0S')) would indicate 8 hours at Standard rate and 2 hours at Overtime rate. If the list of values at IfcTimeSeriesValue.ListValues is less than the size of CostRatesConsumed, then subsequent values are considered to be zero.

    Figure 190 — Construction resource time series use

    Document use definition

    Documents may be published for work plans consisting of schedules, calendars, tasks, and resources. The relationship IfcRelAssociatesDocument may be used to preserve mappings to such document where RelatingDocument points to an IfcDocumentReference and RelatedObjects includes the IfcConstructionResource as shown in Figure 191. IfcDocumentReference.ItemReference identifies the resource within the scope of the document, such as an integer or guid. The IfcDocumentReference.ReferencedDocument corresponds to the document which is uniquely identified by IfcDocumentInformation.DocumentId and/or IfcDocumentInformation.PublicationLocation. Such document mapping allows items in the document to be updated from the building information model and vice-versa.

    Figure 191 — Construction resource document use

    Baseline use definition

    A resource may have any number of baselines defined using the relationship IfcRelDefinesByObject where RelatingObject is the ""current"" resource and RelatedObjects consists of multiple ""baseline"" resources, each representing a copy of the resource as it existed at an earlier point in time as shown in Figure 192. Each baseline IfcConstructionResource is identified by its nested IfcRelAssignsToControl relationship to an IfcWorkSchedule having PredefinedType=BASELINE, IfcWorkSchedule.CreationDate indicating the date of the baseline, and IfcWorkSchedule.Name indicating the name of the baseline.

    Figure 192 — Construction resource baseline use

    " 2675;IfcConstructionEquipmentResource;"

    IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction.

    HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4.

    Occurrences of IfcConstructionEquipmentResource are products that are used as resources to assist the process of construction. More specifically, they are products that are standalone items brought to a project to fulfil a particular purpose. Examples might be a tower crane or other mobile crane, a screwing machine, a lifting hoist etc. They are explicitly instances of IfcProduct and may be drawn from various of the subtype, for instance IfcTransportElement, IfcDiscreteAccessory, IfcProxy (for particular cases where more precise usage details are not available).

    A product that is used as an IfcConstructionEquipmentResource is referenced using the IfcRelAssignsToResource.RelatedObjects relationship.

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcConstructionEquipmentResource defines the occurrence of any construction equipment resource; common information about construction equipment resource types is handled by IfcConstructionEquipmentResourceType. The IfcConstructionEquipmentResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionEquipmentResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Quantity use definition

    The quantities relating to the IfcConstructionEquipmentResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment.

    Figure 183 — Construction equipment resource assignment

    " 2689;IfcLaborResource;"

    An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work.

    HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC 2x4.
    IFC2x4 CHANGE: The attribute Skillset has been deleted; use LongDescription to describe the skillset.

    The purpose of an IfcLaborResource is to identify a skillset that may be required or used. The skillset identified may be (for instance) chargehand, foreman, labourer, plumbers mate etc. and provides a designation of a particular level of skill. It can be used to identify the generic type of labor resource that is required for a purpose without having to be specific about the actor (person or organization) providing the resource occurrence. It may be particularly useful when creating an overall plan for a process or processes. For instance, within maintenance or work planning there may be a known task that needs to be done which is planned to require a 'chargehand pipe fitter'. There may be several such labor resources available and so the need to identify which will be used is not necessary at the planning stage.

    At a later stage, individual actors can be determined for the labor resources. This is achieved through specifiying the actor through IfcActor. The actor is then identified as the labour resource occurrence through the IfcRelAssignsToResource.RelatedResource attribute. The IfcLaborResource provides the IfcRelAssignsToResource.RelatingResource attribute.

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcLaborResource defines the occurrence of any labor resource; common information about labor resource types is handled by IfcLaborResourceType. The IfcLaborResourceType (if present) may establish the common type name, common properties, common productivities for various task types using IfcRelAssignsToProcess. The IfcLaborResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Quantity use definition

    The quantities relating to the IfcLaborResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations.

    Figure 194 — Labor resource assignment use

    " 2714;IfcCrewResource;"

    IfcCrewResource represents a collection of internal resources used in construction processes.

    HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4

    Identification of people and equipment of a crew is achieved through their specification at the level of the component. Therefore, knowing which persons are within a crew is achieved through identifying the persons assigned to each IfcLaborResource within the IfcCrewResource. Similarly, identifying that a screwing machine for pipe fitting forms part of the crew is achieved by relating an appropriate instance of IfcElementComponent to the IfcConstructionEquipmentResource forming an element of the IfcCrewResource.

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    " 2722;IfcSubContractResource;"

    IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor.

    HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC 2x4.
    IFC2x4 CHANGE: The attribute SubContractor has been deleted; use IfcRelAssignsToResource to assign an IfcActor to fulfill the role as the subcontractor. The attribute JobDescription has been deleted; use LongDescription to describe the job.

    An IfcSubContractResource can be used in cost estimating and work planning with or without specifying the subcontractor and contract agreement.

    The purpose of an IfcSubContractResource is to indicate work of a particular type that is that is to be engaged through the use of a sub-contract. It's aim is to identify the description of the sub-contract work required. It can be used to identify the generic type of sub-contract resource that is required for a purpose without having to be specific about the actor (person or organization) providing the resource occurrence. It may be particularly useful when creating an overall plan for a process or processes. For instance, within maintenance or work planning there may be a known task that needs to be done which is planned to require an 'insulation specialist'.

    A subcontract resource may be described at various stages and levels of detail through its assignments:

    • Subcontract resource designated for particular tasks
    • Actors identified to request bids
    • Cost schedules (bids) received from actors
    • Project order (work order, change order, etc.) executed

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcSubContractResource defines the occurrence of any subcontract resource; common information about subcontract resource types is handled by IfcSubContractResourceType. The IfcSubContractResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcSubContractResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource.

    Figure 195 — Subcontract assignment use

    " 2730;IfcConstructionProductResource;"

    IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction.

    HISTORY: New Entity in IFC Release 2.0. Renamed from IfcProductResource in IFC 2x. Base type and documentation extended in IFC2x4.

    Occurrences of IfcConstructionProductResource are usage of products to assist the process of construction. More specifically, they are usage of products that result from some construction processes and that are then used as resources to facilitate further construction. For instance, formworks can be instantiated as products resulting from the process ‘constructing formwork’. However, they are used as resources in the process ‘pouring concrete’ in a later stage of the project. IfcConstructionProductResource occurrences are explicitly instances of IfcProduct and may be drawn from various of the subtypes, for instance IfcElementComponent, IfcElementAssembly, IfcProxy (for particular cases where more precise usage details are not available). The product that is used as a construction resource is referenced using the IfcRelAssignsToResource.RelatedObjects relationship.

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcConstructionProductResource defines the occurrence of any product resource; common information about product resource types is handled by IfcConstructionProductResourceType. The IfcConstructionProductResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionProductResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments.

    Figure 185 — Construction product resource assignment

    " 2738;IfcConstructionMaterialResource;"

    IfcConstructionMaterialResource identifies a material resource type in a construction project.

    HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4.
    IFC2x4 NOTE: The attribute Suppliers has been deleted; use IfcRelAssignsToResource to assign an IfcActor to fulfill the role as a supplier. The attribute UsageRatio has been deleted; use BaseQuantityConsumed and BaseQuantityProduced to indicate material usage.

    Occurrences of IfcConstructionMaterialResource are consumed (wholly or partially), or occupied during a construction work task (IfcTask).

    Similar to IfcConstructionProductResource, sometimes things such as 5000kg of gravel are already instantiated as an IfcProduct because it is a result of a work task (for example, ‘transporting gravel’). In this case, the instance of IfcConstructionMaterialResource can be associated with the product instance ‘5000kg of gravel’ to provide more information for resource uses. Nevertheless, IfcConstructionMaterialResource should only be used to represent resource usage (for example ‘gravel’), but not product substances (for example, ‘5000kg of gravel’).

    Note: This class is not the same as IfcMaterial; the former can typically represent the type of bulk materials such as sand, gravels, nails and so on (note these can be instantiated from IfcProduct as well depending their uses in the system) used in a construction process. The latter is about physical materials used in a physical building element typically with detailed positioning (e.g. offset) and layering information.

    Quantities for an IfcConstructionMaterialResource are defined through IfcRelDefinesByProperty and use IfcElementQuantity.

    Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

    Type use definition

    IfcConstructionMaterialResource defines the occurrence of any material resource; common information about material resource types is handled by IfcConstructionMaterialResourceType. The IfcConstructionMaterialResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionMaterialResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

    Quantity use definition

    The quantities relating to the IfcConstructionMaterialResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material.

    Figure 184 — Construction material resource assignment

    " 2762;IfcConstructionResourceType;"

    IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type.

    A resource type represents a model of ""use of something"" and does not necessarily correspond to a specific type of object such as a person or vehicle, but represents possible usages of such objects such as general labor or an equipment fleet. A resource type can either represent usage in general (consumption attributes defined but no task type assignment) or a task-specific resource type (production attributes defined and having an IfcTask assignment).

    A construction resource type captures common productivities and cost rates for applying resources to particular task types.

    HISTORY: New entity in IFC2x4.

    Composition use definition

    Resource types may be decomposed into nested resource types indicating productivities when applying the resource to specific task types using the IfcRelNests relationship where IfcRelNests.RelatingObject refers to the general resource type and IfcRelNests.RelatedObjects refers to one or more task-specific productivities. For example, an IfcLaborResourceType may be defined for ""Carpenter"" which may have a nested IfcLaborResourceType for ""Carpenter - Wall Framing"" and another nested IfcLaborResourceType for ""Carpenter - Drywall"", each of which may have productivities based according to specific task types (IfcTaskType).

    Assignment use definition

    Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s).

    Figure 193 — Construction resource type assignment

    " 2774;IfcCrewResourceType;"

    The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a crew resource specification the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource.

    HISTORY New entity in IFC2x4.
    " 2777;IfcLaborResourceType;"

    The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a labor resource specification (i.e. the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource.

    HISTORY New entity in IFC2x4.
    " 2780;IfcSubContractResourceType;"

    The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a subcontract resource specification (the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource.

    HISTORY New entity in IFC2x4.
    " 2783;IfcConstructionMaterialResourceType;"

    The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a construction material resource specification (i.e. the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcConstructionMaterialResourceType are represented by instances of IfcConstructionMaterialResource.

    HISTORY New entity in IFC2x4.

    Assignment Use Definition

    In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material.

    " 2786;IfcConstructionEquipmentResourceType;"

    The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a construction equipment resource specification (the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcConstructionEquipmentResourceType are represented by instances of IfcConstructionEquipmentResource.

    HISTORY New entity in IFC2x4.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment.

    " 2789;IfcConstructionProductResourceType;"

    The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include:

    • common productivities
    • common cost rates
    • common properties within shared property sets

    It is used to define a construction product resource specification (i.e. the specific resource information that is common to all occurrences of that resource). Resource types may be exchanged without being already assigned to occurrences.

    Occurrences of the IfcConstructionProductResourceType are represented by instances of IfcConstructionProductResource.

    HISTORY New entity in IFC2x4.

    Assignment use definition

    In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned.

    " 2793;IfcMotorConnectionType;"

    The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a motor connection specification (i.e. the specific product information, that is common to all occurrences of that product type). Motor Connection types may be exchanged without being already assigned to occurrences. Occurrences of IfcMotorConnectionType are represented by instances of IfcMotorConnection.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcMotorConnectionType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions.

    " 2796;IfcOutletType;"

    The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a outlet specification (i.e. the specific product information, that is common to all occurrences of that product type). Outlet types may be exchanged without being already assigned to occurrences. Occurrences of IfcOutletType are represented by instances of IfcOutlet.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcOutletType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Conductor': Material from which the conductors are constructed.
    • 'Surface': Material from which the outlet plate is constructed.

    Port Use Definition

    The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions.

    " 2807;IfcElectricApplianceType;"

    The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a electric appliance specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Appliance types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricApplianceType are represented by instances of IfcElectricAppliance.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcElectricApplianceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions.

    " 2829;IfcLightFixtureType;"

    The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a light fixture specification (i.e. the specific product information, that is common to all occurrences of that product type). Light Fixture types may be exchanged without being already assigned to occurrences. Occurrences of IfcLightFixtureType are represented by instances of IfcLightFixture.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcLightFixtureType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions.

    " 2838;IfcLampType;"

    The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a lamp specification (i.e. the specific product information, that is common to all occurrences of that product type). Lamp types may be exchanged without being already assigned to occurrences. Occurrences of IfcLampType are represented by instances of IfcLamp.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcLampType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Bulb': Material from which the bulb is constructed (e.g. glass).
    • 'Conductor': Material from which the conductor is constructed.
    • 'Filament': Material from which the filament is constructed.

    Port Use Definition

    The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions.

    " 2853;IfcAudioVisualApplianceType;"

    The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a audio-visual appliance specification (i.e. the specific product information, that is common to all occurrences of that product type). Audio-Visual Appliance types may be exchanged without being already assigned to occurrences. Occurrences of IfcAudioVisualApplianceType are represented by instances of IfcAudioVisualAppliance.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcAudioVisualApplianceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Composition Use Definition

    The IfcAudioVisualApplianceType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcAudioVisualApplianceType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    Port Use Definition

    The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions.

    " 2870;IfcCommunicationsApplianceType;"

    The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a communications appliance specification (i.e. the specific product information, that is common to all occurrences of that product type). Communications Appliance types may be exchanged without being already assigned to occurrences. Occurrences of IfcCommunicationsApplianceType are represented by instances of IfcCommunicationsAppliance.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCommunicationsApplianceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Composition Use Definition

    The IfcCommunicationsApplianceType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCommunicationsApplianceType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    • COMPUTER: May contain IfcAudioVisualAppliance components. Computers may be aggregated into audio-visual components such as displays, cameras, speakers, or microphones.

    Port Use Definition

    The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions.

    " 2888;IfcSwitchingDeviceType;"

    The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a switching device specification (i.e. the specific product information, that is common to all occurrences of that product type). Switching Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcSwitchingDeviceType are represented by instances of IfcSwitchingDevice.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSwitchingDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Conductor': Material from which the conductors are constructed.
    • 'Surface': Material from which the switch surface is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions.

    " 2903;IfcElectricTimeControlType;"

    The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a electric time control specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Time Control types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricTimeControlType are represented by instances of IfcElectricTimeControl.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcElectricTimeControlType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions.

    " 2912;IfcProtectiveDeviceType;"

    The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a protective device specification (i.e. the specific product information, that is common to all occurrences of that product type). Protective Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcProtectiveDeviceType are represented by instances of IfcProtectiveDevice.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcProtectiveDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions.

    " 2925;IfcElectricDistributionBoardType;"

    The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a distribution board specification (i.e. the specific product information, that is common to all occurrences of that product type). Distribution Board types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricDistributionBoardType are represented by instances of IfcElectricDistributionBoard.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcElectricDistributionBoardType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions.

    " 2935;IfcCableCarrierFittingType;"

    The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cable carrier fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Carrier Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableCarrierFittingType are represented by instances of IfcCableCarrierFitting.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCableCarrierFittingType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions.

    " 2945;IfcJunctionBoxType;"

    The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a junction box specification (i.e. the specific product information, that is common to all occurrences of that product type). Junction Box types may be exchanged without being already assigned to occurrences. Occurrences of IfcJunctionBoxType are represented by instances of IfcJunctionBox.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcJunctionBoxType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions.

    " 2953;IfcCableFittingType;"

    The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cable fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableFittingType are represented by instances of IfcCableFitting.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCableFittingType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Conductor': Material from which the conductors are constructed, such as Aluminium or Copper.

    Port Use Definition

    The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions.

    " 2964;IfcElectricFlowStorageDeviceType;"

    The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a electric flow storage device specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Flow Storage Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricFlowStorageDeviceType are represented by instances of IfcElectricFlowStorageDevice.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowStorageDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcElectricFlowStorageDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions.

    " 2975;IfcCableSegmentType;"

    The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cable segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableSegmentType are represented by instances of IfcCableSegment.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcCableSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Conductor': The material from which the conductor is constructed such as Aluminium or Copper.
    • 'Insulation': The material from which the insulation is constructed such as PVC, PEX, EPR, etc.
    • 'Screen': The material from which the screen that covers the sheath is constructed (mantel) such as Aluminium, Copper, Steel , Lead.
    • 'Sheath': The outer sheathing of the cable which may be color-coded.

    Composition Use Definition

    The IfcCableSegmentType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCableSegmentType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    Port Use Definition

    The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions.

    " 2985;IfcCableCarrierSegmentType;"

    The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cable carrier segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Carrier Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableCarrierSegmentType are represented by instances of IfcCableCarrierSegment.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcCableCarrierSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Body': Material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions.

    " 2995;IfcProtectiveDeviceTrippingUnitType;"

    The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a protective device tripping unit specification (i.e. the specific product information, that is common to all occurrences of that product type). Protective Device Tripping Unit types may be exchanged without being already assigned to occurrences. Occurrences of IfcProtectiveDeviceTrippingUnitType are represented by instances of IfcProtectiveDeviceTrippingUnit.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcProtectiveDeviceTrippingUnitType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions.

    " 3005;IfcCableSegment;"

    A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals.

    A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCableSegment defines the occurrence of any cable segment; common information about cable segment types is handled by IfcCableSegmentType. The IfcCableSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableSegmentType has ports or aggregated elements, such objects are reflected at the IfcCableSegment occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCableSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcCableSegment override the properties defined at IfcCableSegmentType. Refer to the documentation at the supertype IfcFlowSegment and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCableSegment is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCableSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Conductor: Material from which the conductors are constructed, such as Aluminium or Copper.
    • Insulation: The material from which the insulation is constructed such as PVC, PEX, or EPR.
    • Screen: The material from which the screen that covers the sheath is constructed (mantel) such as Aluminium, Copper, Steel, or Lead.
    • Sheath: The outer sheathing of the cable which may be color-coded.

    Composition Use Definition

    The IfcCableSegment may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCableSegment and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • CABLESEGMENT
      • May contain IfcCableSegment components having PredefinedType=CORESEGMENT. Cable segments may be aggregated into cable cores.
    • CORESEGMENT
      • May contain IfcCableSegment components having PredefinedType=CONDUCTORSEGMENT. Cable cores may be aggregated into cable conductors.

    Connection Use Definition

    The IfcCableSegment may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcCableSegment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cable segment occurrence is defined by IfcCableSegmentType, then the port occurrences must reflect those defined at the IfcCableSegmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCableSegment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3009;IfcCableCarrierSegment;"

    A cable carrier segment is a flow segment that is specifically used to carry and support cabling.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCableCarrierSegment defines the occurrence of any cable carrier segment; common information about cable carrier segment types is handled by IfcCableCarrierSegmentType. The IfcCableCarrierSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableCarrierSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableCarrierSegmentType has ports or aggregated elements, such objects are reflected at the IfcCableCarrierSegment occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCableCarrierSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableCarrierSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcCableCarrierSegment override the properties defined at IfcCableCarrierSegmentType. Refer to the documentation at the supertype IfcFlowSegment and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCableCarrierSegment is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCableCarrierSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCableCarrierSegment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cable carrier segment occurrence is defined by IfcCableCarrierSegmentType, then the port occurrences must reflect those defined at the IfcCableCarrierSegmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCableCarrierSegment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3013;IfcCableCarrierFitting;"

    A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCableCarrierFitting defines the occurrence of any cable carrier fitting; common information about cable carrier fitting types is handled by IfcCableCarrierFittingType. The IfcCableCarrierFittingType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableCarrierFittingType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableCarrierFittingType has ports or aggregated elements, such objects are reflected at the IfcCableCarrierFitting occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCableCarrierFittingType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableCarrierFittingType.HasPropertySets. If both are given, then the properties directly defined at IfcCableCarrierFitting override the properties defined at IfcCableCarrierFittingType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCableCarrierFitting is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCableCarrierFittingType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCableCarrierFitting are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cable carrier fitting occurrence is defined by IfcCableCarrierFittingType, then the port occurrences must reflect those defined at the IfcCableCarrierFittingType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCableCarrierFitting PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3017;IfcCableFitting;"

    A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCableFitting defines the occurrence of any cable fitting; common information about cable fitting types is handled by IfcCableFittingType. The IfcCableFittingType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableFittingType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableFittingType has ports or aggregated elements, such objects are reflected at the IfcCableFitting occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCableFittingType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableFittingType.HasPropertySets. If both are given, then the properties directly defined at IfcCableFitting override the properties defined at IfcCableFittingType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCableFitting is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCableFittingType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Casing: Material from which the casing is constructed.
    • Conductor: Material from which the conductors are constructed, such as Aluminium or Copper.

    Connection Use Definition

    The IfcCableFitting may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcCableFitting are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cable fitting occurrence is defined by IfcCableFittingType, then the port occurrences must reflect those defined at the IfcCableFittingType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCableFitting PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3021;IfcJunctionBox;"

    A junction box is an enclosure within which cables are connected.

    Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcJunctionBox defines the occurrence of any junction box; common information about junction box types is handled by IfcJunctionBoxType. The IfcJunctionBoxType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcJunctionBoxType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcJunctionBoxType has ports or aggregated elements, such objects are reflected at the IfcJunctionBox occurrence using the IfcRelDefinesByObject relationship.

    Figure 200 illustrates junction box type use.

    Figure 200 — Junction box type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcJunctionBoxType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcJunctionBoxType.HasPropertySets. If both are given, then the properties directly defined at IfcJunctionBox override the properties defined at IfcJunctionBoxType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcJunctionBox is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcJunctionBoxType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Connection Use Definition

    The IfcJunctionBox may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcJunctionBox are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the junction box occurrence is defined by IfcJunctionBoxType, then the port occurrences must reflect those defined at the IfcJunctionBoxType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcJunctionBox PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • DATA
      • Line#1 (DATA, SINK): A data line, typically a cable connecting from a network router communications device.
      • Line#2 (DATA, SINK): A data line, typically a cable connecting from a network router communications device.
      • Gang#1 (DATA, SOURCE): A slot to house a data outlet containing one or more jacks, ordered from left-to-right.
      • Gang#2 (DATA, SOURCE): A slot to house a data outlet containing one or more jacks, ordered from left-to-right.
    • POWER
      • Line (ELECTRICAL, SINK): The electrical supply line, typically a cable connecting from another junction box or from a protective device within a distribution board.
      • Load (ELECTRICAL, SOURCE): The next load in the circuit, typically a cable connecting to another junction box.
      • Gang#1 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right.
      • Gang#2 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right.
      • Gang#3 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right.
      • Gang#4 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right.

    Figure 201 illustrates junction box port use.

    Figure 201 — Junction box port use

    " 3025;IfcElectricFlowStorageDevice;"

    An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricFlowStorageDevice defines the occurrence of any electric flow storage device; common information about electric flow storage device types is handled by IfcElectricFlowStorageDeviceType. The IfcElectricFlowStorageDeviceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricFlowStorageDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricFlowStorageDeviceType has ports or aggregated elements, such objects are reflected at the IfcElectricFlowStorageDevice occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricFlowStorageDeviceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricFlowStorageDeviceType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricFlowStorageDevice override the properties defined at IfcElectricFlowStorageDeviceType. Refer to the documentation at the supertype IfcFlowStorageDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricFlowStorageDevice is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricFlowStorageDeviceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricFlowStorageDevice are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric flow storage device occurrence is defined by IfcElectricFlowStorageDeviceType, then the port occurrences must reflect those defined at the IfcElectricFlowStorageDeviceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricFlowStorageDevice PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device.
    • Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device.
    " 3029;IfcOutlet;"

    An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications.

    Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcOutlet defines the occurrence of any outlet; common information about outlet types is handled by IfcOutletType. The IfcOutletType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcOutletType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcOutletType has ports or aggregated elements, such objects are reflected at the IfcOutlet occurrence using the IfcRelDefinesByObject relationship.

    Figure 206 illustrates outlet type use.

    Figure 206 — Outlet type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcOutletType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcOutletType.HasPropertySets. If both are given, then the properties directly defined at IfcOutlet override the properties defined at IfcOutletType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcOutlet is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcOutletType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.
    • Conductor: Material from which the conductors are constructed.
    • Surface: Material from which the outer plate is constructed.

    Port Use Definition

    The distribution ports relating to the IfcOutlet are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the outlet occurrence is defined by IfcOutletType, then the port occurrences must reflect those defined at the IfcOutletType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcOutlet PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • DATAOUTLET
      • Line#1 (DATA, SINK): A data line, connecting to a cable commonly originating from a port on a router.
      • Line#2 (DATA, SINK): A data line, connecting to a cable commonly originating from a port on a router.
      • Jack#1 (DATA, SOURCE): Jacks in order of layout, going to the right and then down, which may accept a cable.
      • Jack#2 (DATA, SOURCE): Jacks in order of layout, going to the right and then down, which may accept a cable.
    • POWEROUTLET
      • Line (ELECTRICAL, SINK): The source of power, which may refer to a port on a junction box.
      • Jack#1 (ELECTRICAL, SOURCE): Upper jack, accepting a plug from an appliance or fixture.
      • Jack#2 (ELECTRICAL, SOURCE): Lower jack, accepting a plug from an appliance or fixture.
    • TELEPHONEOUTLET
      • Line#1 (DATA, SINK): A telephone line, connecting to a cable originating from a telecommunications distribution board.
      • Line#2 (DATA, SINK): A telephone line, connecting to a cable originating from a telecommunications distribution board.
      • Jack#1 (DATA, SOURCE): Jacks in order of layout, going to the right and then down, which may accept a cable.
      • Jack#2 (DATA, SOURCE): Jacks in order of layout, going to the right and then down, which may accept a cable.

    Figure 207 illustrates outlet port use.

    Figure 207 — Outlet port use

    " 3033;IfcLightFixture;"

    A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcLightFixture defines the occurrence of any light fixture; common information about light fixture types is handled by IfcLightFixtureType. The IfcLightFixtureType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcLightFixtureType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcLightFixtureType has ports or aggregated elements, such objects are reflected at the IfcLightFixture occurrence using the IfcRelDefinesByObject relationship.

    Figure 204 illustrates light fixture type use.

    Figure 204 — Light fixture type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcLightFixtureType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcLightFixtureType.HasPropertySets. If both are given, then the properties directly defined at IfcLightFixture override the properties defined at IfcLightFixtureType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcLightFixture is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcLightFixtureType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Connection Use Definition

    The IfcLightFixture may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcLightFixture are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the light fixture occurrence is defined by IfcLightFixtureType, then the port occurrences must reflect those defined at the IfcLightFixtureType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcLightFixture PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • Line (ELECTRICAL, SINK): The power supply line, typically a cable connected to a switch.
    • Socket#1 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#2 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#3 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#4 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#5 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#6 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#7 (LIGHTING, SOURCE): A lamp socket within the light fixture.
    • Socket#8 (LIGHTING, SOURCE): A lamp socket within the light fixture.

    Figure 205 illustrates light fixture port use.

    Figure 205 — Light fixture port use

    " 3037;IfcLamp;"

    A lamp is an artificial light source such as a light bulb or tube.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcLamp defines the occurrence of any lamp; common information about lamp types is handled by IfcLampType. The IfcLampType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcLampType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcLampType has ports or aggregated elements, such objects are reflected at the IfcLamp occurrence using the IfcRelDefinesByObject relationship.

    Figure 202 illustrates lamp type use.

    Figure 202 — Lamp type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcLampType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcLampType.HasPropertySets. If both are given, then the properties directly defined at IfcLamp override the properties defined at IfcLampType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcLamp is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcLampType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Bulb: Material from which the bulb is constructed such as glass.
    • Conductor: Material from which the conductor is constructed.
    • Filament: Material from which the filament is constructed.

    Port Use Definition

    The distribution ports relating to the IfcLamp are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the lamp occurrence is defined by IfcLampType, then the port occurrences must reflect those defined at the IfcLampType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcLamp PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • Socket (LIGHTING, SINK): The socket providing electricity.

    Figure 203 illustrates lamp port use.

    Figure 203 — Lamp port use

    " 3041;IfcElectricAppliance;"

    A communications appliance transmits and receives electronic or digital information as data or sound.

    Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricAppliance defines the occurrence of any electric appliance; common information about electric appliance types is handled by IfcElectricApplianceType. The IfcElectricApplianceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricApplianceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricApplianceType has ports or aggregated elements, such objects are reflected at the IfcElectricAppliance occurrence using the IfcRelDefinesByObject relationship.

    Figure 196 illustrates electric appliance type use.

    Figure 196 — Electric appliance type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricApplianceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricApplianceType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricAppliance override the properties defined at IfcElectricApplianceType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricAppliance is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricApplianceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricAppliance are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric appliance occurrence is defined by IfcElectricApplianceType, then the port occurrences must reflect those defined at the IfcElectricApplianceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricAppliance PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 197 illustrates electric appliance port use.

    Figure 197 — Electric appliance port use

    " 3045;IfcAudioVisualAppliance;"

    An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video.

    Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcAudioVisualAppliance defines the occurrence of any audio visual appliance; common information about audio visual appliance types is handled by IfcAudioVisualApplianceType. The IfcAudioVisualApplianceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAudioVisualApplianceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAudioVisualApplianceType has ports or aggregated elements, such objects are reflected at the IfcAudioVisualAppliance occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAudioVisualApplianceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAudioVisualApplianceType.HasPropertySets. If both are given, then the properties directly defined at IfcAudioVisualAppliance override the properties defined at IfcAudioVisualApplianceType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcAudioVisualAppliance is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAudioVisualApplianceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Composition Use Definition

    The IfcAudioVisualAppliance may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcAudioVisualAppliance and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • May contain IfcAudioVisualAppliance components.

    Port Use Definition

    The distribution ports relating to the IfcAudioVisualAppliance are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the audio visual appliance occurrence is defined by IfcAudioVisualApplianceType, then the port occurrences must reflect those defined at the IfcAudioVisualApplianceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAudioVisualAppliance PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3049;IfcCommunicationsAppliance;"

    A communications appliance transmits and receives electronic or digital information as data or sound.

    Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCommunicationsAppliance defines the occurrence of any communications appliance; common information about communications appliance types is handled by IfcCommunicationsApplianceType. The IfcCommunicationsApplianceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCommunicationsApplianceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCommunicationsApplianceType has ports or aggregated elements, such objects are reflected at the IfcCommunicationsAppliance occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCommunicationsApplianceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCommunicationsApplianceType.HasPropertySets. If both are given, then the properties directly defined at IfcCommunicationsAppliance override the properties defined at IfcCommunicationsApplianceType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCommunicationsAppliance is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCommunicationsApplianceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Composition Use Definition

    The IfcCommunicationsAppliance may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCommunicationsAppliance and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • COMPUTER
      • May contain IfcAudioVisualAppliance components. Computers may be aggregated into audio-visual components such as displays, cameras, speakers, or microphones.

    Connection Use Definition

    The IfcCommunicationsAppliance may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcCommunicationsAppliance are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the communications appliance occurrence is defined by IfcCommunicationsApplianceType, then the port occurrences must reflect those defined at the IfcCommunicationsApplianceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCommunicationsAppliance PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • ANTENNA
      • Power (ELECTRICAL, SINK): Receives electrical power.
      • Radio (SIGNAL, SINK): Electromagnetic waves.
      • Signal (SIGNAL, SOURCE): The modulated analog signal in a circuit, such as a cable connected to a modem.
    • COMPUTER
      • Power (ELECTRICAL, SINK): Receives electrical power.
      • Network (DATA, SINK): A network connection, may be wired or wireless (implicit antenna), such as a cable connected from a data outlet jack or from a router communications appliance. While communication is bidirectional, the router-end is considered to be the source.
      • Device (CONTROL, SOURCE): A device connection such as USB or serial, which may connect to equipment such as a building automation controller.
      • Display (AUDIOVISUAL, SOURCE): Audio/video output, such as a cable connected to a display, which may be aggregated into separate channels.
    • FAX
    • MODEM
      • Power (ELECTRICAL, SINK): Receives electrical power.
      • Signal (SIGNAL, SINK): Modulated analog signal, typically a cable connecting from a communications junction box or an antenna.
      • Internet (DATA, SOURCE): Internet data network.
      • Television (TV, SOURCE): Television modulated signal.
      • Telephone (TELEPHONE, SOURCE): Telephone communications.
    • PRINTER
      • Power (ELECTRICAL, SINK): Receives electrical power.
      • Network (DATA, SINK): A network connection, may be wired or wireless (implicit antenna), such as a cable connected from a data outlet jack or from a router communications appliance. While communication is bidirectional, the router-end is considered to be the source.
    • REPEATER
    • ROUTER
      • Power (ELECTRICAL, SINK): Receives electrical power.
      • Uplink (DATA, SINK): Uplink from another network, such as a cable connected to another router or the Internet.
      • Link#1 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#2 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#3 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#4 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#5 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
      • Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer.
    " 3053;IfcSwitchingDevice;"

    A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity.

    Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcSwitchingDevice defines the occurrence of any switching device; common information about switching device types is handled by IfcSwitchingDeviceType. The IfcSwitchingDeviceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcSwitchingDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSwitchingDeviceType has ports or aggregated elements, such objects are reflected at the IfcSwitchingDevice occurrence using the IfcRelDefinesByObject relationship.

    Figure 208 illustrates switching device type use.

    Figure 208 — Switching device type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSwitchingDeviceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSwitchingDeviceType.HasPropertySets. If both are given, then the properties directly defined at IfcSwitchingDevice override the properties defined at IfcSwitchingDeviceType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcSwitchingDevice is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSwitchingDeviceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.
    • Conductor: Material from which the conductors are constructed.
    • Surface: Material from which the switch surface is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSwitchingDevice are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the switching device occurrence is defined by IfcSwitchingDeviceType, then the port occurrences must reflect those defined at the IfcSwitchingDeviceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcSwitchingDevice PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 209 illustrates switching device port use.

    Figure 209 — Switching device port use

    " 3057;IfcProtectiveDevice;"

    A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded.

    A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcProtectiveDevice defines the occurrence of any protective device; common information about protective device types is handled by IfcProtectiveDeviceType. The IfcProtectiveDeviceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcProtectiveDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcProtectiveDeviceType has ports or aggregated elements, such objects are reflected at the IfcProtectiveDevice occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcProtectiveDeviceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcProtectiveDeviceType.HasPropertySets. If both are given, then the properties directly defined at IfcProtectiveDevice override the properties defined at IfcProtectiveDeviceType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcProtectiveDevice is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcProtectiveDeviceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcProtectiveDevice are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the protective device occurrence is defined by IfcProtectiveDeviceType, then the port occurrences must reflect those defined at the IfcProtectiveDeviceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcProtectiveDevice PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • CIRCUITBREAKER
      • Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board.
      • Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit.
    " 3061;IfcElectricDistributionBoard;"

    A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose.

    A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricDistributionBoard defines the occurrence of any electric distribution board; common information about electric distribution board types is handled by IfcElectricDistributionBoardType. The IfcElectricDistributionBoardType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricDistributionBoardType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricDistributionBoardType has ports or aggregated elements, such objects are reflected at the IfcElectricDistributionBoard occurrence using the IfcRelDefinesByObject relationship.

    Figure 198 illustrates electric distribution board type use.

    Figure 198 — Electric distribution board type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricDistributionBoardType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricDistributionBoardType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricDistributionBoard override the properties defined at IfcElectricDistributionBoardType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricDistributionBoard is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricDistributionBoardType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricDistributionBoard are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric distribution board occurrence is defined by IfcElectricDistributionBoardType, then the port occurrences must reflect those defined at the IfcElectricDistributionBoardType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricDistributionBoard PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • CONSUMERUNIT
      • Line (ELECTRICAL, SINK): Incoming power, such as a cable connecting from the electrical utility or another distribution board.
      • Ground (EARTHING, SOURCE): Grounding connection, such as a cable connecting to a cable fitting connected to a cold water pipe segment coming from the ground.
      • Circuit#1 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#2 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#3 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#4 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#5 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#6 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#7 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.
      • Circuit#8 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device.

    Figure 199 illustrates electric distribution board port use.

    Figure 199 — Electric distribution board port use

    " 3065;IfcElectricTimeControl;"

    An electric time control is a device that applies control to the provision or flow of electrical energy over time.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricTimeControl defines the occurrence of any electric time control; common information about electric time control types is handled by IfcElectricTimeControlType. The IfcElectricTimeControlType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricTimeControlType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricTimeControlType has ports or aggregated elements, such objects are reflected at the IfcElectricTimeControl occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricTimeControlType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricTimeControlType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricTimeControl override the properties defined at IfcElectricTimeControlType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricTimeControl is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricTimeControlType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricTimeControl are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric time control occurrence is defined by IfcElectricTimeControlType, then the port occurrences must reflect those defined at the IfcElectricTimeControlType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricTimeControl PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3069;IfcTransformer;"

    A transformer is an inductive stationary device that transfers electrical energy from one circuit to another.

    IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcTransformer defines the occurrence of any transformer; common information about transformer types is handled by IfcTransformerType. The IfcTransformerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcTransformerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcTransformerType has ports or aggregated elements, such objects are reflected at the IfcTransformer occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcTransformerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcTransformerType.HasPropertySets. If both are given, then the properties directly defined at IfcTransformer override the properties defined at IfcTransformerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcTransformer is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcTransformerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcTransformer are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the transformer occurrence is defined by IfcTransformerType, then the port occurrences must reflect those defined at the IfcTransformerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcTransformer PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3081;IfcElectricGenerator;"

    An electric generator is an engine that is a machine for converting mechanical energy into electrical energy.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricGenerator defines the occurrence of any electric generator; common information about electric generator types is handled by IfcElectricGeneratorType. The IfcElectricGeneratorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricGeneratorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricGeneratorType has ports or aggregated elements, such objects are reflected at the IfcElectricGenerator occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricGeneratorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricGeneratorType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricGenerator override the properties defined at IfcElectricGeneratorType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricGenerator is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricGeneratorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Composition Use Definition

    The IfcElectricGenerator may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcElectricGenerator and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • ENGINEGENERATOR
      • May contain IfcEngine components. Engine-Generator sets may optionally include an engine to indicate specific detail.

    Port Use Definition

    The distribution ports relating to the IfcElectricGenerator are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric generator occurrence is defined by IfcElectricGeneratorType, then the port occurrences must reflect those defined at the IfcElectricGeneratorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3091;IfcElectricMotor;"

    An electric motor is an engine that is a machine for converting electrical energy into mechanical energy.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcElectricMotor defines the occurrence of any electric motor; common information about electric motor types is handled by IfcElectricMotorType. The IfcElectricMotorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcElectricMotorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcElectricMotorType has ports or aggregated elements, such objects are reflected at the IfcElectricMotor occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcElectricMotorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcElectricMotorType.HasPropertySets. If both are given, then the properties directly defined at IfcElectricMotor override the properties defined at IfcElectricMotorType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcElectricMotor is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcElectricMotorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricMotor are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the electric motor occurrence is defined by IfcElectricMotorType, then the port occurrences must reflect those defined at the IfcElectricMotorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcElectricMotor PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3103;IfcMotorConnection;"

    A motor connection provides the means for connecting a motor as the driving device to the driven device.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcMotorConnection defines the occurrence of any motor connection; common information about motor connection types is handled by IfcMotorConnectionType. The IfcMotorConnectionType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcMotorConnectionType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcMotorConnectionType has ports or aggregated elements, such objects are reflected at the IfcMotorConnection occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcMotorConnectionType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcMotorConnectionType.HasPropertySets. If both are given, then the properties directly defined at IfcMotorConnection override the properties defined at IfcMotorConnectionType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcMotorConnection is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcMotorConnectionType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcMotorConnection are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the motor connection occurrence is defined by IfcMotorConnectionType, then the port occurrences must reflect those defined at the IfcMotorConnectionType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcMotorConnection PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3113;IfcSolarDevice;"

    A solar device converts solar radiation into other energy such as electric current or thermal energy.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcSolarDevice defines the occurrence of any solar device; common information about solar device types is handled by IfcSolarDeviceType. The IfcSolarDeviceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcSolarDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSolarDeviceType has ports or aggregated elements, such objects are reflected at the IfcSolarDevice occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSolarDeviceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSolarDeviceType.HasPropertySets. If both are given, then the properties directly defined at IfcSolarDevice override the properties defined at IfcSolarDeviceType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcSolarDevice is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSolarDeviceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Casing: Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSolarDevice are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the solar device occurrence is defined by IfcSolarDeviceType, then the port occurrences must reflect those defined at the IfcSolarDeviceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcSolarDevice PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3122;IfcProtectiveDeviceTrippingUnit;"Entity Definition
    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcProtectiveDeviceTrippingUnit defines the occurrence of any protective device tripping unit; common information about protective device tripping unit types is handled by IfcProtectiveDeviceTrippingUnitType. The IfcProtectiveDeviceTrippingUnitType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcProtectiveDeviceTrippingUnitType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcProtectiveDeviceTrippingUnitType has ports or aggregated elements, such objects are reflected at the IfcProtectiveDeviceTrippingUnit occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcProtectiveDeviceTrippingUnitType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcProtectiveDeviceTrippingUnitType.HasPropertySets. If both are given, then the properties directly defined at IfcProtectiveDeviceTrippingUnit override the properties defined at IfcProtectiveDeviceTrippingUnitType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    " 3126;IfcElectricGeneratorType;"

    The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a electric generator specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Generator types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricGeneratorType are represented by instances of IfcElectricGenerator.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcElectricGeneratorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Composition Use Definition

    The IfcElectricGeneratorType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcElectricGeneratorType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    • ENGINEGENERATOR: May contain IfcEngine components. Engine-Generator sets may optionally include an engine to indicate specific detail.

    Port Use Definition

    The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions.

    " 3129;IfcTransformerType;"

    The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a transformer specification (i.e. the specific product information, that is common to all occurrences of that product type). Transformer types may be exchanged without being already assigned to occurrences. Occurrences of IfcTransformerType are represented by instances of IfcTransformer.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcTransformerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions.

    " 3132;IfcElectricMotorType;"

    The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a electric motor specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Motor types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricMotorType are represented by instances of IfcElectricMotor.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcElectricMotorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions.

    " 3135;IfcSolarDeviceType;"

    The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a solar device specification (i.e. the specific product information, that is common to all occurrences of that product type). Solar Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcSolarDeviceType are represented by instances of IfcSolarDevice.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcSolarDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions.

    " 3139;IfcAirToAirHeatRecoveryType;"

    The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a air-to-air heat recovery device specification (i.e. the specific product information, that is common to all occurrences of that product type). Air-To-Air Heat Recovery Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirToAirHeatRecoveryType are represented by instances of IfcAirToAirHeatRecovery.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcAirToAirHeatRecoveryType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Media': The primary media material used for heat transfer.

    Port Use Definition

    The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions.

    " 3154;IfcBoilerType;"

    The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a boiler specification (i.e. the specific product information, that is common to all occurrences of that product type). Boiler types may be exchanged without being already assigned to occurrences. Occurrences of IfcBoilerType are represented by instances of IfcBoiler.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcBoilerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions.

    " 3162;IfcBurnerType;"

    The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a burner specification (i.e. the specific product information, that is common to all occurrences of that product type). Burner types may be exchanged without being already assigned to occurrences. Occurrences of IfcBurnerType are represented by instances of IfcBurner.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcBurnerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Fuel': Material designed to be burned.

    Port Use Definition

    The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions.

    " 3168;IfcChillerType;"

    The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a chiller specification (i.e. the specific product information, that is common to all occurrences of that product type). Chiller types may be exchanged without being already assigned to occurrences. Occurrences of IfcChillerType are represented by instances of IfcChiller.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcChillerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Refrigerant': Refrigerant material.

    Composition Use Definition

    The IfcChillerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcChillerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    • (All Types): May contain IfcDistributionElement components. Chillers may aggregate distribution flow elements forming a refrigeration cycle (compressor, condenser, valve, evaporator), as well as control elements.

    Port Use Definition

    The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions.

    " 3177;IfcCoilType;"

    The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a coil specification (i.e. the specific product information, that is common to all occurrences of that product type). Coil types may be exchanged without being already assigned to occurrences. Occurrences of IfcCoilType are represented by instances of IfcCoil.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCoilType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions.

    " 3190;IfcCondenserType;"

    The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a condenser specification (i.e. the specific product information, that is common to all occurrences of that product type). Condenser types may be exchanged without being already assigned to occurrences. Occurrences of IfcCondenserType are represented by instances of IfcCondenser.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCondenserType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Refrigerant': Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions.

    " 3203;IfcCooledBeamType;"

    The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cooled beam specification (i.e. the specific product information, that is common to all occurrences of that product type). Cooled Beam types may be exchanged without being already assigned to occurrences. Occurrences of IfcCooledBeamType are represented by instances of IfcCooledBeam.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcCooledBeamType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions.

    " 3211;IfcCoolingTowerType;"

    The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a cooling tower specification (i.e. the specific product information, that is common to all occurrences of that product type). Cooling Tower types may be exchanged without being already assigned to occurrences. Occurrences of IfcCoolingTowerType are represented by instances of IfcCoolingTower.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCoolingTowerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Fill': Fill material.

    Composition Use Definition

    The IfcCoolingTowerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCoolingTowerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    Port Use Definition

    The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions.

    " 3220;IfcEvaporativeCoolerType;"

    The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a evaporative cooler specification (i.e. the specific product information, that is common to all occurrences of that product type). Evaporative Cooler types may be exchanged without being already assigned to occurrences. Occurrences of IfcEvaporativeCoolerType are represented by instances of IfcEvaporativeCooler.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcEvaporativeCoolerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Media': Heat exchanger media material.

    Port Use Definition

    The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions.

    " 3235;IfcEvaporatorType;"

    The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a evaporator specification (i.e. the specific product information, that is common to all occurrences of that product type). Evaporator types may be exchanged without being already assigned to occurrences. Occurrences of IfcEvaporatorType are represented by instances of IfcEvaporator.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcEvaporatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Refrigerant': Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions.

    " 3247;IfcHeatExchangerType;"

    The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a heat exchanger specification (i.e. the specific product information, that is common to all occurrences of that product type). Heat Exchanger types may be exchanged without being already assigned to occurrences. Occurrences of IfcHeatExchangerType are represented by instances of IfcHeatExchanger.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcHeatExchangerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Shell': Material used to construct the shell of the heat exchanger.

    Port Use Definition

    The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions.

    " 3255;IfcHumidifierType;"

    The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a humidifier specification (i.e. the specific product information, that is common to all occurrences of that product type). Humidifier types may be exchanged without being already assigned to occurrences. Occurrences of IfcHumidifierType are represented by instances of IfcHumidifier.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcHumidifierType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions.

    " 3274;IfcTubeBundleType;"

    The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a tube bundle specification (i.e. the specific product information, that is common to all occurrences of that product type). Tube Bundle types may be exchanged without being already assigned to occurrences. Occurrences of IfcTubeBundleType are represented by instances of IfcTubeBundle.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcTubeBundleType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': Material used for construction of the tubes.

    Port Use Definition

    The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions.

    " 3281;IfcUnitaryEquipmentType;"

    The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a unitary equipment specification (i.e. the specific product information, that is common to all occurrences of that product type). Unitary Equipment types may be exchanged without being already assigned to occurrences. Occurrences of IfcUnitaryEquipmentType are represented by instances of IfcUnitaryEquipment.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcUnitaryEquipmentType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.

    Composition Use Definition

    The IfcUnitaryEquipmentType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcUnitaryEquipmentType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:

    • (All Types): May contain IfcDistributionElement components. Unitary equipment (air handlers in particular) may elaborate contained elements such as dampers, fans, coils, sensors, actuators, and controllers. Such breakdown provides access to component information and tracking of performance history for embedded elements.

    Port Use Definition

    The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions.

    " 3292;IfcEngineType;"

    The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a engine specification (i.e. the specific product information, that is common to all occurrences of that product type). Engine types may be exchanged without being already assigned to occurrences. Occurrences of IfcEngineType are represented by instances of IfcEngine.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcEngineType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions.

    " 3300;IfcFanType;"

    The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a fan specification (i.e. the specific product information, that is common to all occurrences of that product type). Fan types may be exchanged without being already assigned to occurrences. Occurrences of IfcFanType are represented by instances of IfcFan.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowMovingDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcFanType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Housing': The material used to construct the fan housing.
    • 'Wheel': The material used to construct the fan wheel.

    Port Use Definition

    The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions.

    " 3313;IfcCompressorType;"

    The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a compressor specification (i.e. the specific product information, that is common to all occurrences of that product type). Compressor types may be exchanged without being already assigned to occurrences. Occurrences of IfcCompressorType are represented by instances of IfcCompressor.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowMovingDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcCompressorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.
    • 'Refrigerant': Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions.

    " 3334;IfcPumpType;"

    The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a pump specification (i.e. the specific product information, that is common to all occurrences of that product type). Pump types may be exchanged without being already assigned to occurrences. Occurrences of IfcPumpType are represented by instances of IfcPump.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowMovingDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcPumpType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.
    • 'Impeller': Material from which the impeller of the pump is constructed. In the case of a positive displacement pump, the piston acts as the impeller.
    • 'ImpellerSeal': Material from which the impeller shaft seal of the pump is constructed.

    Port Use Definition

    The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions.

    " 3347;IfcDamperType;"

    The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a damper specification (i.e. the specific product information, that is common to all occurrences of that product type). Damper types may be exchanged without being already assigned to occurrences. Occurrences of IfcDamperType are represented by instances of IfcDamper.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcDamperType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Blade': The material from which the damper blades are constructed.
    • 'Frame': The material from which the damper frame is constructed.
    • 'Seal': The material from which the damper seals are constructed.

    Port Use Definition

    The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions.

    " 3364;IfcAirTerminalBoxType;"

    The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a air box specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Box types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalBoxType are represented by instances of IfcAirTerminalBox.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcAirTerminalBoxType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions.

    " 3373;IfcValveType;"

    The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a valve specification (i.e. the specific product information, that is common to all occurrences of that product type). Valve types may be exchanged without being already assigned to occurrences. Occurrences of IfcValveType are represented by instances of IfcValve.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcValveType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.
    • 'Operation': Material from which the operating mechanism (gate, globe, plug, needle, clack etc.) of the valve is constructed.

    Port Use Definition

    The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions.

    " 3400;IfcFlowMeterType;"

    The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a flow meter specification (i.e. the specific product information, that is common to all occurrences of that product type). Flow Meter types may be exchanged without being already assigned to occurrences. Occurrences of IfcFlowMeterType are represented by instances of IfcFlowMeter.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFlowMeterType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Casing': Material from which the casing is constructed.

    Port Use Definition

    The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions.

    " 3410;IfcDuctFittingType;"

    The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a duct fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctFittingType are represented by instances of IfcDuctFitting.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcDuctFittingType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Body': Material from which the duct fitting is constructed.
    • 'Coating': The outer coating, if applicable.
    • 'Insulation': The insulating wrapping, if applicable.
    • 'Lining': The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions.

    " 3423;IfcPipeFittingType;"

    The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a pipe fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Pipe Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcPipeFittingType are represented by instances of IfcPipeFitting.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcPipeFittingType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Body': Material from which the pipe fitting is constructed.
    • 'Coating': The outer coating, if applicable.
    • 'Insulation': The insulating wrapping, if applicable.
    • 'Lining': The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions.

    " 3436;IfcTankType;"

    The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a tank specification (i.e. the specific product information, that is common to all occurrences of that product type). Tank types may be exchanged without being already assigned to occurrences. Occurrences of IfcTankType are represented by instances of IfcTank.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowStorageDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcTankType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions.

    " 3449;IfcDuctSilencerType;"

    The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a duct silencer specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Silencer types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctSilencerType are represented by instances of IfcDuctSilencer.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTreatmentDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcDuctSilencerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions.

    " 3458;IfcFilterType;"

    The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a filter specification (i.e. the specific product information, that is common to all occurrences of that product type). Filter types may be exchanged without being already assigned to occurrences. Occurrences of IfcFilterType are represented by instances of IfcFilter.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTreatmentDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFilterType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Media': The material that is used for filtering particulates from the fluid.

    Port Use Definition

    The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions.

    " 3470;IfcPipeSegmentType;"

    The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a pipe segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Pipe Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcPipeSegmentType are represented by instances of IfcPipeSegment.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcPipeSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Body': Material from which the pipe segment is constructed.
    • 'Coating': The outer coating, if applicable.
    • 'Insulation': The insulating wrapping, if applicable.
    • 'Lining': The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions.

    " 3481;IfcDuctSegmentType;"

    The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a duct segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctSegmentType are represented by instances of IfcDuctSegment.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcDuctSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • 'Body': Material from which the duct segment is constructed.
    • 'Coating': The outer coating, if applicable.
    • 'Insulation': The insulating wrapping, if applicable.
    • 'Lining': The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions.

    " 3489;IfcPipeFitting;"

    A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcPipeFitting defines the occurrence of any pipe fitting; common information about pipe fitting types is handled by IfcPipeFittingType. The IfcPipeFittingType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcPipeFittingType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcPipeFittingType has ports or aggregated elements, such objects are reflected at the IfcPipeFitting occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcPipeFittingType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcPipeFittingType.HasPropertySets. If both are given, then the properties directly defined at IfcPipeFitting override the properties defined at IfcPipeFittingType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcPipeFitting is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcPipeFittingType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: Material from which the pipe fitting is constructed.
    • Coating: The outer coating, if applicable.
    • Insulation: The insulating wrapping, if applicable.
    • Lining: The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcPipeFitting are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the pipe fitting occurrence is defined by IfcPipeFittingType, then the port occurrences must reflect those defined at the IfcPipeFittingType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcPipeFitting PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 227 illustrates pipe fitting port use.

    Figure 227 — Pipe fitting port use

    " 3493;IfcDuctFitting;"

    A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcDuctFitting defines the occurrence of any duct fitting; common information about duct fitting types is handled by IfcDuctFittingType. The IfcDuctFittingType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDuctFittingType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDuctFittingType has ports or aggregated elements, such objects are reflected at the IfcDuctFitting occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDuctFittingType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDuctFittingType.HasPropertySets. If both are given, then the properties directly defined at IfcDuctFitting override the properties defined at IfcDuctFittingType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcDuctFitting is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDuctFittingType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: Material from which the duct fitting is constructed.
    • Coating: The outer coating, if applicable.
    • Insulation: The insulating wrapping, if applicable.
    • Lining: The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcDuctFitting are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the duct fitting occurrence is defined by IfcDuctFittingType, then the port occurrences must reflect those defined at the IfcDuctFittingType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcDuctFitting PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 221 illustrates duct fitting port use.

    Figure 221 — Duct fitting port use

    " 3497;IfcPipeSegment;"

    A pipe segment is used to typically join two sections of a piping network.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcPipeSegment defines the occurrence of any pipe segment; common information about pipe segment types is handled by IfcPipeSegmentType. The IfcPipeSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcPipeSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcPipeSegmentType has ports or aggregated elements, such objects are reflected at the IfcPipeSegment occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcPipeSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcPipeSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcPipeSegment override the properties defined at IfcPipeSegmentType. Refer to the documentation at the supertype IfcFlowSegment and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcPipeSegment is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcPipeSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: Material from which the duct fitting is constructed.
    • Coating: The outer coating, if applicable.
    • Insulation: The insulating wrapping, if applicable.
    • Lining: The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcPipeSegment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the pipe segment occurrence is defined by IfcPipeSegmentType, then the port occurrences must reflect those defined at the IfcPipeSegmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcPipeSegment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 228 illustrates pipe segment port use.

    Figure 228 — Pipe segment port use

    " 3501;IfcDuctSegment;"

    A duct segment is used to typically join two sections of duct network.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcDuctSegment defines the occurrence of any duct segment; common information about duct segment types is handled by IfcDuctSegmentType. The IfcDuctSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDuctSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDuctSegmentType has ports or aggregated elements, such objects are reflected at the IfcDuctSegment occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDuctSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDuctSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcDuctSegment override the properties defined at IfcDuctSegmentType. Refer to the documentation at the supertype IfcFlowSegment and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcDuctSegment is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDuctSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

    • Body: Material from which the duct fitting is constructed.
    • Coating: The outer coating, if applicable.
    • Insulation: The insulating wrapping, if applicable.
    • Lining: The inner lining, if applicable.

    Port Use Definition

    The distribution ports relating to the IfcDuctSegment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the duct segment occurrence is defined by IfcDuctSegmentType, then the port occurrences must reflect those defined at the IfcDuctSegmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcDuctSegment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 222 illustrates duct segment port use.

    Figure 222 — Duct segment port use

    " 3505;IfcFilter;"

    A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcFilter defines the occurrence of any filter; common information about filter types is handled by IfcFilterType. The IfcFilterType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcFilterType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFilterType has ports or aggregated elements, such objects are reflected at the IfcFilter occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFilterType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFilterType.HasPropertySets. If both are given, then the properties directly defined at IfcFilter override the properties defined at IfcFilterType. Refer to the documentation at the supertype IfcFlowTreatmentDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcFilter is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFilterType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Frame: The material used to construct the filter housing.
    • Media: The material that is used for filtering particulates.

    Port Use Definition

    The distribution ports relating to the IfcFilter are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the filter occurrence is defined by IfcFilterType, then the port occurrences must reflect those defined at the IfcFilterType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcFilter PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 225 illustrates filter port use.

    Figure 225 — Filter port use

    " 3509;IfcDuctSilencer;"

    A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcDuctSilencer defines the occurrence of any duct silencer; common information about duct silencer types is handled by IfcDuctSilencerType. The IfcDuctSilencerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDuctSilencerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDuctSilencerType has ports or aggregated elements, such objects are reflected at the IfcDuctSilencer occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDuctSilencerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDuctSilencerType.HasPropertySets. If both are given, then the properties directly defined at IfcDuctSilencer override the properties defined at IfcDuctSilencerType. Refer to the documentation at the supertype IfcFlowTreatmentDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcDuctSilencer is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDuctSilencerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcDuctSilencer are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the duct silencer occurrence is defined by IfcDuctSilencerType, then the port occurrences must reflect those defined at the IfcDuctSilencerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcDuctSilencer PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3513;IfcCompressor;"

    A compressor is a device that compresses a fluid typically used in a refrigeration circuit.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCompressor defines the occurrence of any compressor; common information about compressor types is handled by IfcCompressorType. The IfcCompressorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCompressorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCompressorType has ports or aggregated elements, such objects are reflected at the IfcCompressor occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCompressorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCompressorType.HasPropertySets. If both are given, then the properties directly defined at IfcCompressor override the properties defined at IfcCompressorType. Refer to the documentation at the supertype IfcFlowMovingDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCompressor is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCompressorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Refrigerant: Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcCompressor are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the compressor occurrence is defined by IfcCompressorType, then the port occurrences must reflect those defined at the IfcCompressorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCompressor PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • RefrigerantIn (REFRIGERATION, SINK): Uncompressed vapor refrigerant entering the compressor.
    • RefrigerantOut (REFRIGERATION, SOURCE): Compressed vapor refrigerant leaving the compressor.

    Figure 217 illustrates compressor port use.

    Figure 217 — Compressor port use

    " 3517;IfcFan;"

    A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcFan defines the occurrence of any fan; common information about fan types is handled by IfcFanType. The IfcFanType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcFanType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFanType has ports or aggregated elements, such objects are reflected at the IfcFan occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFanType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFanType.HasPropertySets. If both are given, then the properties directly defined at IfcFan override the properties defined at IfcFanType. Refer to the documentation at the supertype IfcFlowMovingDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcFan is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFanType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Frame: The material used to construct the fan housing.
    • Wheel: The material used to construct the fan wheel.

    Port Use Definition

    The distribution ports relating to the IfcFan are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the fan occurrence is defined by IfcFanType, then the port occurrences must reflect those defined at the IfcFanType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcFan PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 224 illustrates fan port use.

    Figure 224 — Fan port use

    " 3521;IfcPump;"

    A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcPump defines the occurrence of any pump; common information about pump types is handled by IfcPumpType. The IfcPumpType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcPumpType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcPumpType has ports or aggregated elements, such objects are reflected at the IfcPump occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcPumpType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcPumpType.HasPropertySets. If both are given, then the properties directly defined at IfcPump override the properties defined at IfcPumpType. Refer to the documentation at the supertype IfcFlowMovingDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcPump is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcPumpType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Impeller: Material from which the impeller of the pump is constructed. In the case of a positive displacement pump, the piston acts as the impeller.
    • Seal: Material from which the impeller shaft seal of the pump is constructed.

    Port Use Definition

    The distribution ports relating to the IfcPump are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the pump occurrence is defined by IfcPumpType, then the port occurrences must reflect those defined at the IfcPumpType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcPump PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 229 illustrates pump port use.

    Figure 229 — Pump port use

    " 3525;IfcAirTerminal;"

    An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcAirTerminal defines the occurrence of any air terminal; common information about air terminal types is handled by IfcAirTerminalType. The IfcAirTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirTerminalType has ports or aggregated elements, such objects are reflected at the IfcAirTerminal occurrence using the IfcRelDefinesByObject relationship.

    Figure 210 illustrates air terminal type use.

    Figure 210 — Air terminal type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcAirTerminal override the properties defined at IfcAirTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcAirTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAirTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air terminal occurrence is defined by IfcAirTerminalType, then the port occurrences must reflect those defined at the IfcAirTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 211 illustrates air terminal port use.

    Figure 211 — Air terminal port use

    " 3536;IfcSpaceHeater;"

    Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters.

    IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcSpaceHeater defines the occurrence of any space heater; common information about space heater types is handled by IfcSpaceHeaterType. The IfcSpaceHeaterType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcSpaceHeaterType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSpaceHeaterType has ports or aggregated elements, such objects are reflected at the IfcSpaceHeater occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSpaceHeaterType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSpaceHeaterType.HasPropertySets. If both are given, then the properties directly defined at IfcSpaceHeater override the properties defined at IfcSpaceHeaterType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcSpaceHeater is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSpaceHeaterType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSpaceHeater are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the space heater occurrence is defined by IfcSpaceHeaterType, then the port occurrences must reflect those defined at the IfcSpaceHeaterType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcSpaceHeater PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 230 illustrates space heater port use.

    Figure 230 — Space heater port use

    " 3545;IfcMedicalDevice;"

    A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide.

    Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcMedicalDevice defines the occurrence of any medical device; common information about medical device types is handled by IfcMedicalDeviceType. The IfcMedicalDeviceType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcMedicalDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcMedicalDeviceType has ports or aggregated elements, such objects are reflected at the IfcMedicalDevice occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcMedicalDeviceType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcMedicalDeviceType.HasPropertySets. If both are given, then the properties directly defined at IfcMedicalDevice override the properties defined at IfcMedicalDeviceType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcMedicalDevice is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcMedicalDeviceType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcMedicalDevice are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the medical device occurrence is defined by IfcMedicalDeviceType, then the port occurrences must reflect those defined at the IfcMedicalDeviceType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcMedicalDevice PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3557;IfcAirTerminalBox;"

    An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an ""air flow regulator"".

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcAirTerminalBox defines the occurrence of any air terminal box; common information about air terminal box types is handled by IfcAirTerminalBoxType. The IfcAirTerminalBoxType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirTerminalBoxType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirTerminalBoxType has ports or aggregated elements, such objects are reflected at the IfcAirTerminalBox occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirTerminalBoxType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirTerminalBoxType.HasPropertySets. If both are given, then the properties directly defined at IfcAirTerminalBox override the properties defined at IfcAirTerminalBoxType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcAirTerminalBox is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirTerminalBoxType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAirTerminalBox are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air terminal box occurrence is defined by IfcAirTerminalBoxType, then the port occurrences must reflect those defined at the IfcAirTerminalBoxType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirTerminalBox PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3561;IfcDamper;"

    A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcDamper defines the occurrence of any damper; common information about damper types is handled by IfcDamperType. The IfcDamperType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDamperType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDamperType has ports or aggregated elements, such objects are reflected at the IfcDamper occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDamperType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDamperType.HasPropertySets. If both are given, then the properties directly defined at IfcDamper override the properties defined at IfcDamperType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcDamper is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDamperType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Blade: The material from which the damper blades are constructed.
    • Frame: The material from which the damper frame is constructed.
    • Seal: The material from which the damper seals are constructed.

    Connection Use Definition

    The IfcDamper may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcDamper are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the damper occurrence is defined by IfcDamperType, then the port occurrences must reflect those defined at the IfcDamperType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcDamper PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 220 illustrates damper port use.

    Figure 220 — Damper port use

    " 3565;IfcFlowMeter;"

    A flow meter is a device that is used to measure the flow rate in a system.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcFlowMeter defines the occurrence of any flow meter; common information about flow meter types is handled by IfcFlowMeterType. The IfcFlowMeterType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcFlowMeterType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFlowMeterType has ports or aggregated elements, such objects are reflected at the IfcFlowMeter occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFlowMeterType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFlowMeterType.HasPropertySets. If both are given, then the properties directly defined at IfcFlowMeter override the properties defined at IfcFlowMeterType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcFlowMeter is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFlowMeterType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcFlowMeter are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the flow meter occurrence is defined by IfcFlowMeterType, then the port occurrences must reflect those defined at the IfcFlowMeterType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcFlowMeter PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 226 illustrates flow meter port use.

    Figure 226 — Flow meter port use

    " 3569;IfcValve;"

    A valve is used in a building services piping distribution system to control or modulate the flow of the fluid.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcValve defines the occurrence of any valve; common information about valve types is handled by IfcValveType. The IfcValveType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcValveType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcValveType has ports or aggregated elements, such objects are reflected at the IfcValve occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcValveType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcValveType.HasPropertySets. If both are given, then the properties directly defined at IfcValve override the properties defined at IfcValveType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcValve is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcValveType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Operation: Material from which the operating mechanism (such as gate, globe, plug, needle, or clack) of the valve is constructed.

    Connection Use Definition

    The IfcValve may be connected to other objects as follows using the indicated relationship:

    Port Use Definition

    The distribution ports relating to the IfcValve are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the valve occurrence is defined by IfcValveType, then the port occurrences must reflect those defined at the IfcValveType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcValve PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 233 illustrates valve port use.

    Figure 233 — Valve port use

    " 3573;IfcTank;"

    A tank is a vessel or container in which a fluid or gas is stored for later use.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcTank defines the occurrence of any tank; common information about tank types is handled by IfcTankType. The IfcTankType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcTankType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcTankType has ports or aggregated elements, such objects are reflected at the IfcTank occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcTankType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcTankType.HasPropertySets. If both are given, then the properties directly defined at IfcTank override the properties defined at IfcTankType. Refer to the documentation at the supertype IfcFlowStorageDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcTank is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcTankType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcTank are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the tank occurrence is defined by IfcTankType, then the port occurrences must reflect those defined at the IfcTankType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcTank PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3577;IfcAirToAirHeatRecovery;"

    An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcAirToAirHeatRecovery defines the occurrence of any air to air heat recovery; common information about air to air heat recovery types is handled by IfcAirToAirHeatRecoveryType. The IfcAirToAirHeatRecoveryType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirToAirHeatRecoveryType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirToAirHeatRecoveryType has ports or aggregated elements, such objects are reflected at the IfcAirToAirHeatRecovery occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirToAirHeatRecoveryType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirToAirHeatRecoveryType.HasPropertySets. If both are given, then the properties directly defined at IfcAirToAirHeatRecovery override the properties defined at IfcAirToAirHeatRecoveryType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcAirToAirHeatRecovery is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirToAirHeatRecoveryType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Media: The primary media material used for heat transfer.

    Port Use Definition

    The distribution ports relating to the IfcAirToAirHeatRecovery are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air to air heat recovery occurrence is defined by IfcAirToAirHeatRecoveryType, then the port occurrences must reflect those defined at the IfcAirToAirHeatRecoveryType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirToAirHeatRecovery PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3581;IfcBoiler;"

    A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications.

    IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcBoiler defines the occurrence of any boiler; common information about boiler types is handled by IfcBoilerType. The IfcBoilerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcBoilerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcBoilerType has ports or aggregated elements, such objects are reflected at the IfcBoiler occurrence using the IfcRelDefinesByObject relationship.

    Figure 212 illustrates boiler type use.

    Figure 212 — Boiler type use

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcBoilerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcBoilerType.HasPropertySets. If both are given, then the properties directly defined at IfcBoiler override the properties defined at IfcBoilerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcBoiler is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcBoilerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcBoiler are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the boiler occurrence is defined by IfcBoilerType, then the port occurrences must reflect those defined at the IfcBoilerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcBoiler PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 213 illustrates boiler port use.

    Figure 213 — Boiler port use

    " 3585;IfcBurner;"

    A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcBurner defines the occurrence of any burner; common information about burner types is handled by IfcBurnerType. The IfcBurnerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcBurnerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcBurnerType has ports or aggregated elements, such objects are reflected at the IfcBurner occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcBurnerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcBurnerType.HasPropertySets. If both are given, then the properties directly defined at IfcBurner override the properties defined at IfcBurnerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcBurner is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcBurnerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Fuel: Material designed to be burned.

    Port Use Definition

    The distribution ports relating to the IfcBurner are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the burner occurrence is defined by IfcBurnerType, then the port occurrences must reflect those defined at the IfcBurnerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    • Gas (GAS, SINK): Gas inlet for burner.
    " 3589;IfcChiller;"

    A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcChiller defines the occurrence of any chiller; common information about chiller types is handled by IfcChillerType. The IfcChillerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcChillerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcChillerType has ports or aggregated elements, such objects are reflected at the IfcChiller occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcChillerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcChillerType.HasPropertySets. If both are given, then the properties directly defined at IfcChiller override the properties defined at IfcChillerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcChiller is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcChillerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Refrigerant: Refrigerant material.

    Composition Use Definition

    The IfcChiller may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcChiller and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • May contain IfcDistributionElement components. Chillers may aggregate distribution flow elements forming a refrigeration cycle (compressor, condenser, valve, evaporator), as well as control elements.

    Figure 214 illustrates chiller composition use.

    Figure 214 — Chiller composition use

    Port Use Definition

    The distribution ports relating to the IfcChiller are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the chiller occurrence is defined by IfcChillerType, then the port occurrences must reflect those defined at the IfcChillerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcChiller PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 215 illustrates chiller port use.

    Figure 215 — Chiller port use

    " 3593;IfcCoil;"

    A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface.

    Coils may also be used for non-airflow cases such as embedded in a floor slab.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCoil defines the occurrence of any coil; common information about coil types is handled by IfcCoilType. The IfcCoilType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCoilType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCoilType has ports or aggregated elements, such objects are reflected at the IfcCoil occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCoilType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCoilType.HasPropertySets. If both are given, then the properties directly defined at IfcCoil override the properties defined at IfcCoilType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCoil is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCoilType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCoil are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the coil occurrence is defined by IfcCoilType, then the port occurrences must reflect those defined at the IfcCoilType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCoil PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 216 illustrates coil port use.

    Figure 216 — Coil port use

    " 3597;IfcCondenser;"

    A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCondenser defines the occurrence of any condenser; common information about condenser types is handled by IfcCondenserType. The IfcCondenserType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCondenserType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCondenserType has ports or aggregated elements, such objects are reflected at the IfcCondenser occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCondenserType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCondenserType.HasPropertySets. If both are given, then the properties directly defined at IfcCondenser override the properties defined at IfcCondenserType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCondenser is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCondenserType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Refrigerant: Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcCondenser are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the condenser occurrence is defined by IfcCondenserType, then the port occurrences must reflect those defined at the IfcCondenserType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCondenser PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 218 illustrates condenser port use.

    Figure 218 — Condenser port use

    " 3601;IfcCooledBeam;"

    A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCooledBeam defines the occurrence of any cooled beam; common information about cooled beam types is handled by IfcCooledBeamType. The IfcCooledBeamType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCooledBeamType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCooledBeamType has ports or aggregated elements, such objects are reflected at the IfcCooledBeam occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCooledBeamType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCooledBeamType.HasPropertySets. If both are given, then the properties directly defined at IfcCooledBeam override the properties defined at IfcCooledBeamType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCooledBeam is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCooledBeamType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcCooledBeam are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cooled beam occurrence is defined by IfcCooledBeamType, then the port occurrences must reflect those defined at the IfcCooledBeamType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCooledBeam PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3605;IfcCoolingTower;"

    A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcCoolingTower defines the occurrence of any cooling tower; common information about cooling tower types is handled by IfcCoolingTowerType. The IfcCoolingTowerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCoolingTowerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCoolingTowerType has ports or aggregated elements, such objects are reflected at the IfcCoolingTower occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcCoolingTowerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCoolingTowerType.HasPropertySets. If both are given, then the properties directly defined at IfcCoolingTower override the properties defined at IfcCoolingTowerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcCoolingTower is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCoolingTowerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Fill: Fill material.

    Composition Use Definition

    The IfcCoolingTower may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCoolingTower and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    Port Use Definition

    The distribution ports relating to the IfcCoolingTower are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cooling tower occurrence is defined by IfcCoolingTowerType, then the port occurrences must reflect those defined at the IfcCoolingTowerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCoolingTower PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 219 illustrates cooling tower port use.

    Figure 219 — Cooling tower port use

    " 3609;IfcEvaporativeCooler;"

    An evaporative cooler is a device that cools air by saturating it with water vapor.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcEvaporativeCooler defines the occurrence of any evaporative cooler; common information about evaporative cooler types is handled by IfcEvaporativeCoolerType. The IfcEvaporativeCoolerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcEvaporativeCoolerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcEvaporativeCoolerType has ports or aggregated elements, such objects are reflected at the IfcEvaporativeCooler occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcEvaporativeCoolerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcEvaporativeCoolerType.HasPropertySets. If both are given, then the properties directly defined at IfcEvaporativeCooler override the properties defined at IfcEvaporativeCoolerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcEvaporativeCooler is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcEvaporativeCoolerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Media: Heat exchanger media material.

    Port Use Definition

    The distribution ports relating to the IfcEvaporativeCooler are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the evaporative cooler occurrence is defined by IfcEvaporativeCoolerType, then the port occurrences must reflect those defined at the IfcEvaporativeCoolerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcEvaporativeCooler PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3613;IfcEvaporator;"

    An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcEvaporator defines the occurrence of any evaporator; common information about evaporator types is handled by IfcEvaporatorType. The IfcEvaporatorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcEvaporatorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcEvaporatorType has ports or aggregated elements, such objects are reflected at the IfcEvaporator occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcEvaporatorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcEvaporatorType.HasPropertySets. If both are given, then the properties directly defined at IfcEvaporator override the properties defined at IfcEvaporatorType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcEvaporator is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcEvaporatorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Refrigerant: Refrigerant material.

    Port Use Definition

    The distribution ports relating to the IfcEvaporator are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the evaporator occurrence is defined by IfcEvaporatorType, then the port occurrences must reflect those defined at the IfcEvaporatorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcEvaporator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 223 illustrates evaporator port use.

    Figure 223 — Evaporator port use

    " 3617;IfcHeatExchanger;"

    A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers.

    IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air).

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcHeatExchanger defines the occurrence of any heat exchanger; common information about heat exchanger types is handled by IfcHeatExchangerType. The IfcHeatExchangerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcHeatExchangerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcHeatExchangerType has ports or aggregated elements, such objects are reflected at the IfcHeatExchanger occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcHeatExchangerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcHeatExchangerType.HasPropertySets. If both are given, then the properties directly defined at IfcHeatExchanger override the properties defined at IfcHeatExchangerType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcHeatExchanger is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcHeatExchangerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcHeatExchanger are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the heat exchanger occurrence is defined by IfcHeatExchangerType, then the port occurrences must reflect those defined at the IfcHeatExchangerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcHeatExchanger PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3621;IfcHumidifier;"

    A humidifier is a device that adds moisture into the air.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcHumidifier defines the occurrence of any humidifier; common information about humidifier types is handled by IfcHumidifierType. The IfcHumidifierType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcHumidifierType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcHumidifierType has ports or aggregated elements, such objects are reflected at the IfcHumidifier occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcHumidifierType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcHumidifierType.HasPropertySets. If both are given, then the properties directly defined at IfcHumidifier override the properties defined at IfcHumidifierType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcHumidifier is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcHumidifierType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcHumidifier are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the humidifier occurrence is defined by IfcHumidifierType, then the port occurrences must reflect those defined at the IfcHumidifierType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcHumidifier PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3625;IfcTubeBundle;"

    A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcTubeBundle defines the occurrence of any tube bundle; common information about tube bundle types is handled by IfcTubeBundleType. The IfcTubeBundleType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcTubeBundleType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcTubeBundleType has ports or aggregated elements, such objects are reflected at the IfcTubeBundle occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcTubeBundleType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcTubeBundleType.HasPropertySets. If both are given, then the properties directly defined at IfcTubeBundle override the properties defined at IfcTubeBundleType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcTubeBundle is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcTubeBundleType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcTubeBundle are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the tube bundle occurrence is defined by IfcTubeBundleType, then the port occurrences must reflect those defined at the IfcTubeBundleType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcTubeBundle PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3629;IfcUnitaryEquipment;"

    Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcUnitaryEquipment defines the occurrence of any unitary equipment; common information about unitary equipment types is handled by IfcUnitaryEquipmentType. The IfcUnitaryEquipmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcUnitaryEquipmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcUnitaryEquipmentType has ports or aggregated elements, such objects are reflected at the IfcUnitaryEquipment occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcUnitaryEquipmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcUnitaryEquipmentType.HasPropertySets. If both are given, then the properties directly defined at IfcUnitaryEquipment override the properties defined at IfcUnitaryEquipmentType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcUnitaryEquipment is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcUnitaryEquipmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Composition Use Definition

    The IfcUnitaryEquipment may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcUnitaryEquipment and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

    • May contain IfcDistributionElement components. Unitary equipment (air handlers in particular) may elaborate contained elements such as dampers, fans, coils, sensors, actuators, and controllers. Such breakdown provides access to component information and tracking of performance history for embedded elements.

    Figure 231 illustrates unitary equipment composition use.

    Figure 231 — Unitary equipment composition use

    Port Use Definition

    The distribution ports relating to the IfcUnitaryEquipment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the unitary equipment occurrence is defined by IfcUnitaryEquipmentType, then the port occurrences must reflect those defined at the IfcUnitaryEquipmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcUnitaryEquipment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    Figure 232 illustrates unitary equipment port use.

    Figure 232 — Unitary equipment port use

    " 3633;IfcEngine;"

    An engine is a device that converts fuel into mechanical energy through combustion.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcEngine defines the occurrence of any engine; common information about engine types is handled by IfcEngineType. The IfcEngineType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcEngineType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcEngineType has ports or aggregated elements, such objects are reflected at the IfcEngine occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcEngineType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcEngineType.HasPropertySets. If both are given, then the properties directly defined at IfcEngine override the properties defined at IfcEngineType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcEngine is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcEngineType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcEngine are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the engine occurrence is defined by IfcEngineType, then the port occurrences must reflect those defined at the IfcEngineType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcEngine PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3637;IfcAirTerminalType;"

    The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a air terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalType are represented by instances of IfcAirTerminal.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcAirTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions.

    " 3640;IfcSpaceHeaterType;"

    The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a space heater specification (i.e. the specific product information, that is common to all occurrences of that product type). Space Heater types may be exchanged without being already assigned to occurrences. Occurrences of IfcSpaceHeaterType are represented by instances of IfcSpaceHeater.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSpaceHeaterType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions.

    " 3643;IfcMedicalDeviceType;"

    The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a medical device specification (i.e. the specific product information, that is common to all occurrences of that product type). Medical Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcMedicalDeviceType are represented by instances of IfcMedicalDevice.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcMedicalDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions.

    " 3646;IfcVibrationIsolator;"

    A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcVibrationIsolator defines the occurrence of any vibration isolator; common information about vibration isolator types is handled by IfcVibrationIsolatorType. The IfcVibrationIsolatorType (if present) may establish the common type name, usage (predefined type), properties, materials, composition, assignments, and representations. The IfcVibrationIsolatorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcVibrationIsolatorType has aggregated elements, such objects are reflected at the IfcVibrationIsolator occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcVibrationIsolatorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcVibrationIsolatorType.HasPropertySets. If both are given, then the properties directly defined at IfcVibrationIsolator override the properties defined at IfcVibrationIsolatorType. Refer to the documentation at the supertype IfcElementComponent and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcVibrationIsolator is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcVibrationIsolatorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Damping: Material from which the damping element of the vibration isolator is constructed.
    " 3655;IfcVibrationIsolatorType;"

    The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • applicable assignment of process types

    It is used to define a vibration isolator specification (i.e. the specific product information, that is common to all occurrences of that product type). Vibration Isolator types may be exchanged without being already assigned to occurrences. Occurrences of IfcVibrationIsolatorType are represented by instances of IfcVibrationIsolator.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcElementComponentType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Damping': Material from which the damping element of the vibration isolator is constructed.
    " 3659;IfcWasteTerminalType;"

    The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a waste terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Waste Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcWasteTerminalType are represented by instances of IfcWasteTerminal.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcWasteTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.
    • 'Cover': Material from which the cover or grating is constructed.

    Port Use Definition

    The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions.

    " 3672;IfcStackTerminalType;"

    The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a stack terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Stack Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcStackTerminalType are represented by instances of IfcStackTerminal.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Material Use Definition

    The material of the IfcStackTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions.

    " 3681;IfcSanitaryTerminalType;"

    The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a sanitary terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Sanitary Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcSanitaryTerminalType are represented by instances of IfcSanitaryTerminal.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcSanitaryTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions.

    " 3697;IfcFireSuppressionTerminalType;"

    The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a fire suppression terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Fire Suppression Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcFireSuppressionTerminalType are represented by instances of IfcFireSuppressionTerminal.

    HISTORY: New entity in IFC2x2

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcFireSuppressionTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.
    • 'Deflector': The material used to construct the deflector plate.

    Port Use Definition

    The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions.

    " 3708;IfcFireSuppressionTerminal;"

    A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire.

    A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcFireSuppressionTerminal defines the occurrence of any fire suppression terminal; common information about fire suppression terminal types is handled by IfcFireSuppressionTerminalType. The IfcFireSuppressionTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcFireSuppressionTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFireSuppressionTerminalType has ports or aggregated elements, such objects are reflected at the IfcFireSuppressionTerminal occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFireSuppressionTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFireSuppressionTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcFireSuppressionTerminal override the properties defined at IfcFireSuppressionTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcFireSuppressionTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFireSuppressionTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Deflector: The material used to construct the deflector plate.

    Port Use Definition

    The distribution ports relating to the IfcFireSuppressionTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the fire suppression terminal occurrence is defined by IfcFireSuppressionTerminalType, then the port occurrences must reflect those defined at the IfcFireSuppressionTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcFireSuppressionTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3712;IfcSanitaryTerminal;"

    A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcSanitaryTerminal defines the occurrence of any sanitary terminal; common information about sanitary terminal types is handled by IfcSanitaryTerminalType. The IfcSanitaryTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcSanitaryTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcSanitaryTerminalType has ports or aggregated elements, such objects are reflected at the IfcSanitaryTerminal occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcSanitaryTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcSanitaryTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcSanitaryTerminal override the properties defined at IfcSanitaryTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcSanitaryTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcSanitaryTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcSanitaryTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the sanitary terminal occurrence is defined by IfcSanitaryTerminalType, then the port occurrences must reflect those defined at the IfcSanitaryTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcSanitaryTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3716;IfcStackTerminal;"

    A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering).

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcStackTerminal defines the occurrence of any stack terminal; common information about stack terminal types is handled by IfcStackTerminalType. The IfcStackTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcStackTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcStackTerminalType has ports or aggregated elements, such objects are reflected at the IfcStackTerminal occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcStackTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcStackTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcStackTerminal override the properties defined at IfcStackTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcStackTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcStackTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.

    Port Use Definition

    The distribution ports relating to the IfcStackTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the stack terminal occurrence is defined by IfcStackTerminalType, then the port occurrences must reflect those defined at the IfcStackTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcStackTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3720;IfcWasteTerminal;"

    A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system.

    A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcWasteTerminal defines the occurrence of any waste terminal; common information about waste terminal types is handled by IfcWasteTerminalType. The IfcWasteTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcWasteTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcWasteTerminalType has ports or aggregated elements, such objects are reflected at the IfcWasteTerminal occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcWasteTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcWasteTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcWasteTerminal override the properties defined at IfcWasteTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcWasteTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcWasteTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Cover: Material from which the cover or grating is constructed.

    Port Use Definition

    The distribution ports relating to the IfcWasteTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the waste terminal occurrence is defined by IfcWasteTerminalType, then the port occurrences must reflect those defined at the IfcWasteTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcWasteTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3724;IfcInterceptorType;"

    The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include:

    • common properties with shared property sets
    • common representations of shape
    • common materials
    • common composition of elements
    • common ports
    • applicable assignment of process types

    It is used to define a interceptor specification (i.e. the specific product information, that is common to all occurrences of that product type). Interceptor types may be exchanged without being already assigned to occurrences. Occurrences of IfcInterceptorType are represented by instances of IfcInterceptor.

    HISTORY: New entity in IFC2x4

    Property Set Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTreatmentDeviceType and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    The following property set definitions are applicable to this entity according to the PredefinedType attribute:

    Material Use Definition

    The material of the IfcInterceptorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • 'Body': The primary material from which the object is constructed.
    • 'Cover': Material from which the cover or grating is constructed.
    • 'Strainer': Material from which the strainer is constructed.

    Port Use Definition

    The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions.

    " 3734;IfcInterceptor;"

    An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity.

    HISTORY  New entity in IFC2x4

    Type Use Definition

    IfcInterceptor defines the occurrence of any interceptor; common information about interceptor types is handled by IfcInterceptorType. The IfcInterceptorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcInterceptorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcInterceptorType has ports or aggregated elements, such objects are reflected at the IfcInterceptor occurrence using the IfcRelDefinesByObject relationship.

    Property Use Definition

    The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcInterceptorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcInterceptorType.HasPropertySets. If both are given, then the properties directly defined at IfcInterceptor override the properties defined at IfcInterceptorType. Refer to the documentation at the supertype IfcFlowTreatmentDevice and ancestors for inherited property set definitions.

    The following property set definitions are applicable to this entity:

    Quantity Use Definition

    The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute.

    The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

    Material Use Definition

    The material of the IfcInterceptor is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcInterceptorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

    • Body: The primary material from which the object is constructed.
    • Cover: Material from which the cover or grating is constructed.
    • Strainer: Material from which the strainer is constructed.

    Port Use Definition

    The distribution ports relating to the IfcInterceptor are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the interceptor occurrence is defined by IfcInterceptorType, then the port occurrences must reflect those defined at the IfcInterceptorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcInterceptor PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

    " 3742;IfcClassification;"

    An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an classification are organized in a tree structure.

    HISTORY New class in IFC Release 1.5. Modified in IFC 2x.
    IFC 2x4 CHANGE Attribute Edition made optional. Attributes: PublicationLocation, Description and ReferenceTokens added. Inverse attribute HasClassificationReferences added.

    Classification use definitions

    IfcClassification identifies the classification system or source from which a classification notation is derived. Each classification reference or classification item, belonging to a single classification system, shall reference a single instance of IfcClassification. Therefore, each particular classification system or source used should have only one IfcClassification instance. However, because multiple classification is allowed, there may be many IfcClassification objects used, each identifying a different classification system or source.

    A classification system declared may be either formally published (such as Omniclass, Uniclass, Masterformat, or DIN) or it may be a locally defined method of classifiying information. There are two methods to define a classification system within an IFC dataset:

    1. Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object.
    2. Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object.
    " 3752;IfcExternalInformation;"

    An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source

    The IfcExternalInformation is an abstract supertype of all external information entities.

    HISTORY New entity in IFC2x4.
    " 3756;IfcLibraryInformation;"

    An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library.

    NOTE  The complete definition of the information in an external library is out of scope in this IFC release.
    HISTORY  New Entity in IFC2x.
    IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse).
    " 3765;IfcLibraryReference;"

    An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation.

    The ifcLibraryReference additionally provides the capability to handle multilingual library entries. The Language attribute then holds the language tag for the language used by the strings kept in the Name and the Description attribute.

    HISTORY  New Entity in IFC2.0.
    IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship).
    " 3770;IfcExternalReference;"

    An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a dictionary entry, a classification notation, or a document reference within the external source.

    Only the Location (as a URL) is given to describe the place where the information can be found. Also an optional Identification as a key to allow more specific references (as to sections or tables) is provided. The Identification defines a system interpretable method to identify the relevant part of information at the source. In addition a human interpretable Name can be assigned to identify the information subject, such as a classification code.

    IfcExternalReference is an abstract supertype of all external reference entities.

    HISTORY New entity in IFC2x.
    " 3779;IfcClassificationReference;"

    An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation).

    The inherited attributes have the following meaning:

    • Identification: holds the key provided for a specific references to classification items (or tables).
    • Name: allows for a human interpretable designation of a classification notation.
    • Location: optionally holds a direct URI link into the classification system (or source) to hyperlink the classification key.

    The IfcClassificationReference can either be assigned directly to the IfcClassification, such as if no classification hierarchy has to be included, or it references the parent classification notation, if the fully classification hierarchy is included in the data set. The attribute ReferencedSource then holds the following information (choice by IfcClassificationReferenceSelect):

    • being of type IfcClassification: direct reference to the classification system (with meta information provided), used for highest level of classification notations, or if the classification notation hierarchy is not relevant,
    • being of type IfcClassificationReference: reference to the parent classification notation within the classification hierarchy.
    HISTORY New entity in IFC 2x.
    IFC2x4 CHANGE The attribute Description and inverse attribute HasReferences are added. The attribute Identification has been renamed from ItemReference.

    Use definitions

    The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as ""lightweight classification"", and the second as ""full classification""

    The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation ""L6814"" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title ""Tanking"". This would remove the need for the overhead of the more complete classification structure of the model.

    " 3787;IfcDocumentReference;"

    An IfcDocumentReference is a reference to the location of a document. The reference is given by a system interpretable Location attribute (a URL string) where the document can be found, and an optional inherited internal reference Identification, which refers to a system interpretable position within the document. The optional inherited Name attribute is meant to have meaning for human readers. Optional document metadata can also be captured through reference to IfcDocumentInformation.

    HISTORY: New Entity in IFC Release 2.0. Modified in IFC 2x.
    " 3792;IfcDocumentInformation;"

    IfcDocumentInformation captures ""metadata"" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference.

    HISTORY: New entity in IFC 2x.
    " 3814;IfcDocumentElectronicFormat;"

    IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation.

    HISTORY: New entity in IFC 2x
    " 3832;IfcDocumentInformationRelationship;"

    An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents.

    HISTORY  New entity in Release IFC2x.
    IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed.

    Use definitions

    This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained).

    " 3836;IfcResourceLevelRelationship;"

    IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities.

    HISTORY New Entity in IFC 2x4
    " 3849;IfcExternalReferenceRelationship;"

    IfcExternalReferenceRelationship is a relationship entity that enables objects from the IfcResourceObjectSelect to have the ability to be tagged by external references.

    NOTE This relationship is used to assign classification, library or document information to entities that do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates.
    HISTORY New Entity in IFC 2x4
    " 3877;IfcConstraint;"

    An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property.

    HISTORY: New Entity in IFC Release 2.0

    Use Definition

    IfcConstraint may be associated with any subtype of IfcRoot (unless restricted in specific subtypes) through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

    A constraint may aggregate other constraints through the IfcConstraintAggregationRelationship through which a logical association between constraints may be applied, or constraints may have other defined relationship to other constraints via IfcConstraintRelationship.

    A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime.

    A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences

    " 3893;IfcObjective;"

    An IfcObjective captures qualitative information for an objective-based constraint.

    HISTORY: New Entity in IFC Release 2.0

    Use definition

    IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

    The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied.

    " 3899;IfcMetric;"

    An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives.

    HISTORY: New Entity in IFC Release 2.0

    Use Definition

    IfcMetric is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

    The aim of IfcMetric is to capture the quantitative aspects of a constraint.

    For instance, when undertaking a move (instantiated through the IfcTask class), a constraint is instantiated as the class IfcMetric and may be named as a 'Move Start Constraint' or 'Move End Constraint' and described using one of a possible range of move constraints as shown in the table below.

    Constraint Description Benchmark Grade
    ASSOONASPOSSIBLE Action should commence at the earliest possible opportunity. GREATERTHANOREQUALTO SOFT
    MUSTSTARTON Action must start at a prescribed date/time. EQUALTO HARD
    MUSTSTARTBEFORE Action must start before a prescribed date/time. LESSTHANOREQUALTO HARD
    MUSTSTARTAFTER Action must not start before a prescribed date/time. GREATERTHANOREQUALTO HARD
    MAYSTARTAFTER Action may start at any time following a prescribed date/time. GREATERTHANOREQUALTO SOFT
    MUSTFINISHON Action must be complete at or by a prescribed date/time. EQUALTO HARD
    MUSTFINISHBEFORE Action must be complete before a prescribed date/time. LESSTHANOREQUALTO HARD

    This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime.

    " 3937;IfcResourceConstraintRelationship;"

    An IfcResourceConstraintRelationship is a relationship entity that enables a constraint to be related to one or more resource level objects.

    HISTORY  New Entity in Release IFC2x2.
    IFC2x4 CHANGE  Renamed from IfcPropertyConstraintRelationship and extended to apply to all resource level entities. Subtyped from IfcResourceLevelRelationship.

    Use definition

    An IfcResourceConstraintRelationship allows for the specification of a constraint to be applied to many entity types. An important case is to apply constraints to properties. The constraints applied therefore enable a property to carry values identifying requirements as well as those identifying the fulfilment of those requirements.

    Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values.

    Figure 238 — Resource constraint relationship

    " 3940;IfcConstraintRelationship;"

    An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its subtypes to be associated to each other. Logical aggregation of instances of IfcConstraint and its subtypes is handled by the subtype IfcConstraintAggregationRelationship.

    EXAMPLE: Certain constraints related to an IfcWall may be derived from a constraint related to an IfcSpace.
    HISTORY  New entity in Release IFC2x2 (Addendum 1).
    IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship.
    " 3945;IfcConstraintAggregationRelationship;"

    An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically.

    HISTORY  New Entity in IFC Release 2.0. Modified in IFC2x2.
    IFC2x4 CHANGE  Subtyped from IfcConstraintRelationship

    Use definition

    IfcConstraintAggregationRelationship allows the aggregation link between subtypes of constraint to be logically defined (AND, OR, XOR, NOTAND, NOTOR). In this way, whereby an object or property can have multiple constraints assigned, and the logical linkage between them can be specified. Thus linked constraints might show as for example (> X AND < Y) which is useful for an allowed range, or bounded value, for example, (A OR B OR C) which is valuable for an enumerated property where a selection is constrained to be (at least) one of A, B or C.

    Figure 237 illustrates constraint aggregation.

    Figure 237 — Constraint aggregation

    " 3954;IfcCostValue;"

    IfcCostValue is an amount of money or a value that affects an amount of money.

    HISTORY: New Entity in IFC Release 1.0

    Use definitions

    Each instance of IfcCostValue may also have a CostType. There are many possible types of cost value that may be identified. While there is a broad understanding of the meaning of names that may be assigned to different types of costs, there is no general standard for naming cost types nor are there any broadly defined classifications. To allow for any type of cost value, the IfcLabel datatype is assigned.

    The following defines some cost types that might be applied:

    • Annual rate of return
    • Bonus
    • Bulk purchase rebate
    • Contract
    • Consultancy
    • Delivery
    • Estimated cost
    • Hire
    • Installation
    • Interest rate
    • Labor
    • Lease
    • List price
    • Maintenance
    • Material
    • Overhead
    • Postage and packing
    • Profit
    • Purchase
    • Rental
    • Repair
    • Replacement
    • Sale
    • Small quantity surcharge
    • Spares
    • Storage
    • Sub-Contract
    • Trade discount
    • Transportation
    • Waste allowance
    • Whole life

    In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region.

    " 3957;IfcAppliedValue;"

    IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values.

    HISTORY: New Entity in IFC2x2. Modifed in IFC2x4 to use IfcDate for date values.

    Use definitions

    The extent of the IfcAppliedValue is determined by the AppliedValue attribute which may be defined either as an IfcMeasureWithUnit or as an IfcMonetaryMeasure or as an IfcRatioMeasure via the IfcAppliedValueSelect type.

    Optionally, an IfcAppliedValue may have an applicable date. This is intended to fix the date on which the value became relevant for use. It may be the date on which the value was set in the model or it may be a prior or future date when the value becomes operable.

    Similarly, an IfcAppliedValue may have a 'fixed until' date. This is intended to fix the date on which the value ceases to be relevant for use.

    An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application.

    Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects.

    " 3973;IfcCurrencyRelationship;"

    IfcCurrencyRelationship defines the rate of exchange that applies between two designated currencies at a particular time and as published by a particular source.

    HISTORY  New Entity in IFC2x2.
    IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, attribute order changed.

    Use definitions

    An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate).

    The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL.

    " 3979;IfcAppliedValueRelationship;"

    An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value.

    HISTORY  New Entity in Release IFC2.0.
    IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, attribute order changed.

    Use definitions

    Dependency relationships can exist between applied values on the basis that one particular value may be determined by operations on one or more other values. This is captured through the IfcAppliedValueRelationship entity. In this relationship, one instance of IfcAppliedValue acts as the principal (IfcAppliedValueRelationship.ComponentOf) whose value may be determined from the instances of IfcAppliedValue that are defined as its components (IfcAppliedValueRelationship.Components)

    An IfcAppliedValueRelationship has an ArithmeticOperator attribute that specifies the form of arithmetical operation implied by the relationship.

    A practical consideration when using the applied value relationship is that when the arithmetic operator is ADD, then the type of the IfcAppliedValue.AppliedValue attribute will be IfcMeasureWithUnit or IfcMonetaryMeasure while if the arithmetic operator is MULTIPLY, then the type of the IfcAppliedValue.AppliedValue attribute for one instance of IfcAppliedValue will be IfcMeasureWithUnit or IfcMonetaryMeasure while for other instances it will be IfcRatioMeasure.

    If the arithmetic operator is SUBTRACT or DIVIDE then there can only be two occurrences of IfcAppliedValue that can contribute and the order in which they occur is significant. The value of (A - B) will usually differ from the value of (B - A) whilst (X / Y) is the reciprocal of (Y / X).

    Figure 239 illustrates one level aggregation of applied values. A relationship exists between applied value A and applied values B, C and D such that the value of A is determined by the addition of B, C and D such that: A = B + C + D

    Figure 239 — Applied value relationship single level

    Figure 240 illustrates two level aggregation of applied values. It is possible to develop more complex applied value specifications by creating hierarchies of applied value relationships. In the diagram, the development of a applied value is shown whereby, because B = E * F and D = G * H * J, then: A = ((E * F) + C + (G * H * J)).

    Figure 240 — Applied value relationship multiple level

    " 3989;IfcResourceCost;"

    IfcResourceCost defines cost information for resources.

    HISTORY: New Entity in IFC 2x4.
    " 4005;IfcTimeSeries;"

    A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time.

    The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data.

    HISTORY: New entity in IFC 2x2.
    " 4017;IfcRegularTimeSeries;"

    In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values.

    EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour.
    HISTORY: New entity in IFC 2x2.
    " 4020;IfcTimeSeriesValue;"

    A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules:

    • All time (universal, local, daylight savings, and solar) is normalized against the ISO 8601 standard GMT/UTC (Universal Coordinated Time).
    • Any rollover is handled by the application providing the data. Rollover occurs, for example, when the measurement device resets itself while measuring and the recording data do not include the data measured before the reset.
    • The normalized data refer to the preceding time unit. The time series example shown in Figure 241 below contains four time points: Time ""a"" indicates the beginning of the time series and the associated datum has no relevance. Data at time points ""b,"" ""c"" and ""d"" are associated with values 1, 2 and 3, respectively.

    Figure 241 — Time series value

    HISTORY  New entity in IFC2x2.
    " 4022;IfcIrregularTimeSeries;"

    In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern.

    EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch.
    HISTORY: New entity in IFC 2x2.
    " 4024;IfcIrregularTimeSeriesValue;"

    The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point.

    HISTORY: New entity in IFC 2x2.
    " 4041;IfcTaskTime;"

    IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times.

    HISTORY: New entity in IFC2x4, adapted from IfcScheduleTimeControl. Differently to IfcScheduleTimeControl it is also possible to differentiate duration time measures between the two possible types; (1) work time and (2) elapsed time.

    Use definitions

    All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own.

    IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources.

    " 4060;IfcSchedulingTime;"

    IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes.

    HISTORY: New entity in IFC2x4.
    " 4069;IfcLagTime;"

    IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes.

    HISTORY: New entity in IFC Release 2x4.

    Use Definitions

    An IfcLagTime provides information about the time lag that exists between the predecessor and successor process in a sequence. The assertion of the time lag is optional for a sequence but for work schedules that specifically deal with processes occurring at particular times, it should be asserted.

    A lag time has a duration type. This allows the identification of whether elapsed time or work time is being measured (where work time is the estimate of the time required to complete the process and elapsed time being the amount of time actually allocated to the process)

    The form of measurement of the duration can be captured. Allowed values for this are MEASURED, PREDICTED or SIMULATED. The selection of this value depends on the use of the schedule. A NOTDEFINED value is also allowed.

    The value of the time lag may be selected as being either a percentage ratio or an actual time measure. If selected as a ratio, the percentage should apply to the duration of the predecessor process (relating process) such that e.g. a value of 0.5 (50%) would indicate that the successor task should start when the predecessor task is 50% complete (if a START-START sequence type is used) or should wait for 50% of the duration of the predecessor process to have elapsed after the finish of the predecessor process in case of a FINISH-START sequence type.

    The time unit for the task duration may also be set and this may be set to any allowed unit of time measure.

    " 4079;IfcResourceTime;"

    IfcResourceTime captures the time-related information about a construction resource.

    HISTORY: New entity in IFC2x4.
    " 4095;IfcEventTime;"

    IfcEventTime captures the time-related information about an event including the different types of event dates (i.e. actual, scheduled, early, and late).

    HISTORY: New entity in IFC2x4.

    Use definitions

    All given values should be provided by the application, i.e. the IFC schema does not deal with dependencies between process time values. At this stage there is also no consistency check through where rules that guarantee a meaningful population of date values. Thus, an application is responsible to provide reasonable values and, if an application receives event dates, has to make consistency checks by their own.

    IfcEventTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources (derived from the process graph). The data origin flag is provided as a single attribute applying to all date time related attributes of IfcEventTime.

    " 4100;IfcWorkTime;"

    IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns.

    HISTORY: New entity in IFC2x4.

    Use definitions

    A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date.

    The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns.

    " 4104;IfcRecurrencePattern;"

    IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type.

    HISTORY: New entity in IFC2x4.

    Use definitions

    IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months.

    " 4128;IfcTimePeriod;"

    IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset.

    HISTORY: New entity in IFC R2x4.

    Use definitions

    A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset.

    " 4131;IfcTaskTimeRecurring;"

    IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks.

    HISTORY: New entity in IFC2x4.
    " 4134;IfcConnectionGeometry;"

    IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships.

    NOTE  The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. Using the eccentricity subtypes, the connection can also be described when there is a physical distance (or eccentricity) between the connection elements.

    The IfcConnectionGeometry allows for the provision of connection constraints between geometric and topological elements, the following connection geometry/topology types are in scope:

    • point | vertex point,
    • curve | edge curve,
    • surface | face surface,
    HISTORY  New entity in IFC Release 1.5.
    IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface).
    " 4139;IfcConnectionPointGeometry;"

    IfcConnectionPointGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a point (here IfcCartesianPoint) or at an vertex with point coordinates associated. It is envisioned as a control that applies to the element connection relationships.

    EXAMPLE  The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it.

    NOTE  If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used.
    HISTORY  New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x.
    IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcVertexPoint, is enabled by using the IfcPointOrVertexPoint.

    Geometry use definitions

    The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used.

    " 4143;IfcConnectionPointEccentricity;"

    IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by:

    • providing the PointOnRelatingElement and the PointOnRelatedElement, where both˙point coordinates are not identical within a common parent coordinate system (latestly within the world coordinate system),
    • providing the PointOnRelatingElement and the three distance measures, EccentricityInX, EccentricityInY, and EccentricityInZ (or only EccentricityInX, and EccentricityInY if the underlying coordinate system is two-dimensional), or
    • providing both.
    NOTE˙ If both, PointOnRelatedElement, and EccentricityInX, EccentricityInY, (EccentricityInZ) are provided, the values should be consistent. In case of any non-consistency, the calculated distance between PointOnRelatingElement and PointOnRelatedElement takes precedence.

    The explicit values for EccentricityInX, EccentricityInY, and EccentricityInZ are always measured in the following direction and coordinate system (defining when the value is positive or negative):

    • from the PointOnRelatedElement to PointOnRelatingElement within the coordinate system of the RelatingElement.
    • in addition: when used to specify connections in structural analysis models, the IfcStructuralMember is to be used as the RelatingElement of the relationship object utilizing IfcConnectionPointEccentricity, and the IfcStructuralConnection is the RelatedElement.
    HISTORY˙ New entity in IFC 2x Edition 3.

    Geometry use definitions

    The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values.

    " 4150;IfcConnectionCurveGeometry;"

    IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships.

    EXAMPLE  The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it.

    The available geometry for the connection constraint may be further restricted to only allow straight segments by applying IfcPolyline only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associated IfcConnectionCurveGeometry.

    HISTORY  New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x.
    IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve.

    Geometry use definitions

    The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute.

    " 4156;IfcConnectionSurfaceGeometry;"

    IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships.

    HISTORY  New entity in IFC Release 2x.
    IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface.

    Geometry use definitions

    The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute.

    " 4163;IfcConnectionVolumeGeometry;"

    IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships.

    HISTORY˙ New entity in IFC2x4.

    Geometry use definitions

    The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same˙volume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute.

    " 4169;IfcGridAxis;"

    An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid.

    HISTORY  New entity in IFC Release 1.0

    Geometry use definitions

    The standard geometric representation of IfcGridAxis is defined using a 2D curve entity. Grid axes are normally defined by an offset to another axis. The IfcOffsetCurve2D supports this concept.

    Each grid axis has a sense given by the parameterization of the curve. The attribute SameSense is an indicator of whether or not the sense of the grid axis agrees with, or opposes, that of the underlying curve.

    As shown in Figure 242, the grid axis is defined as a 2D curve within the xy plane of the position coordinate system. Any curve can be used to define a grid axis, most common is the use of IfcLine for linear grids and IfcCircle for radial grids.

    Most grids are defined by a pair of axis lists, each defined by a base grid axis and axes given by an offset to the base axis. The use of IfcOffsetCurve2D as underlying AxisCurve supports this concept.

    Figure 242 — Grid axis

    " 4179;IfcVirtualGridIntersection;"

    IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection.

    The two intersecting axes (IntersectingAxes) define the intersection point, which exact location (in terms of the Cartesian point representing the intersection) has to be calculated from the geometric representation of the two participating curves.

    NOTE The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the IfcVirtualGridIntersection. Where rules and informal rules ensure, that the IntersectingAxes belong to the same IfcGrid

    Offset values may be given (OffsetDistances). If given, the position within the list of OffsetDistances corresponds with the position within the list of IntersectingAxes. Therefore:

    • OffsetDistances[1] sets the offset to IntersectingAxes[1],
    • OffsetDistances[2] sets the offset to IntersectingAxes[2], and
    • OffsetDistances[3] sets the offset to the virtual intersection in direction of the orientation of the cross product of IntersectingAxes[1] and the orthogonal complement of the IntersectingAxes[1] (which is the positive or negative direction of the z axis of the design grid position).
    HISTORY  New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x.

    Informal Propositions:

    1. Both, IntersectingAxes[1] and IntersectingAxes[2] shall be two IfcGridAxis defined by the same IfcGrid.
    2. IntersectingAxes[1] and IntersectingAxes[2] shall not be part of the same row of grid axes, i.e. both shall not be within the same set of IfcGrid.UAxes or IfcGrid.VAxes of the corresponding IfcGrid.

    Geometry use definitions:

    The following figures explain the usage of the OffsetDistances and IntersectingAxes attributes.

    Figure 246 illustrates two offset distances given where the virtual intersection is defined in the xy plane of the grid axis placement.

    Figure 246 — Virtual grid intersection with two offsets

    Figure 247 illustrates three offset distances given where the virtual intersection is defined by an offset (in direction of the z-axis of the design grid placement) to the virtual intersection in the xy plane of the grid axis placement.

    Figure 247 — Virtual grid intersection with three offsets

    The distance of the offset curve (OffsetDistances[n]) is measured from the basis curve. The distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) This can be reverted by the SameSense attribute at IfcGridAxis which may switch the sense of the AxisCurve.

    Illustration

    Figure 248 illustrates an example of a negative offset where the figure shows the side of the offset.

    • IntersectingAxes[1].AxisCurve is an IfcTrimmedCurve with an IfcCircle as BasisCurve and SenseAgreement = TRUE.
    • IntersectingAxes[1].SameSense = TRUE.
    • OffsetDistances[1] is a negative length measure

    Figure 248 — Virtual grid intersection negative offset

    " 4182;IfcGridPlacement;"

    IfcGridPlacement provides a specialization of IfcObjectPlacement in which the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid.

    The location of the object coordinate system is given by the attribute PlacementLocation. It is defined as an IfcVirtualGridIntersection, that is, an intersection between two grid axes with optional offsets.

    The axis direction of the x-axis of the object coordinate system is given either:

    • PlacementRefDirection = NIL: by the tangent of the first grid axis (PlacementLocation.IntersectingAxes[1]) at the virtual intersection (maybe using the offset curve, if PlacementLocation.OffsetDistances is given);
    • PlacementRefDirection = IfcDirection: by the explicitly provided direction information;
    • PlacementRefDirection = IfcVirtualGridIntersection: by the tangent between the virtual grid intersection of PlacementLocation and the virtual grid intersection of PlacementRefDirection. Offsets as potentially provided in the IfcVirtualGridIntersection's of PlacementLocation and PlacementRefDirection have to be taken into account.

    The direction of the y-axis of the IfcGridPlacement is the orthogonal complement to the x-axis. The plane defined by the x and y axis shall be co-planar to the xy plane of the local placement of the IfcGrid

    The direction of the z-axis is the orientation of the cross product of the x-axis and the y-axis, i.e. the z-axis of the IfcGridPlacement shall be co-linear to the z-axis of the local placement of the IfcGrid.

    NOTE The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the virtual grid intersection.
    NOTE The PlacementLocation.OffsetDistances[3] and the PlacementRefDirection.OffsetDistances[3] shall either not be assigned or should have the same z offset value.
    HISTORY ˙New entity in IFC Release 1.5. The entity name was changed from IfcConstrainedPlacement in IFC Release 2x.
    IFC2x4 CHANGE Attribute data type of PlacementRefDirection has been changed to IfcGridPlacementDirectionSelect.

    Geometry use definitions

    The following examples show the usage of placement location and direction for an IfcGridPlacement.

    Figure 243 illustrates the case where PlacementRefDirection is not given - the object coordinate system is defined by:

    • its location: given by the virtual grid intersection of PlacementLocation
    • its x-axis direction: given by the tangent of the first intersecting axis in the offset location of the virtual grid intersection

    Figure 243 — Grid placement

    Figure 244 illustrates the case where PlacementRefDirection is given as an IfcDirection- the object coordinate system is defined by:

    • its location: given by the virtual grid intersection of PlacementLocation
    • its x-axis direction: given by the DirectionRatios of the IfcDirection, only the ratios for x and y are taken into account,

    Figure 244 — Grid placement with direction

    Figure 245 illustrates the case where PlacementRefDirection is given as an IfcVirtualGridIntersection- the object coordinate system is defined by:

    • its location: given by the virtual grid intersection of PlacementLocation
    • its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection.

    Figure 245 — Grid placement with intersection

    " 4185;IfcObjectPlacement;"

    IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The IfcObjectPlacement has to be provided for each product that has a shape representation.

    The object placement can be given:

    • absolute: by an axis2 placement, relative to the world coordinate system,
    • relative: by an axis2 placement, relative to the object placement of another product,
    • by grid reference: by the virtual intersection and reference direction given by two axes of a design grid.

    In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated.

    HISTORY New entity in IFC Release 2x.
    " 4190;IfcLocalPlacement;"

    IfcLocalPlacement defines the relative placement of a product in relation to the placement of another product or the absolute placement of a product within the geometric representation context of the project.

    IfcLocalPlacement allows that an IfcProduct can be placed by this IfcLocalPlacement (through the attributeObjectPlacement) within the local coordinate system of the object placement of another IfcProduct, which is referenced by the PlacementRelTo. Rules to prevent cyclic relative placements have to be introduced on the application level.

    If the PlacementRelTo is not given, then the IfcProduct is placed absolutely within the world coordinate system.

    HISTORY: New entity in IFC Release 1.0.

    Geometry use definitions

    The following conventions shall apply as default relative positions if the relative placement is used. The conventions are given for all five direct subtypes of IfcProduct, the IfcSpatialStructureElement, IfcElement, IfcAnnotation, IfcGrid, IfcPort. More detailed placement information is given at the level of subtypes of those five types mentioned.

    • For the subtypes of IfcSpatialStructureElement the following conventions apply
      • IfcSite shall be placed absolutely within the world coordinate system established by the geometric representation context of the IfcProject
      • IfcBuilding shall be placed relative to the local placement of IfcSite
      • IfcBuildingStorey shall be placed relative to the local placement of IfcBuilding
    • For IfcGrid and IfcAnnotation the convention applies that it shall be placed relative
      • to the local placement of its container (IfcSite, IfcBuilding, IfcBuildingStorey)
        • it should be the same container element that is referenced by the IfcRelContainedInSpatialStructure containment relationship,
    • For IfcPort the convention applies that it shall be placed relative
      • to the local placement of the element it belongs to (IfcElement)
        • it should be the same element that is referenced by the IfcRelConnectsPortToElement connection relationship,
    • For IfcElement the convention applies that it shall be placed relative:
      • to the local placement of its container (IfcSite, IfcBuilding, IfcBuildingStorey)
        • it should be the same container element that is referenced by the IfcRelContainedInSpatialStructure containment relationship,
      • to the local placement of the IfcElement to which it is tied by an element composition relationship
        • for features that are located relative to the main component (such as openings), as expressed by IfcRelVoidsElement and IfcRelProjectsElement,
        • for elements that fill an opening (such as doors or windows), as expressed byIfcRelFillsElement,
        • for coverings that cover the element, as expressed byIfcRelCoversBldgElements,
        • for sub components that are aggregated to the main component, as expressed by IIfcRelAggregates and IfcRelNests)

    If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world coordinate system established by the referenced geometric representation context within the project.

    " 4199;IfcMaterial;"

    IfcMaterial is a homogeneous or inhomogeneous substance that can be used to form elements (physical products or their components).

    IfcMaterial is the basic entity for material designation and definition; this includes identification by name and classification (via reference to an external classification), as well as association of material properties (isotropic or anisotropic) defined by (subtypes of) IfcMaterialProperties. An instance of IfcMaterial may be associated to an element or element type using the IfcRelAssociatesMaterial relationship. The assignment might either be direct as a single material information, or via

    • a material layer set
    • a material profile set
    • a material constituent set

    An IfcMaterial may also have presentation information associated. Such presentation information is provided by IfcMaterialDefinitionRepresentation, associating line styles, hatching definitions or surface coloring/rendering information to a material.

    HISTORY˙New entity in IFC2x4
    IFC2x4 CHANGE˙ The attributes Description and Category have been added.
    " 4206;IfcMaterialDefinition;"

    IfcMaterialDefinition is a general supertype for all material related information items in IFC that have common material related properties that may include association of material with some shape parameters or assignments to identified parts of a component.

    There are three ways of assigning materials to a single component or multiple components; they are characterized as:

    • by layer - assigning a material to a layer with constant thickness
    • by profile - assigning a material to a profile with a constant of varying shape along an extrusion
    • by constituents - assigning a material to an identified part of a component shape; the identification is by a keyword rather than by a shape parameter

    Each instantiable subtype of IfcMaterialDefinition may have material properties assigned, or have an external classification of its definition. It can be assigned to either a subtype of IfcElement, or a subtype of IfcElementType by using the objectified relationship IfcRelAssociatesMaterial.

    HISTORY˙ New entity in IFC2x4
    " 4217;IfcMaterialLayer;"

    IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase.

    EXAMPLE  A cavity wall with brick masonry used with an air gap in between would be modeled using three IfcMaterialLayer's: [1] Brick, [2] Air gap, [3] Brick. The inner layer ""Brick"" would have a Name = ""Brick"", an individual LayerThickness, and potentially a Category indicating it as ""load bearing"", and a Priority that controls how this material layer interacts with other material layers in wall connections.

    The IfcMaterialLayer may have a material layer name, that might be different to the IfcMaterial name referenced.

    EXAMPLE  The IfcMaterialLayer name of an insulation layer can be ""Insulation"", whereas the IfcMaterial name is ""polystyrene insulating boards"".

    HISTORY  New entity in IFC 1.5
    IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure.
    " 4227;IfcMaterialLayerWithOffsets;"

    IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition of offset values along edges (within the material layer set usage in parent layer set).

    It defines the assignment of two offset values for a material layer in its intended use within a material layer set. Offsets are applied to the edges of layered elements (that is, in directions perpendicular to the layer set direction). Offsets shall not be used in layer set direction, that is, for modelling gaps (or overlaps) between layers; gaps shall be modeled as layers with appropriate material assignment for the void.

    EXAMPLE   At the top of a standard wall, with shape representation SweptSolid, offset of a given layer can be specified in the direction of the extrusion (positive Z axis), applied at the start or end (extruded from bottom to top), and with a positive (extending above extrusion) or negative (ending below extrusion).

    Take a standard wall with the outer material layer for the external isolation extending above extrusion by 100mm, but starting at the same base height. In this case the following values are set:
    • OffsetDirection = .AXIS3.
    • OffsetValues[1] = 0.0
    • OffsetValues[2] = 100.0 (default unit assumed to be mm)
    HISTORY  New Entity in IFC2x4.

    Informal propositions

    1. The OffestDirection shall not be identical to the LayerSetDirection of the corresponding IfcMaterialLayerSetUsage
    2. The attribute ReferenceExtent shall be asserted at the corresponding IfcMaterialLayerSetUsage

    Attribute use definition

    The OffsetValues and OffsetDirection correspond to the definitions ReferenceExtent and LayerSetDirection at the IfcMaterialLayerSetUsage.

    Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall.

    Figure 289 — Material layer with offsets

    " 4234;IfcMaterialLayerSet;"

    IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed.

    The Material Layer Set Base (MlsBase) describes the axis along which the material layers are positioned. The MlsBase is positioned along the reference axis or reference plane of the element supporting the IfcMaterialLayerSetUsage concept with a potential offset (see here). The positive Material Layer Set Direction (MlsDirection) describes the direction by which the individual material layers, with their material layer thicknesses are stacked. IfcMaterialLayer's are stacked with no gap, gaps within a material layer set are expresses as layers by themselves.

    EXAMPLE A cavity brick wall would be modeled as IfcMaterialLayerSet consisting of three IfcMaterialLayer's: brick, air cavity and brick. The air gap is identified, using the IsVentilated flag at IfcMaterialLayer.

    HISTORY  New entity in IFC 1.0
    IFC2x4 CHANGE  Subtyped from IfcMaterialDefinition, the attribute Description has been added at the end of attribute list.

    Attribute use definition

    As shown in Figure 285, each IfcMaterialLayerSet implicitly defines a material layer set base line (MlsBase), to which the start of the first IfcMaterialLayer is aligned. The total thickness of a layer set is calculated from the individual layer thicknesses, the first layer starting from the MlsBase and following layers being placed on top of the previous (no gaps or overlaps).

    Figure 285 — Material layer set

    " 4239;IfcMaterialProfileSet;"

    IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted.

    NOTE ˙ In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype).
    HISTORY˙New Entity in IFC2x4.
    " 4244;IfcMaterialProfile;"

    IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more).

    NOTE ˙ In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype).
    HISTORY˙New Entity in IFC2x4
    " 4253;IfcMaterialProfileWithOffsets;"

    IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage.

    Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement.

    HISTORY˙ New Entity in IFC2x4.
    " 4255;IfcMaterialConstituentSet;"

    IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile).

    EXAMPLE The different materials of a window construction shall be provided for the window lining and the window glazing. An IfcMaterialConstituentSet is assigned to the window with two IfcMaterialConstituent's, one with the Name = 'Lining', one with the Name = 'Glazing'.
    NOTE See the ""Material Use Definition"" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords.
    HISTORY˙New Entity in IFC2x4.
    " 4259;IfcMaterialConstituent;"

    IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute.

    NOTE See the ""Material Use Definition"" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name.
    HISTORY˙New Entity in IFC2x4
    " 4266;IfcMaterialRelationship;"

    IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed.

    HISTORY˙New Entity in IFC2x4
    " 4270;IfcMaterialProperties;"

    IfcMaterialProperties is defined as an abstract supertype for entities that apply material properties to material definitions. A set of material properties that are assigned to an individual material definiton may be identified by a Name and a Description.

    NOTE  The set of material properties can be assigned to an individual IfcMaterial, a set or composite of materials (IfcMaterialConstituent, IfcMaterialConstituentSet), or set or individual material layer (IfcMaterialLayer, IfcMaterialLayerSet), or a set or individual material profile (IfcMaterialProfile, IfcMaterialProfileSet)

    The applicable set of material properties is defined at the subtype IfcExtendedMaterialProperties. It includes material properties defined in this IFC specification and those defined as user-defined extended material properties.

    HISTORY  New Entity in IFC 2x.
    IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead.
    " 4275;IfcExtendedMaterialProperties;"

    The IfcExtendedMaterialProperties assign a set of defined material properties to associated material definitions. This provides a mechanism to assign any material properties to material. Those material properties that are defined as part of the IFC specification are provided within the use definitions below.

    NOTE The usage of this entity has changed in IFC2x4, it is now used to express all material properties.

    The IfcProperty (instantiable subtypes) is used to express the individual material properties.

    HISTORY  New entity in Release IFC2x.
    IFC2x4 CHANGE  The attributes Name and Description are promoted to supertype, attribute ExtendedProperties has been renamed to Properties.

    Extended property use definitions

    The following sets of material property definitions are part of this IFC release:

    " 4277;IfcMaterialClassificationRelationship;"

    IfcMaterialClassificationRelationship is a relationship assigning classifications to materials.

    HISTORY˙ New entity in IFC2x.
    IFC2x4 CHANGE˙ The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead.
    " 4280;IfcMaterialLayerSetUsage;"

    IfcMaterialLayerSetUsage determines the usage of IfcMaterialLayerSet in terms of its location and orientation relative to the associated element geometry. The location of material layer set shall be compatible with the building element geometry (that is, material layers shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element.

    EXAMPLE ˙For a cavity brick wall with shape representation SweptSolid, the IfcMaterialLayerSet.TotalThickness shall be equal to the wall thickness. Also the OffsetFromReferenceLine shall match the exact positions between the two shape representations of IfcWallStandardCase, i.e. the IfcShapeRepresentation's with RepresentationIdentifier=""Axis"" and RepresentationIdentifier=""Body"".

    NOTE ˙Refer to the implementation guide and agreements for more information on matching between building element geometry and material layer set usage.

    The IfcMaterialLayerSetUsage is always assigned to an individual occurrence object only (i.e. to relevant subtypes of IfcElement). The IfcMaterialLayerSet, referenced by ForLayerSet can however be shared among several occurrence objects. If the element type is available (i.e. the relevant subtype of IfcElementType, then the IfcMaterialLayerSet can be assigned to the type object. The assignment between a˙subtype of IfcElement and the IfcMaterialLayerSetUsage is handled by IfcRelAssociatesMaterial.

    Use definition

    The IfcMaterialLayerSetUsage is primarily intended to be associated with planar building elements having a constant thickness. With further agreements on the interpretation of LayerSetDirection, the usage can be extended also to other cases, e.g. to curved building elements, provided that the material layer thicknesses are constant.

    Generally, an element may be layered in any of its primary directions, denoted by its x, y or z axis. The geometry use definitions at each˙specific types of building element will determine the applicable˙LayerSetDirection.

    The following examples illustrate how the IfcMaterialLayerSetUsage attributes (LayerSetDirection, DirectionSense, OffsetFromReferenceLine) can be used in different cases. The normative material use definitions are documented at each element (how these shall be used).

    Figure 286 shows an example of the use of IfcMaterialLayerSetUsage aligned to the axis of a wall.

    EXAMPLE  For a standard wall with extruded geometric representation (vertical extrusion), the layer set direction will be perpendicular to extrusion direction, and˙can be derived from the direction of the wall axis. With the DirectionSense(positive in this example) the individual IfcMaterialLayers are assigned consecutively right-to-left or left-to-right. For a curved wall, ""direction denoting the wall thickness"" can be derived from the direction of the wall axis, and it will remain perpendicular to the wall path. The DirectionSense˙applies as well.

    NOTE  According to the IfcWallStandardCase material use definition the LayerSetDirection for IfcWallStandardCase is always AXIS2 (i.e. along the y-axis), as shown in this example.

    Figure 286 — Material layer set usage for wall

    Figure 287 shows an example of the use of IfcMaterialLayerSetUsage aligned to a slab.

    EXAMPLE ˙For a slab with perpendicular extruded geometric representation, the LayerSetDirection will coincide with the extrusion direction (in positive or negative sense). In this example, the material layer set base is the extruded profile and consistent with the IfcExtrudedAreaSolid.Positionwith the DirectionSensebeing positive, the individual IfcMaterialLayers are built up from the base towards positive z direction in this case.

    NOTE ˙
    According to the IfcSlabStandardCase material use definition the LayerSetDirection for IfcSlabStandardCase is always AXIS3 (i.e. along the z-axis).

    Figure 287 — Material layer set usage for slab

    Figure 288 shows an example of the use of IfcMaterialLayerSetUsage aligned to a roof slab with non-perpendicular extrusion.

    EXAMPLE ˙For a slab with non-perpendicular extruded geometric representation, the guidelines above apply as well. The material layer thickness and the OffsetFromReferenceLine is always measured perpendicularly, even if the extrusion direction is not perpendicular. Therefore the total material layer thickness is not equal to the extrusion depth of the geometry.

    Figure 288 — Material layer set usage for roof slab

    " 4286;IfcMaterialUsageDefinition;"

    IfcMaterialUsageDefinition is a general supertype for all material related information items in IFC that have occurrence specific assignment parameters to assign a set of materials with shape parameters to a reference geometry item of that component.

    There are two ways of assigning a set of materials with shape parameters:

    • a layer set to a reference curve - assigning a material layer set with material layers having a sequence and thickness parameter to a reference curve of an element - represented by the 'Axis' shape representation of that element
    • a profile set to a cardinal point - assigning a material profile set with assigned profile geometry and insertion points to a reference curve by an offset, called ""cardinal point"" - the reference curve is represented by the 'Axis' shape representation of that element

    Each instantiable subtype of IfcMaterialUsageDefinition has to be assigned to a subtype of IfcElement by using the objectified relationship IfcRelAssociatesMaterial; it is only valid in conjunction with an element occurrence.

    HISTORY˙ New entity in IFC2x4

    Informal proposition

    1. It is illegal to assign a subtype of IfcMaterialUsageDefinition to a subtype of IfcElementType, it shall only be assigned to an element occurrence.
    " 4290;IfcMaterialProfileSetUsage;"

    IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set.

    NOTE ˙ Refer to the implementation guide and agreements for more information on matching between building element geometry and material profile set usage.
    NOTE ˙ The referenced IfcMaterialProfileSet may represent a single material profile, or a composite profile with two or more material profiles.
    HISTORY˙New Entity in IFC2x4.
    " 4295;IfcMaterialProfileSetUsageTapering;"

    IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements.

    HISTORY˙ New entity in IFC 2x4

    Usage with tapered building elements

    The inherited attribute ForProfileSet specifies the profile and material at the start of the member, ForProfileEndSet at its end. Start and end correspond to the extrusion direction in the shape model of the shape representation of the element or element type.

    Both material profile sets should refer to the same material, that is, only differ with respect to their profiles.

    Usage with structural analysis curve members

    IfcMaterialProfileSetUsageTapering may be used with the structural analysis idealization (IfcStructuralCurveMember) of uniform members as well as of tapered members.

    In case of uniform members, ForProfileSet and ForProfileEndSet refer to the same material profile set. In case of tapered members, ForProfileSet specifies the profile and material at the start of the member, ForProfileEndSet at its end. Start and end correspond to the edge direction in the topological representation of the curve member.

    " 4304;IfcMaterialList;"

    IfcMaterialList is a list of the different materials that are used in an element.

    NOTE: The class IfcMaterialList will normally be used where an element is described at a more abstract level. For example, for an architectural specification writer, the only information that may be needed about a concrete column is that it contains concrete, reinforcing steel and mild steel ligatures. It shall not be used for elements consisting of material layers when the different layers can be defined and the class IfcMaterialLayerSet can be used. Also, IfcMaterialList shall not be used for elements consisting of a single identifiable material (for example, to represent anisotropic material).
    IFC2x4 CHANGE˙ The entity IfcMaterialList is deprecated and shall no longer be used. Use IfcMaterialConstituentSet instead.
    " 4367;IfcDerivedUnit;"

    Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units.

    EXAMPLE: Newton per square millimetre is a derived unit.
    NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.5.1.
    " 4374;IfcDerivedUnitElement;"

    Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities which makes up a derived unit.

    EXAMPLE: Newtons per square millimetre is a derived unit. It has two elements, Newton whose exponent has a value of 1 and millimetre whose exponent is -2.
    NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    " 4377;IfcNamedUnit;"

    Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified.

    NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New type in IFC Release 1.5.1.
    " 4384;IfcContextDependentUnit;"

    Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system.

    NOTE The number of parts in an assembly is a physical quantity measured in units that may be called ""parts"" but which cannot be related to an SI unit.
    NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    " 4388;IfcConversionBasedUnit;"

    Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit.

    NOTE Corresponding ISO 10303 name: conversion_based_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    IFC 2x3 change: standard names of typical units added.
    IFC 2x4 change: further names added: square inch, square foot, square mile, square yard, cubic inch, cubic foot, cubic yard, fluid ounce UK/US, ton UK/US, degree.

    Example: An inch is a converted unit. It is from the Imperial system, its name is ""inch"" and it can be related to the si unit, millimetre, through a measure with unit whose value is 25.4 millimetre. A foot is also a converted unit. It is from the Imperial system, its name is ""foot"" and it can be related to an IfcSIUnit, millimetre, either directly or through the unit called ""inch"". Note that several US customary units differ from Imperial units (nonmetric English units) of the same name.

    To identify some commonly used conversion based units, the standard designations (case insensitive) for the Name attribute include the following:

    Name Description
    'inch' Length measure equal to 25.4 mm
    'foot' Length measure equal to 304.8 mm
    'yard' Length measure equal to 914 mm
    'mile' Length measure equal to 1609 m
    'square inch' Area measure equal to 0.0006452 square meters
    'square foot' Area measure equal to 0.09290 square meters
    'square yard' Area measure equal to 0.83612736 square meters
    'acre' Area measure equal to 4046.86 square meters
    'square mile' Area measure equal to 2 588 881 square meters
    'cubic inch' Volume measure equal to 0.00001639 cubic meters
    'cubic foot' Volume measure equal to 0.02832 cubic meters
    'cubic yard' Volume measure equal to 0.7636 cubic meters
    'litre' Volume measure equal to 0.001 cubic meters
    'fluid ounce UK' Volume measure equal to 0.0000284130625 cubic meters
    'fluid ounce US' Volume measure equal to 0.00002957353 cubic meters
    'pint UK' Volume measure equal to 0.000568 cubic meters
    'pint US' Volume measure equal to 0.000473 cubic meters
    'gallon UK' Volume measure equal to 0.004546 cubic meters
    'gallon US' Volume measure equal to 0.003785 cubic meters
    'degree' Angle measure equal to π/180 rad
    'ounce' Mass measure equal to 28.35 g
    'pound' Mass measure equal to 0.454 kg
    'ton UK' Mass measure equal to 1016.0469088 kg, also known as long ton, gross ton, shipper's ton
    'ton US' Mass measure equal to 907.18474 kg, also known as short ton, net ton
    'lbf' Force measure equal to 4.4482216153 N, pound-force
    'kip' Force measure equal to 4448.2216153 N, kilopound-force
    'psi' Pressure measure equal to 6894.7572932 Pa, pound-force per square inch
    'ksi' Pressure measure equal to 6894757.2932 Pa, kilopound-force per square inch
    'minute' Time measure equal to 60 s
    'hour' Time measure equal to 3600 s
    'day' Time measure equal to 86400 s
    'btu' Energy measure equal to 1055.056 J, British Thermal Unit
    " 4393;IfcConversionBasedUnitWithOffset;"

    IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset.

    HISTORY New entity in IFC 2x4.

    Example: The temperature unit Fahrenheit is based on the temperature unit Kelvin as follows:

    f = k · 1.8 – 459.67

    wherein k is an absolute temperature expressed in Kelvin and f is the same temperature in Fahrenheit. The following entity instances provide Fahrenheit as a unit:

    IfcConversionBasedUnitWithOffset(
        IfcDimensionalExponents(0, 0, 0, 0, 1, 0, 0),
        THERMODYNAMICTEMPERATUREUNIT,
        'Fahrenheit',
        IfcMeasureWithUnit(
            IfcThermodynamicTemperatureMeasure(1.8),
            IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)),
        -459.67);
    " 4395;IfcMeasureWithUnit;"

    Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2).

    IfcMeasureWithUnit has two usages:
    1. For representing measure value together with its unit on the entity type attribute level; thus overriding the IFC model global unit assignments.
    2. For conversion based unit to give the conversion rate and its base.

    NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    " 4567;IfcSIUnit;"

    Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2).

    IfcSIUnit covers both standard base SI units such as meter and second, and derived SI units such as Pascal, square meter and cubic meter.

    NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    " 4619;IfcDimensionalExponents;"

    Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical quantities are founded on seven base quantities (ISO 31 (clause 2)).

    NOTE: Length, mass, time, electric current, thermodynamic temperature, amount of substance, and luminous intensity are the seven base quantities.
    EXAMPLE: A length of 2 millimetres has a length exponent of 1. The remaining exponents are equal to 0.
    EXAMPLE: A velocity of 2 millimetres per second has a length exponent of 1 and a time exponent of -1. The remaining exponents are equal to 0.
    NOTE Corresponding STEP name: dimensional_exponents, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5.1.
    " 4709;IfcMonetaryUnit;"

    IfcMonetaryUnit is a unit to define currency for money.

    HISTORY: New entity in IFC Release 2x.
    IFC2x4 CHANGE: Type of the attribute Currency changed.
    " 4711;IfcUnitAssignment;"

    IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment.

    NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment.
    HISTORY  New entity in IFC Release 1.5.1.
    " 4719;IfcFillAreaStyleHatching;"

    Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface.

    The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector.

    NOTE  If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset).

    For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using the PatternStart PointOfReferenceHatchLine.

    NOTE  The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext.
    NOTE  The use of PointOfReferenceHatchLine is deprecated.

    Figure 292 illustrates hatch attributes.

    Example 1
    This example shows simple hatching given by using a curve font ""continuous"" at HatchLineAppearance.

    The distance of hatch lines is given by a positive length measure. The angle (here 45' if measures in degree) is provided by HatchLineAngle.

    The PatternStart is set to NIL ($) in this example.
    Example 2
    This shows hatching from example 1 with using a different curve font at HatchLineAppearance.

    The distance of hatch lines is given by a positive length measure, therefore the font pattern start is at a point at the next hatch line given by a vector being perpendicular to the point of origin at the reference hatch line.

    The PatternStart is set to NIL ($) in this example.
    Example 3
    This example uses hatching from example 2 with a vector to determine the pattern start of the next hatch lines.

    The pattern start is the beginning of the first visual curve font pattern segment at IfcCurveFont.CurveFont.

    The PatternStart is set to NIL ($) in this example.
    Example 4
    This example uses hatching from example 3 where the pattern start is offset from the point of origin at the reference hatch line. That is, the first visible curve font pattern segment now does not start at the point of origin at the reference hatch line.


    Example 5
    This example uses hatching from example 4 where the hatch pattern is shifted against the underlying coordinate system.

    The point that is mapped to the insertion point of the IfcAnnotationFillAreaOccurrence now has an X and Y offset from the start of the reference hatch line. That is, the reference hatch line now does not go through the insertion point of the hatching.



    Example 6
    This example shows use of IfcFillAreaStyleHatching attributes for two IfcFillAreaStyleHatching's within one IfcFillAreaStyle.

    Note that the PatternStart now displaces both the reference hatch line from the point of origin and the start of the curve pattern. This can be used in cases when more than one IfcFillAreaStyleHatching is used in an IfcFillAreaStyle in order to place rows of hatch lines with an offset from each other.

    Figure 292 — Fill area style hatching

    NOTE  Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed.
    " 4728;IfcCurveStyle;"

    Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves.

    An IfcCurveStyle provides the style table for presentation information assigned to geometric curves. The style is defined by a color, a font and a width. The IfcCurveStyle defines curve patterns as model patterns, that is, the distance between visible and invisible segments of curve patterns are given in model space dimensions (that have to be scaled using the target plot scale).

    Styles are intended to be shared by multiple IfcStyledItem's, assigning the style to occurrences of (subtypes of) IfcGeometricRepresentationItem's. Measures given to a font pattern or a curve width are given in global drawing length units.

    NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.

    The measure values for font pattern and curve width apply to the model space with a target plot scale provided for the correct appearance in the default plot scale.. For different scale and projection dependent curve styles a different instance of IfcCurveStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations.

    NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale.

    An IfcCurveStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or IfcAnnotationCurveOccurrence.

    NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    " 4733;IfcPresentationStyle;"

    IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts.

    Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes.

    HISTORY  New entity in IFC2x3.
    " 4740;IfcTextStyle;"

    Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text.

    The IfcTextStyle provides the text style table for presentation information assigned to text literals. The style is defined by color, text font characteristics, and text box characteristics. The definitions are based upon:

    • definitions from ISO/IS 10303-46:1994 for (old) vector based and monospace text.
    • definitions from Cascading Style Sheets, level 1, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999, CSS1, for all true type text. The use of the CSS1 definitions is the preferred way to represent text styles.

    An IfcTextStyle, when representing (old) vector based and monospace text, is instantiated with:

    • TextCharacterAppearance:: IfcTextStyleForDefinedFont (with BackgroundColour = NIL)
    • TextStyle:: IfcTextStyleWithBoxCharacteristics
    • TextFontStyle:: IfcDraughtingPreDefinedTextFont or IfcExternallyDefinedTextFont

    An IfcTextStyle, when representing (new) true type text, based on CSS1 definitions, is instantiated with:

    • TextCharacterAppearance:: IfcTextStyleForDefinedFont
    • TextStyle:: IfcTextStyleTextModel
    • TextFontStyle:: IfcTextStyleFontModel

    An IfcTextStyle can be assigned to IfcTextLiteral via the IfcPresentationStyleAssignment through an intermediate IfcAnnotationTextOccurrence.

    NOTE  Corresponding ISO 10303 name: text_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. In order to avoid ANDOR subtype relationships, the IfcTextBlockStyleSelect has been introduced that allows the combination of a text style as having box characteristic, and/or having spacing, or having none of those additional properties.
    NOTE  Corresponding CSS1 definitions are: Font properties (font-family, font-style, font-variant, font-weight, font-size), Color and background properties (color, background-color) and Text properties (word-spacing, letter-spacing, text-decoration, text-transform, text-align, text-indent, line-height).
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect.
    " 4746;IfcTextStyleForDefinedFont;"

    Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts.

    Definition from CSS1 (W3C Recommendation): These properties describe the color (often called foreground color) and background of an element (i.e. the surface onto which the content is rendered). One can set a background color.

    NOTE  The CSS1 definition allows also for a background image. This has not been incorporated into IFC.

    The IfcTextStyleForDefinedFont combines the text font color with an optional background color, that fills the text box, defined by the planar extent given to the text literal.

    NOTE  Corresponding ISO 10303 name: text_style_for_defined_font. Please refer to ISO/IS 10303-46:1994, p.122 for the final definition of the formal standard. The attribute BackgroundColour has been added.
    NOTE  Corresponding CSS1 definitions are Color and background properties (color, background-color).
    HISTORY  New entity in IFC2x3.
    IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect.
    " 4749;IfcPreDefinedCurveFont;"

    Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol.

    NOTE: The IfcPreDefinedCurveFont is an abstract entity, subtypes of it provide the predefined curve font by agreement of the values of the inherited Name attribute. Currently the only subtype provided is IfcDraughtingPreDefinedCurveFont.
    NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 4751;IfcDraughtingPreDefinedCurveFont;"

    The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name.

    NOTE  The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation.

    Figure 291 (from ISO 10303-46 TC2) illustrates predefined curve fonts.

    Figure 291 — Draughting predefined curve font

    NOTE  If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0
    NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    " 4756;IfcTextStyleWithBoxCharacteristics;"

    The text style with box characteristics allows the presentation of annotated text by specifying the characteristics of the character boxes of the text and the spacing between the character boxes.

    NOTE  The IfcTextStyleWithBoxCharacteristics is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.

    The IfcTextStyleWithBoxCharacteristics is mainly used to provide some compatibility with ISO10303. Its usage is restricted to monospace text fonts (having uniform character boxes) and simple vector based text fonts. For true text fonts however the use of IfcTextStyleTextModel is required.

    Figure 296 (from ISO 10303-46, page 91) illustrates angles. Figure 297 illustrates attribute use.

    Figure 296 — Text style box angles

    Figure 297 — Text style box attributes

    NOTE  Corresponding ISO 10303 name: text_style_with_box_characteristics. Please refer to ISO/IS 10303-46:1994, p. 123 for the final definition of the formal standard. The four optional attributes BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle are included directly at the entity, and are not handled through the box_characteristic_select selecting box_height, box_width, box_slant_angle, box_rotate_angle, each being defined types.  The CharacterSpacing attribute has been added from ISO/IS 10303-46:1994 entity text_style_with_spacing.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The attribute item CharacterSpacing has been added.
    " 4769;IfcTextStyleTextModel;"

    Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs.

    The IfcTextStyleTextModel combines all text style properties, that affect the presentation of a text literal within a given extent. It includes the spacing between characters and words, the horizontal and vertical alignment of the text within the planar box of the extent, decorations (like underline), transformations of the literal (like uppercase), and the height of each text line within a multi-line text block.

    NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height).
    HISTORY  New entity in IFC2x3.
    " 4783;IfcFillAreaStyle;"

    Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches.

    An IfcFillAreaStyle provides the style table for presentation information assigned to annotation fill areas or surfaces for hatching and tiling. The IfcFillAreaStyle defines hatches as model hatches, that is, the distance between hatch lines, or the curve patterns of hatch lines are given in model space dimensions (that have to be scaled using the target plot scale). The IfcFillAreaStyle allows for the following combinations of defining the style of hatching and tiling:

    • Solid fill for areas and surfaces by only assigning IfcColour to the set of FillStyles. It then provides the background colour for the filled area or surface.
    NOTE  Color information of surfaces for rendering is assigned by using IfcSurfaceStyle, not by using IfcFillAreaStyle.
    • Vector based hatching for areas and surfaces based on a single row of hatch lines by assigning a single instance of IfcFillAreaStyleHatching to the set of FillStyles.
      • If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching.
    • Vector based hatching for areas and surfaces based on two (potentially crossing) rows of hatch lines by assigning two instances of IfcFillAreaStyleHatching to the set of FillStyles.
      • If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching.
    NOTE  Assigning more then two instances of IfcFillAreaStyleHatching to define three or more rows of hatch lines is not encouraged.
    • Tiling for areas and surfaces by assigning a single instance of IfcFillAreaStyleTiles to the set of FillStyles.
      • If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the tiling.
    IFC2x3 NOTE  The use of IfcFillAreaStyleTiles is discouraged., as its definition might change is future releases.
    • Externally defined hatch style by assigning a single instance of IfcExternallyDefinedHatchStyle to the set of FillStyles.
      • If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching.

    Measures given to a hatch or tile pattern are given in global drawing length units.

    NOTE  Global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.

    The measure values for hatch or tile pattern apply to the model space with a target plot scale provided for the correct appearance in the default plot scale. For different scale and projection dependent fill area styles a different instance of IfcFillAreaStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations.

    NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale.

    An IfcFillAreaStyle can be assigned to IfcFillArea via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or subtype IfcAnnotationFillAreaOccurrence.

    NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    " 4793;IfcFillAreaStyleTiles;"

    Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region.

    NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4797;IfcOneDirectionRepeatFactor;"

    Definition from ISO/CD 10303-46:1992: A one time repeat factor is a vector used in the fill area style hatching and fill area style tiles entities for determining the origin of the repeated hatch line relative to the origin of the previous hatch line, Given the initial position of any hatch line, the one direction repeat factor determines two new positions according to the equation:

    I + k * R    k X{-1,1}

    NOTE: Corresponding ISO 10303 name: one_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994, p. 112 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 4800;IfcTwoDirectionRepeatFactor;"

    Definition from ISO/CD 10303-46:1992: A two direction repeat factor combines two vectors which are used in the fill area style tiles entity for determining the shape and relative location of tiles. Given the initial position of any tile, the two direction repeat factor determines eight new positions according to the equation:

    k1* R1 + k2* R2      k X{-1,1} 

    NOTE Corresponding ISO 10303 name: two_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4804;IfcFillAreaStyleTileSymbolWithStyle;"

    The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling.

    NOTE: The IfcFillAreaStyleTileSymbolWithStyle is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
    NOTE: Corresponding ISO 10303 name: fill_area_style_tile_symbol_with_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 4806;IfcStyledItem;"

    Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation.

    NOTE  Corresponding ISO 10303 name: styled_item. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

    The IfcStyledItem holds presentation style information for products, either explicitly for an IfcGeometricRepresentationItem being part of an IfcShapeRepresentation assigned to a product, or by assigning presentation information to IfcMaterial being assigned as other representation for a product.

    • If the IfcStyledItem is used within a reference from an IfcProductDefinitionShape then one Item shall be provided.
    • If the IfcStyledItem is used within a reference from an IfcMaterialDefinitionRepresentation then no Item shall be provided.
    HISTORY  New entity in IFC2x2.
    IFC2x2 Addendum 1 CHANGE  The entity IfcStyledItem has been made non abstract and the attribute Name added.
    IFC2x3 CHANGE The attribute Item has been made optional, upward compatibility for file based exchange is guaranteed.
    IFC2x4 CHANGE The subtype IfcAnnotationOccurrence and its subtypes are deleted. Use IfcStyledItem for all instantiations. The data type of Styles has been changed to IfcStyleAssignmentSelect

    Use Definition

    Figure 293 illustrates use of IfcStyledItem for the two usage examples:

    • As a presentation for a geometric representation item
    • As a presentation for a material definition
    NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment

    Figure 293 — Styled item

    " 4814;IfcPresentationStyleAssignment;"

    Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items.

    NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in Release IFC2x2.
    " 4825;IfcSymbolStyle;"

    Definition from ISO/CD 10303-46:1992: The symbol style is the presentation style that indicates the presentation of annotation symbols.

    NOTE: Corresponding ISO 10303 name: symbol_style. Please refer to ISO/IS 10303-46:1994, p. 124 for the final definition of the formal standard.
    HISTORY: New entity in Release IFC2x2.
    " 4829;IfcSurfaceStyle;"

    IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side.

    NOTE: The surface style is often referred to as material definition in rendering applications.
    NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46.
    HISTORY New Entity in IFC 2.x.
    " 4847;IfcSurfaceStyleShading;"

    Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics.

    The entity IfcSurfaceStyleShading allows for colour information used for shading, whereas subtypes provide data for more sophisticated rendering techniques. The surface colour is used for colouring or simple shading of the assigned surfaces.

    NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted.
    HISTORY: New entity in IFC 2x.
    " 4850;IfcSurfaceStyleRendering;"

    IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style.

    It allows rendering properties to be defined by:

    • a transparency component (Transparency attribute)
    • a colour component (SurfaceColour attribute inherited from IfcSurfaceStyleShading)
    • a reflectance component, given either by
      • applying reflectance factors to the surface colour:
        • diffuse component (SurfaceColour * DiffuseFactor)
        • transmission component (SurfaceColour * TransmissionFactor)
        • diffuse transmission component (SurfaceColour * DiffuseTransmissionFactor)
        • reflection component (SurfaceColour * ReflectionFactor)
        • specular component (SurfaceColour * SpecularFactor attribute together with SpecularHighlight)
      • explicitly defining such factors as colours (DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour and SpecularColour)
    • a displacement component, currently only given by a texture map with the TextureType = bump
    • a coverage component, currently only given by the alpha component of the texture map (2 or 4 component colour texture)
    NOTE: The inherited attribute SurfaceColour is treated as the ambient colour and specifies how much ambient light from light sources this surface shall reflect. Ambient light is omnidirectional and depends only on the number of light sources, not their positions with respect to the surface.
    NOTE: If the reflectance method, as given by the IfcReflectanceMethodEnum is ""GLASS"", the transmission factor controls the level of transparency in the glass, In this case the transparency factor is interpreted as transmission factor.
    NOTE: Both Transparency and TransmissionColour (or factor) are included, the following definitions apply:
    • Transparency is the ratio of the transmitted flux in a solid angle of 2 * PI sr (one hemisphere). It is a simple colour filtration that does not account for refraction.
    • Transmission factor of a material is the ratio of transmitted flux in a given solid angle to the transmitted flux of a completely diffuse material with 100% transmission in the same solid angle. It is the portion of light that goes through the material and may be refracted.
    NOTE: IFC 2x2 adds additional capability for presentation of physically accurate illuminance on surfaces. VRML type rendering and rendering based on ISO 10303-46 continues to be supported by a subset of the information. For reflectance equations and further information about the surface style properties and its processing, see:
    • ISO/IEC 14772-1: 1997: The Virtual Reality Modeling Language
    NOTE: The definition of IfcSurfaceStyleRenderingProperties includes the definitions as found in ISO 10303-46:1994, in particular of:
    • surface_style_rendering_with_properties
    • surface_style_rendering_ambient
    • surface_style_rendering_ambient_diffuse
    • surface_style_rendering_ambient_diffuse_specular
    • surface_style_transparent
    In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness.
    HISTORY: New Entity in IFC 2x.
    " 4879;IfcSurfaceStyleLighting;"

    IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style.

    Figure 294 shows the reflection and transmission components from an incident ray. The sum of the components for reflection and transmission is a value of 1.0 denoting that the incident ray is completely decomposed into reflection and transmission components. Each value of reflection and transmission is therefore within the range 0.0 to 1.0.

    Figure 294 — Surface style lighting

    All these factors can be measured physically and are ratios for the red, green and blue part of the light. These properties are defined in the model as Type IfcColorRGB with a factor for each colour.

    EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue.
    HISTORY  New entity in IFC 2x2.
    " 4884;IfcSurfaceStyleWithTextures;"

    The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface.

    The entity IfcSurfaceStyleWithTextures is part of the surface style table for presentation information assigned to surfaces for shading, rendering and lighting with textures. The mapping of the texture onto the surface or the solid is determined by the texture coordinates, in absense of an IfcTextureCoordinate assigned to each surface texture, a default mapping of the texture to the geometric face or surface applies.

    Surface textures included in the IfcSurfaceStyleWithTextures are two dimensional map formats. They define 2D images that contain an array of colour values describing the texture. Depending on the number of IfcSurfaceTextures being included in the list of Textures the IfcSurfaceStyleWithTextures either describes a single texture, or a multi texture.

    • single texture: a single surface texture is applied to the styled geometric item (entirely or partly) with optional repetition and texture transformation
    • multi texture: two or more surface textures are applied to the styled geometric item (entirely or partly) with optional repetition, texture transformation or texture coordinate mapping being specific for each texture.

    Informal proposition

    1. Only one instance of IfcSurfaceStyleWithTextures shall be referenced by an IfcStyledItem and be assigned to an IfcGeometricRepresentationItem
    NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted.
    " 4886;IfcSurfaceTexture;"

    An IfcSurfaceTexture provides a 2-dimensional image-based texture map. It can either be given by referencing an external image file through an URL reference (IfcImageTexture), including the image file as a blob (long binary) into the data set (IfcBlobTexture), or by explicitly including an array of pixels (IfcPixelTexture).

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • Texture: An image used in a texture map to create visual appearance effects when applied to geometry nodes.
    • Texture map: A texture plus the general parameters necessary for mapping the texture to geometry.

    Texture are defined by 2D images that contain an array of colour values describing the texture. The texture values are interpreted differently depending on the number of components in the texture and the specifics of the image format. In general, texture may be described using one of the following forms:

    1. Intensity textures (one-component)
    2. Intensity plus alpha opacity textures (two-component)
    3. Full RGB textures (three-component)
    4. Full RGB plus alpha opacity textures (four-component)

    NOTE  Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency).

    Figure 295 illustrates the texture coordinate system.

    Figure 295 — Surface texture coordinates

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) on texture coordinates apply:

    • Texture maps are defined in a 2D coordinate system (s, t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps may be viewed as two dimensional colour functions that, given an (s, t) coordinate, return a colour value colour(s, t).

    If multiple surface textures are included in the IfcSurfaceStyleWithTextures applying them to a geometric item, a mode and optional parameters can be included that blending operations.

    The RepeatS and RepeatT Boolean flags control whether the texture map is repeated outside the [0.0, 1.0] texture coordinate range, when applied to a geometric surface, or clamped to lie within the [0.0, 1.0] range. The TextureTransform applies a 2D non-uniform transformation to the texture before it is applied to a geometric surface.

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • These parameters support changes to the size, orientation, and position of textures on shapes. Note that these operations appear reversed when viewed on the surface of geometry. For example, a scale value of (2 2) will scale the texture coordinates and have the net effect of shrinking the texture size by a factor of 2 (texture coordinates are twice as large and thus cause the texture to repeat). A translation of (0.5 0.0) translates the texture coordinates +.5 units along the S-axis and has the net effect of translating the texture −0.5 along the S-axis on the geometry's surface. A rotation of π/2 of the texture coordinates results in a −π/2 rotation of the texture on the geometry.
    • The center field specifies a translation offset in texture coordinate space about which the rotation and scale fields are applied. The scale field specifies a scaling factor in S and T of the texture coordinates about the center point. scale values shall be in the range (−∞,∞). The rotation field specifies a rotation in radians of the texture coordinates about the center point after the scale has been applied. A positive rotation value makes the texture coordinates rotate counterclockwise about the centre, thereby rotating the appearance of the texture itself clockwise. The translation field specifies a translation of the texture coordinates.
      The following conventions apply:
      • center = TextureTransform.LocalOrigin;
        rotation = TextureTransform.Axis1
        scale S = TextureTransform.Scale
        scale T = TextureTransform.Scale2
    NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
    HISTORY  New entity in IFC 2x2.
    IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle.
    " 4897;IfcPixelTexture;"

    An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color (and opacity) directly, instead of referencing to an URL.

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values (image field) and parameters controlling tiling repetition of the texture onto geometry.
    • Texture maps are defined in a 2D coordinate system (s, t) that ranges from 0.0 to 1.0 in both directions. The bottom edge of the pixel image corresponds to the S-axis of the texture map, and left edge of the pixel image corresponds to the T-axis of the texture map. The lower-left pixel of the pixel image corresponds to s=0.0, t=0.0, and the top-right pixel of the image corresponds to s = 1.0, t = 1.0.
    • The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by width×height hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal).
      1. A one-component image specifies one-byte hexadecimal value representing the intensity of the image. For example, 0xFF is full intensity in hexadecimal (255 in decimal), 0x00 is no intensity (0 in decimal).
      2. A two-component image specifies the intensity in the first (high) byte and the alpha opacity in the second (low) byte.
      3. Pixels in a three-component image specify the red component in the first (high) byte, followed by the green and blue components (for example, 0xFF0000 is red, 0x00FF00 is green, 0x0000FF is blue).
      4. Four-component images specify the alpha opacity byte after red/green/blue (e.g., 0x0000FF80 is semi-transparent blue). A value of 00 is completely transparent, FF is completely opaque, 80 is semi-transparent.
    • Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0.
    HISTORY: New class in IFC2x2.
    " 4907;IfcImageTexture;"

    An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided.

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • The ImageTexture node defines a texture map by specifying an image file and general parameters for mapping to geometry.
    • The texture is read from the URL specified by the url field. When the url field contains no [resolvable] values, texturing is disabled. Browsers shall support the JPEG and PNG (see ISO/IEC 15948) image file formats.
    • Texture nodes that require support for the PNG image format shall interpret the PNG pixel formats in the following way:
      1. Greyscale pixels without alpha or simple transparency are treated as intensity textures.
      2. >Greyscale pixels with alpha or simple transparency are treated as intensity plus alpha textures.
      3. RGB pixels without alpha channel or simple transparency are treated as full RGB textures.
      4. RGB pixels with alpha channel or simple transparency are treated as full RGB plus alpha textures.
    • If the image specifies colours as indexed-colour (that is, palettes or colourmaps), the following semantics should be used (note that `greyscale' refers to a palette entry with equal red, green, and blue values):
      1. If all the colours in the palette are greyscale and there is no transparency chunk, it is treated as an intensity texture.
      2. If all the colours in the palette are greyscale and there is a transparency chunk, it is treated as an intensity plus opacity texture.
      3. >If any colour in the palette is not grey and there is no transparency chunk, it is treated as a full RGB texture.
      4. If any colour in the palette is not grey and there is a transparency chunk, it is treated as a full RGB plus alpha texture.
    • Texture nodes that require support for JPEG files shall interpret JPEG files as follows:
      1. Greyscale files (number of components equals 1) are treated as intensity textures.
      2. YCbCr files are treated as full RGB textures.
      3. No other JPEG file types are required. It is recommended that other JPEG files are treated as a full RGB textures.
    • Texture nodes that recommend support for GIF files shall follow the applicable semantics described above for the PNG format.

    The Uniform Resource Locator (URL) is a form of an URI and specified in RFC1738 by IETF. It supports resources located on a particular server being accessed by a particular protocol (usually http), and resources located at a local machine.

    NOTE  Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set.

    NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.

    HISTORY  New entity in Release IFC2x2.
    " 4909;IfcExternallyDefinedSurfaceStyle;"

    IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information.

    NOTE  In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility.
    " 4910;IfcExternallyDefinedHatchStyle;"

    Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style.

    NOTE: The allowable values for the name source and item reference, by which the externally defined hatch style is identified, need to be determined by implementer agreements.
    NOTE: Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 4911;IfcBlobTexture;"

    An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat.

    NOTE  Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content.

    For interpretation of the texture nodes see IfcImageTexture definition.

    HISTORY  New class in IFC2x3.
    IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY.
    " 4916;IfcSurfaceStyleRefraction;"

    IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction.

    NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction.
    HISTORY: New entity in IFC 2x2.
    " 4925;IfcCurveStyleFont;"

    Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve.

    NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 4928;IfcCurveStyleFontPattern;"

    Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units.

    NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4932;IfcCurveStyleFontAndScaling;"

    Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales.

    The IfcCurveStyleFontAndScaling allows for the reuse of the same curve style definition in several sizes. The definition of the CurveFontScale is the scaling of a base curve style pattern to be used as a new or derived curve style pattern.

    NOTE  The CurveFontScale should not be mixed up with the target plot scale.

    An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern 'dash' (visible 0.01m, invisible 0.005m) into 'dash large' with CurveFontScale = 2 (resulting in visible 0.02m, invisible 0.01m), and into 'dash small' with CurveFontScale = 0.5 (resulting in visible 0.005m, invisible 0.0025m).

    NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    " 4941;IfcTextLiteral;"

    The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information.

    NOTE  The IfcTextLiteral is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange.
    NOTE  Corresponding ISO 10303 name: text_literal. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The attributes font and alignment have been removed as those should be handled by the text style.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment.
    " 4946;IfcAnnotationFillArea;"

    Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area.

    NOTE: A curve that is not surrounded by any other curve is a border between an unfilled area on the outside and a filled area on the inside. Another curve may surround an unfilled area if it is surrounded by another curve whose inside is a filled area.

    Figure 300 (from ISO 10303-46) illustrates annotation fill area.

    Figure 300 — Annotation fill area

    NOTE  Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

    The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style.

    Informal Proposition:

    1. Any curve that describes an inner boundary shall not intersect with, nor include, another curve defining an inner boundary.
    2. The curve defining the outer boundary shall not intersect with any curve defining an inner boundary, nor shall it be surrounded by a curve defining an inner boundary.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary.
    " 4949;IfcDefinedSymbol;"

    A defined symbol is a symbolic representation that gets its shape information by an established convention, either through a predefined symbol, or an externally defined symbol.

    NOTE: The IfcDefinedSymbol is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
    NOTE Corresponding ISO 10303 name: defined_symbol. The target attribute used the 2d Cartesian transformation operator, including the non-uniform subtype, which is available in IFC (instead of the symbol_target). Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4955;IfcPreDefinedSymbol;"

    A predefined symbol is a symbol that gets its shape information by a conforming name that is specified within subtypes of the entity.

    NOTE: The IfcPreDefinedSymbol is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
    NOTE Corresponding ISO 10303 name: pre_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4956;IfcExternallyDefinedSymbol;"

    An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source.

    NOTE: The allowable symbol names and sources have to be established by implementers agreements.
    NOTE: The IfcExternallyDefinedSymbol is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
    NOTE Corresponding ISO 10303 name: externally_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY New entity in IFC2x2.
    " 4957;IfcTextureCoordinate;"

    The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used.

    See relevant subtypes of IfcGeometricRepresentationItem for default texture mapping description.

    NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The attribute Texture is deleted.
    IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added.
    " 4961;IfcTextureCoordinateGenerator;"

    The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements.

    It is recommended to use the texture coordinate generation modes as defined in X3D.

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • The TextureCoordinateGenerator supports the automatic generation of texture coordinates for geometric shapes.
    • The mode field describes the algorithm used to compute texture coordinates.
      • SPHERE,
      • CAMERASPACENORMAL,
      • CAMERASPACEPOSITION,
      • CAMERASPACEREFLECTIONVECTOR,
      • SPHERE-LOCAL,
      • COORD,
      • COORD-EYE,
      • NOISE,
      • NOISE-EYE,
      • SPHERE-REFLECT,
      • SPHERE-REFLECT-LOCAL
    NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
    HISTORY New entity in IFC2x2.
    IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted.
    " 4964;IfcTextureMap;"

    An IfcTextureMap provides the mapping of the 2-dimensional texture coordinates to the surface onto which it is mapped. It is used for mapping the texture to surfaces of vertex based geometry models, such as

    • IfcFacetedBrep
    • IfcFacetedBrepWithVoids
    • IfcFaceBasedSurfaceModel
    • IfcShellBasedSurfaceModel

    The IfcTextureMap has a list of TextureVertex, that corresponds to the points of the face bound of the vertex based geometry item. The corresponding pair of lists is:

    1. the list of Polygon of type IfcCartesianPoint, and
    2. the list of Vertices of type IfcTextureVertex.

    Each IfcTextureVertex (given as S, T coordinates of the 2-dimension texture coordinate system) corresponds to the geometric coordinates of the IfcCartesianPoint (given as 3-dimension X, Y, and Z coordinates within the object coordinate system of the geometric item).

    The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

    • The TextureCoordinate node is a geometry property node that specifies a set of 2D texture coordinates used by vertex-based geometry nodes to map textures to vertices.

    NOTE  In contrary to the X3D vertext based geometry, for example IndexedFaceSet and ElevationGrid, the vertext based geometry in IFC may include inner loops. The areas of inner loops have to be cut-out from the texture applied to the outer loop.

    Figure 301 illustrates applying a texture map to a vertex based geometry.

    Figure 301 — Texture map

    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The attribute Texture is deleted, and the attribute TextureMaps is added.
    IFC2x4 CHANGE  The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added.

    Informal propositions:

    1. The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem.
    " 4967;IfcTextureVertex;"

    An IfcTextureVertex is a list of 2 (S, T) texture coordinates.

    The following additional definitions from ISO 19775 apply:

    Each vertex-based geometry node uses a set of 2D texture coordinates that map textures to vertices. Texture map values ( ImageTexture, PixelTexture) range from [0.0, 1.0] along the S-axis and T-axis. However, texture coordinate values may be in the range (-∞,∞). Texture coordinates identify a location (and thus a colour value) in the texture map. The horizontal coordinate S is specified first, followed by the vertical coordinate T. If the texture map is repeated in a given direction (S-axis or T-axis), a texture coordinate C (s or t) is mapped into a texture map that has N pixels in the given direction as follows:

    Texture map location = (C - floor(C)) × N

    If the texture map is not repeated, the texture coordinates are clamped to the 0.0 to 1.0 range as follows:

    Texture map location = N,     if C > 1.0,
    = 0.0, if C < 0.0,
    = C × N, if 0.0 ≤ C ≤ 1.0.

    Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition.

    HISTORY: New entity in IFC 2x2.
    " 4969;IfcTextLiteralWithExtent;"

    The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand.

    NOTE  The IfcTextLiteralWithExtent is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
    NOTE  Corresponding ISO 10303 name: text_literal_with_extent. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment.
    " 4981;IfcLightSource;"

    Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined.

    NOTE: Corresponding STEP entity: light_source. Please refer to ISO/IS 10303-46:1994, p. 31 for the final definition of the formal standard.
    NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item).
    HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2.
    " 4990;IfcLightSourceAmbient;"

    Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position.

    NOTE: Corresponding ISO 10303 entity: light_source_ambient. Please refer to ISO/IS 10303-46:1994, p. 31 for the final definition of the formal standard.
    NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype.
    HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2.
    " 4991;IfcLightSourceDirectional;"

    Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position.

    Definition from ISO/IEC 14772-1:1997: The directional light node defines a directional light source that illuminates along rays parallel to a given 3-dimensional vector. Directional light nodes do not attenuate with distance. Directional light nodes are specified in the local coordinate system and are affected by ancestor transformations.

    NOTE: Corresponding ISO 10303 entity: light_source_directional. Please refer to ISO/IS 10303-46:1994, p. 32 for the final definition of the formal standard.
    NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype.
    HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2.
    " 4993;IfcLightSourcePositional;"

    Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position.

    Definition from ISO/IEC 14772-1:1997: The Point light node specifies a point light source at a 3D location in the local coordinate system. A point light source emits light equally in all directions; that is, it is omnidirectional. Point light nodes are specified in the local coordinate system and are affected by ancestor transformations.

    Point light node's illumination falls off with distance as specified by three attenuation coefficients. The attenuation factor is

    1/max(attenuation[0] + attenuation[1] × r + attenuation[2] × r 2 , 1),

    where r is the distance from the light to the surface being illuminated. The default is no attenuation. An attenuation value of (0, 0, 0) is identical to (1, 0, 0). Attenuation values shall be greater than or equal to zero.

    NOTE: Corresponding ISO 10303 entity: light_source_positional. Please refer to ISO/IS 10303-46:1994, p. 32 for the final definition of the formal standard.
    NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype.
    HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2.
    " 5000;IfcLightSourceSpot;"

    Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source.

    NOTE  The IfcLightSourceSpot adds the BeamWidthAngle which defines the inner cone in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (BeamWidthAngle) to the outer solid angle (SpreadAngle).

    Definition from ISO/IEC 14772-1:1997: The Spot light node defines a light source that emits light from a specific point along a specific direction vector and constrained within a solid angle. Spot lights may illuminate geometry nodes that respond to light sources and intersect the solid angle defined by the Spot light. Spot light nodes are specified in the local coordinate system and are affected by ancestors' transformations.

    Figure 304 (from VRML97) shows the definition of spot light.

    Figure 304 — Light source spot

    NOTE  Corresponding ISO 10303 entity: light_source_spot. Please refer to ISO/IS 10303-46:1994, p. 33 for the final definition of the formal standard.
    NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype.
    HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2.
    " 5005;IfcLightSourceGoniometric;"

    IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information.

    Figure 303 shows an example of a light emitter having two light sources (of type IfcLightSourceGoniometric).

    Figure 303 — Light source goniometric

    HISTORY: New entity in IFC2x2.
    " 5027;IfcLightIntensityDistribution;"

    IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute.

    New entity in IFC2x2.
    " 5035;IfcLightDistributionData;"

    IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the

    • A angle; if the IfcLightDistributionCurveEnum is set to TYPE_A
    • B angle; if the IfcLightDistributionCurveEnum is set to TYPE_B
    • C angle; if the IfcLightDistributionCurveEnum is set to TYPE_C

    For each MainPlaneAngle (considered as being the row of a table) a list of SecondaryPlaneAngle's are given (considered to be the columns of a table). They are either the:

    • α angle; if the IfcLightDistributionCurveEnum is set to TYPE_A
    • β angle; if the IfcLightDistributionCurveEnum is set to TYPE_B
    • γ angle; if the IfcLightDistributionCurveEnum is set to TYPE_C

    For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm).

    HISTORY: New entity in IFC2x2.
    " 5039;IfcPresentationLayerAssignment;"

    The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term ""CAD Layer"" and is used mainly for grouping and visibility control.

    NOTE  The use of presentation layer shall be restricted to simple grouping and displaying purposes.

    Visibility and access control and layer style assignment (colour, line style, line width) is handled by the subtype IfcPresentationLayerAssignmentWithStyle.

    NOTE  Corresponding ISO 10303 name: presentation layer assignment. Please refer to ISO/IS 10303-46:1994, p. 36 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x2.

    Attribute use definition

    Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation.

    Figure 305 — Presentation layer assignment

    " 5046;IfcPresentationLayerWithStyle;"

    An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information.

    The visibility control allows to define a layer to be either 'on' or 'off', and/or 'frozen' or 'not frozen'. The access control allows to block graphical entities from manipulations by setting a layer to be either 'blocked' or 'not blocked'. Common style information can be given to the layer.

    NOTE  Style information assigned to layers is often restricted to 'layer colour', 'curve font', and/or 'curve width'. These styles are assigned by using the IfcCurveStyle within the LayerStyles.
    NOTE: If a styled item is assigned to a layer using the IfcPresentationLayerAssignmentWithStyle, it inherits the style information from the layer. In this case, it should omit its own style information. If the styled item has style information assigned (such as by IfcCurveStyle, IfcFillAreaStyle, IfcTextStyle, IfcSurfaceStyle, IfcSymbolStyle), then it overrides the style provided by the IfcPresentationLayerAssignmentWithStyle.
    NOTE  The IfcPresentationLayerAssignmentWithStyle extends the presentation_layer_assignment entity as defined in ISO/IS 10303-46:1994, p. 36.
    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  The attributes have been modified without upward compatibility.
    " 5056;IfcParameterizedProfileDef;"

    The parameterized profile definition defines a 2D position coordinate system to which the parameters of the different profiles relate to. All profiles are defined centric to the origin of the position coordinate system, or more specific, the origin [0.,0.] shall be in the center of the bounding box of the profile.

    The Position attribute of IfcParameterizedProfileDef is used to position the profile within the XY plane of the underlying coordinate system of the swept surface geometry, the swept area solid or the sectioned spine. It can be used to position the profile at any point which becomes the origin [0.,0.,0.] of the extruded or rotated surface or solid.

    The Position attribute should not be used if the transformation can be specified in a containing object instead. In particular, this applies if the IfcParameterizedProfileDef is referenced as SweptArea in subtypes of IfcSweptAreaSolid or as CrossSections in IfcSectionedSpine.

    Several subtypes of IfcParameterizedProfileDef provide shape parameters which are optional. Sending systems should always provide values for these parameters if possible. If these parameters are left unspecified, receiving systems may retrieve values for them by external reference (if a reference to an external document or library is given; see guidance at IfcProfileDef), or estimate them, or simply assume zero values.

    HISTORY  New entity in IFC2x2.
    IFC2x Platform CHANGE  The IfcParameterizedProfileDef is introduced as an intermediate new abstract entity that unifies the definition and usage of the position coordinate system for all parameterized profiles. The Position attribute has been removed at all subtypes (like IfcRectangleProfileDef, IfcCircleProfileDef, etc.).
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box.
    IFC2x4 CHANGE  Position attribute made optional (default: identity transformation).
    Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0.
    Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference.
    " 5068;IfcProfileDef;"

    IfcProfileDef is the supertype of all definitions of standard and arbitrary profiles within IFC. It is used to define a standard set of commonly used section profiles by their parameters or by their explicit curve geometry.

    • Parameterized profiles are 2D primitives, which are used within the industry to describe cross sections by a description of its parameters.
    • Arbitrary profiles are cross sections defined by an outer boundary as bounded curve, which may also include holes, defined by inner boundaries.
    • Derived profiles, based on a transformation of a parent profile, are also part of the profile definitions available.
    • In addition composite profiles can be defined, which include two or more profile definitions to define the resulting profile.
    HISTORY  New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. Profiles can now support swept surfaces and swept area solids with inner boundaries. It had been renamed from IfcAttDrivenProfileDef.
    IFC2x4 CHANGE  Changed from ABSTRACT to non-abstract for uses which do not require an explicitly defined geometry. Added inverse attributes HasProperties and HasExternalReference.

    Use in material association

    Beams, columns, and similarly shaped building elements and their type objects may be associated with a section profile definition, combined with material definition, by means of IfcRelAssociatesMaterial together with IfcMaterialProfileSet and IfcMaterialProfileSetUsage. This way, building elements and element types with same section and material can share a common section profile definition and association.

    The profile definition in material association is required to be consistent with shape representations of the respective building elements.

    A higher-level description of spatial aligment of the section profile of a member (such as centered, bottom-left, in the geometric centroid, and more) can be provided within IfcMaterialProfileSetUsage by means of a cardinal point reference. This can be used redundant to geometric data in order to convey design intent.

    Use in shape models

    Profile definitions are used within the geometry and geometric model resource to create either swept surfaces, swept area solids, or sectioned spines.

    The purpose of the profile definition within the swept surfaces or swept area solids is to define a uniform cross section being swept:

    • along a line (extrusion) using IfcSurfaceOfLinearExtrusion or IfcExtrudedAreaSolid
    • along a circular arc (revolution) using IfcSurfaceOfRevolution or IfcRevolvedAreaSolid
    • along a directrix lying on a reference surface using IfcSurfaceCurveSweptAreaSolid

    The purpose fo the profile definition within the sectioned spine is to define a varying cross sections at several positions along a spine curve. The subtype IfcDerivedProfileDef is particularly suited to provide the consecutive profiles to be based on transformations of the start profile and thus maintaining the identity of vertices and edges.

    NOTE  Subtypes of the IfcProfileDef contain parameterized profiles (as subtypes of IfcParameterizedProfileDef) which establish their own 2D position coordinate system, profiles given by explicit curve geometry (either open or closed profiles) and two special types for composite profiles and derived profiles, based on a 2D Cartesian transformation.

    An IfcProfileDef is treated as bounded area if it is used within swept area solids. In this case, the inside of the profile is part of the profile. The attribute ProfileType is set to AREA. An IfcProfileDef is treated as a curve if it is used within swept surfaces. In this case, the inside of the profile (if the curve is closed) is not part of the profile. The attribute ProfileType is set to CURVE.

    Figure 320 illustrates use of parameterized profiles within a swept area solid.

    Position
    The IfcProfileDef is defined within the underlying coordinate system which is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane

    • of IfcSweptSurface.Position or
    • of IfcSweptAreaSolid.Position or
    • of each list member of IfcSectionedSpine.CrossSectionPositions.

    In the figure to the left, the z axis of the position coordinate system points outwards of the drawing plane.

    Note: The subtype IfcParameterizedProfileDef optionally provides an additional 2D position coordinate system relative to the underlying coordinate system of the IfcProfileDef.

    Sweeping

    In the later use of the IfcProfileDef within the swept surface or swept area solid,  e.g. the IfcExtrudedAreaSolid (here used as an example), the profile boundaries (here based on the 2D position coordinate system of IfcParameterizedProfileDef) are placed within the xy plane of the 3D position coordinate system of the swept surface or swept area solid.

    The profile is inserted into the underlying coordinate system either:

    • directly in case of using IfcArbitraryClosedProfileDef and IfcArbitraryOpenProfileDef,
    • through an intermediate position coordinate system in case of using IfcParameterizedProfileDef.
    • through an 2D Cartesian transformation operator (applied directly to the curve position when using arbitrary profile definitions, or applied to the position coordinate system when using parameterized profile definitions) in case of using IfcDerivedProfileDef.
    • when using IfcCompositeProfileDef the insertion depends on the subtype of the included sub-profiles.

    Figure 320 — Profile sweeping

    Profile types

    Results of the different usage of the ProfileType attribute are demonstrated here. The ProfileType defines whether the inside (the bounded area) is part of the profile definition (Area) or not (Curve). Figure 321 illustrates the resulting area or curve depending on ProfileType.


    ProfileType = AREA

    ProfileType = CURVE

    Figure 321 — Profile types

    Profile specification by external reference

    If the profile is standardized by a norm or a catalogue, a reference to this norm or catalogue should be provided by means of HasExternalReference. This inverse relationship is used to associate an IfcExternalReference (notably IfcClassificationReference or IfcLibraryReference) with the profile.

    IfcClassificationReference is used to refer to a profile norm (a common standard or manufacturer's standard). In this case,

    • IfcClassificationReference.ItemReference contains the formal profile designation from the norm. (On the other hand, IfcProfileDef.ProfileName contains a displayable name which may not necessarily be the same as the formal designation.)
    • IfcClassificationReference.Name carries the short name of the profile norm.
    • Optionally, the norm can be further described by IfcClassificationReference.ReferencedSource.

    IfcLibraryReference is used to refer to a library which contains profile definitions. In this case,

    • IfcLibraryReference.ItemReference contains the identifier of the profile within the library and is meant to be machine-readable (in contrast to IfcProfileDef.ProfileName which should be human-readable).
    • IfcLibraryReference.Location and .Name or .ReferencedLibrary further describe the library.

    If an external reference is provided, sending systems shall ensure that the shape of the profile definition object agrees with the definitions in the referenced classification or library.

    Direct instances of IfcProfileDef

    Usually, only subtypes of IfcProfileDef should be instantiated. In some special cases, e.g. if the profile object is used for purposes other than geometric models (e.g. for structural analysis models), it may be possible to directly instantiate IfcProfileDef and further specify the profile only by external reference or by profile properties. The latter are tracked by the inverse attribute HasProperties.

    " 5078;IfcArbitraryOpenProfileDef;"

    The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed.

    HISTORY  New entity in IFC2x.

    Informal proposition:

    1. The Curve has to be an open curve.

    Figure 308 illustrates the arbitrary open profile definition. The Curve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface that uses the profile definition. It is the xy plane of:

    • IfcSweptSurface.Position

    The Curve attribute defines a two dimensional open bounded curve.

    Figure 308 — Arbitrary open profile

    " 5083;IfcCenterLineProfileDef;"

    The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed.

    Among else, IfcCenterLineProfileDef is used to model cold-formed steel or aluminium sections (Sigma, Zeta, Omega, and similar sections which are not covered by subtypes of IfcParameterizedProfileDef). However, since IfcCenterLineProfileDef does not provide shape parameters except for the thickness, there is generally a need to further specify the profile definition by means of

    • the name,
    • external reference to a document or library,
    • profile properties,

    or a combination of them. See IfcProfileDef for guidance on external references for profiles.

    HISTORY  New entity in IFC2x3.

    Informal proposition:

    1. The Curve has to be an open curve.
    2. The Curve has to be a non-intersecting curve.

    Figure 311 illustrates the center line profile definition. The Curve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface that uses the profile definition. It is the xy plane of:

    • IfcSweptSurface.Position

    The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve.

    Figure 311 — Centerline profile

    " 5085;IfcArbitraryClosedProfileDef;"

    The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed.

    HISTORY: New entity in IFC 1.5. Entity has been renamed from IfcArbitraryProfileDef in IFC Release 2x.

    Informal proposition:

    1. The OuterCurve has to be a closed curve.
    2. The OuterCurve shall not intersect.

    Figure 307 illustrates the arbitrary closed profile definition. The OuterCurve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position

    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve.

    Figure 307 — Arbitrary closed profile

    " 5091;IfcArbitraryProfileDefWithVoids;"

    The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed.

    HISTORY  New entity in IFC2x.

    Informal propositions:

    1. The outer curve and all inner curves shall be closed curves.
    2. The outer curve shall enclose all inner curves.
    3. No inner curve shall intersect with the outer curve or any other inner curve.
    4. No inner curve may enclose another inner curve.

    Figure 309 illustrates the arbitrary closed profile definition with voids. The OuterCurve, defined at the supertype IfcArbitraryClosedProfileDef and the inner curves are defined in the same underlying coordinate system. The common underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves.

    Figure 309 — Arbitrary profile with voids

    " 5096;IfcCompositeProfileDef;"

    The IfcCompositeProfileDef defines the profile by composition of other profiles. The composition is given by a set of at least two other profile definitions. Any profile definition (except for another composite profile) can be used to construct the composite.

    HISTORY  New entity in IFC2x.

    Figure 314 illustrates the composite profile definition. The IfcCompositeProfileDef does not define an own position coordinate system, it is directly defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position

    Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The IfcCompositeProfileDef is defined using other profile definitions. Those other profile definitions are directly inserted into the underlying coordinate system.

    • In case of parameterized profile definitions, the Position attribute of those standard profiles is used to place the profiles relatively to each other.
    • In case of arbitrary profile definitions, each Cartesian coordinate is given directly within the underlying coordinate system.
    NOTE  The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid.

    Figure 314

    Twin profiles special case

    If twin profiles are modeled by profile composition, the base profile should only be specified once. It is then included into the composite profile directly and additionally indirectly via IfcMirroredProfileDef. For example, a double angle made of two L100x10 with 10mm air gap between them, i.e. a _| |_ shape, can be modeled as

    single_L : IfcLShapeProfileDef := IfcLShapeProfileDef(AREA, 'L100X100X10',
        IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?),
        .100, .100, .010, .012, ?, 0., ?, ?);
     
    double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle',
        (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile');
    " 5101;IfcDerivedProfileDef;"

    IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines.

    The transformation effects the position, rotation, mirroring or scale of the profile at the underlying coordinate system, i.e. the coordinate system defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position

    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The position and potential rotation of the ParentProfile within the underlying coordinate system is taken into consideration before applying the Cartesian transformation operator.

    Note, if only mirroring is required, IfcMirroredProfileDef should be used instead.

    HISTORY: New entity in IFC Release 2x.

    Figure 316 illustrates examples of derived profiles.

    Parameter
    The IfcDerivedProfileDef is defined using the IfcCartesianTransformationOperator2D (CTO), which is applied to the parent profile definition.

    Example
    The example shows an uniform scaling and a transformation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:

    Axis1 = NIL (defaults to 1.,0.)
    Axis2 = NIL (defaults to 0.,1.)
    LocalOrigin = IfcCartesianPoint(<1/2 XDim>,<1/2 YDim>)
    Scale = 2.
    Note: The ParentProfile has a Position = IfcCartesianPoint(<1/2 XDim>,<1/2 YDim>) already.

    Parameter
    The IfcDerivedProfileDef is defined using non uniform transformationsby applying the IfcCartesianTransformationOperator2DnonUniform as a subtype of the 2D CTO.

    Example
    The example shows a non-uniform scaling and a translation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:

    Axis1 = NIL (defaults to 1.,0.)
    Axis2 = NIL (defaults to 0.,1.)
    LocalOrigin = IfcCartesianPoint(0.,<1/2 YDim)
    Scale  = 1.
    Scale2 = 2.
    Note: The ParentProfile has a Position = IfcCartesianPoint(<1/2 XDim>,<1/2 YDim>) already.

    Parameter
    The IfcDerivedProfileDef is defined using mirroring by applying the IfcCartesianTransformationOperator2D (CTO) to the parent profile.

    Example
    The example shows a mirroring of an IfcLShapeProfileDef to match the centre cardinal point. The attributes of the CTO are:

    Axis1 = (-1.,0.)
    Axis2 = NIL (defaults to 0.,1.)
    LocalOrigin = IfcCartesianPoint(0.,0.)
    Scale = NIL (defaults to 1.)
    Note: The ParentProfile has a Position = IfcCartesianPoint(0.,0.).

    This example is for illustration only. If the transformation results only in mirroring like shown in the example, then IfcMirroredProfileDef should be used instead of IfcDerivedProfileDef.

    Note: The following color map applies:
    • black coordinate axes show the underlying coordinate system of the swept surface, swept area solid, or sectioned spine
    • red coordinate axes show the position coordinate system of the parent profile
    • brown coordinate axes show the position coordinate system of the derived profile

    Figure 316 — Derived profile

    " 5107;IfcMirroredProfileDef;"

    The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped.

    Notes:

    IfcMirroredProfileDef is primarily useful together with IfcCShapeProfileDef, IfcLShapeProfileDef, IfcUShapeProfileDef, or IfcZShapeProfileDef as parent profile but can be used with other parent profile types as well.

    Mirroring of an IfcParameterizedProfileDef is performed after translation and rotation according to its Position attribute. For example, if the parent profile's Position offsets it by half of its width to the right, then the mirrored profile will be offset by half of its width to the left.

    Mirroring about the x axis, i.e. swapping top and bottom, can be achieved by mirroring about the y axis coupled with 180 degree rotation about the z axis. In general, rotation happens in a containing object such as IfcSweptAreaSolid, i.e. after mirroring by IfcMirroredProfileDef was performed. If the parent profile is an IfcParameterizedProfileDef, rotation can alternatively happen already in the parent profile by means of its Position attribute, i.e. before mirroring by IfcMirroredProfileDef was performed.

    HISTORY  New entity in IFC2x4.
    " 5112;IfcProfileProperties;"

    This is a collection of properties applicable to section profile definitions.

    The following sets of extended profile property definitions are part of this IFC release:

    HISTORY  New entity in IFC2x2.
    IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added.
    " 5117;IfcIShapeProfileDef;"

    IfcIShapeProfileDef defines a section profile that provides the defining parameters of a symmetrical 'I' section to be used by the swept surface geometry or the swept area solid. The I-shape profile has values for its overall depth, width and its web and flange thickness. Additionally a fillet radius may be given. It represents a I-section that is symmetrical about its major and minor axes; and that has both top and bottom flanges being equal and centred on the web.

    IfcIShapeProfileDef can also be used to model I sections with sloped or rounded flanges. The slope and radius cannot be expressed in explicit attributes, but they may be retrieved by reference to an external document or library. See IfcProfileDef for guidance on external references for profile definitions.

    HISTORY  New entity in IFC2x.
    IFC2x4 CHANGE  Type of FilletRadius relaxed to allow for zero radius.

    Figure 318 illustrates parameters of the I-shape profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position
    by using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound).

    Parameter
    The parameterized profile is defined by a set of parameter attributes, see attribute definition below.


    Note: The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid

    Position
    The profile is inserted into the underlying coordinate system of the swept area solid by using the Position attribute. In this example (cardinal point of lower left corner) the attribute values of IfcAxis2Placement2D are:

    Location = IfcCartesianPoint(<1/2 OverallWidth>,<1/2 OverallDepth>)
    RefDirection = NIL (defaults to 1.,0.)

    Parameter
    If the FilletRadius is given, it is equally applied to all four corners created by the web and flanges.

    Figure 318 — I-shape profile

    " 5127;IfcAsymmetricIShapeProfileDef;"

    IfcAsymmetricIShapeProfileDef defines a section profile that provides the defining parameters of a singly symmetric I-shaped section. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.

    The inherited attributes are redefined as:

    • OverallWidth -- BottomFlangeWidth
    • FlangeThickness -- BottomFlangeThickness
    • FilletRadius -- BottomFlangeFilletRadius

    The overall width of the profile is implicitly given by the maximum of the bottom flange width and the top flange width.

    IfcAsymmetricIShapeProfileDef can also be used to model rail profiles if the application scenario does not require a full explicit shape model of the rail profile. Alternatively, IfcArbitraryClosedProfileDef can be used to provide the exact shape of rail profiles. Either way, a reference to an external document or library should be provided to further define the profile as described at IfcProfileDef.

    HISTORY  New entity in Release IFC2x Edition 2.
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL.
    IFC2x4 CHANGE  Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead.

    Figure 310 illustrates parameters of the asymmetric I-shaped section definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative.

    Figure 310 — Assymetric I-shape profile

    " 5131;IfcLShapeProfileDef;"

    IfcLShapeProfileDef defines a section profile that provides the defining parameters of an L-shaped section (equilateral L profiles are also covered by this entity) to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The shorter leg has the same direction as the positive Position.P[1]-axis, the longer or equal leg the same as the positive Position.P[2]-axis. The centre of the position coordinate system is in the profiles centre of the bounding box.

    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box.
    IFC2x4 CHANGE  Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed.

    Figure 319 illustrates parameters of equal-sided and non-equal sided L-shaped section definitions.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    by using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile.

    In the illustrated example, the 'CentreOfGravityInX' and 'CentreOfGravityInY' properties in IfcExtendedProfileProperties, if provided, are both negative.


    Note: The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid

    Position
    The profile is inserted into the underlying coordinate system of the swept area solid by using the Position attribute. In this example (cardinal point of gravity) the attribute values of IfcAxis2Placement2D are:

    Location = IfcCartesianPoint(
                  +|CentreOfGravityInX|,
                  +|CentreOfGravityInY|)
    RefDirection = NIL (defaults to 1.,0.)

    In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin.

    Figure 319 — L-shape profile

    " 5139;IfcUShapeProfileDef;"

    IfcUShapeProfileDef defines a section profile that provides the defining parameters of a U-shape (channel) section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.

    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box.
    IFC2x4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead.

    Figure 327 illustrates parameters of the U-shape profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile.

    Figure 327 — U-shape profile

    " 5149;IfcCShapeProfileDef;"

    IfcCShapeProfileDef defines a section profile that provides the defining parameters of a C-shaped section to be used by the swept area solid. This section is typically produced by cold forming steel. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.

    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box.
    IFC2x4 CHANGE  Type of InternalFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead.

    Figure 315 illustrates parameters of the C-shape profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative.

    Figure 315 — C-shape profile

    " 5158;IfcZShapeProfileDef;"

    IfcZShapeProfileDef defines a section profile that provides the defining parameters of a Z-shape section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.

    HISTORY  New entity in IFC2x2.
    IFC2x Edition 4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius.

    Figure 328 illustrates parameters of the Z-shape profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile.

    Figure 328 — Z-shape profile

    " 5166;IfcTShapeProfileDef;"

    IfcTShapeProfileDef defines a section profile that provides the defining parameters of a T-shaped section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.

    HISTORY  New entity in IFC2x2.
    IFC2x3 CHANGE  All profile origins are now in the center of the bounding box.
    IFC2x4 CHANGE  Type of FilletRadius, FlangeEdgeRadius, and WebEdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead.

    Figure 326 illustrates parameters of the T-shape profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    by using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile.

    Figure 326 — T-shape profile

    " 5178;IfcCircleProfileDef;"

    IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute.

    HISTORY  New class in IFC 1.5.

    Figure 313 illustrates parameters for the circle profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position

    Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle.
    The Radius attribute defines the radius of the circle.

    Figure 313 — Circle profile

    " 5181;IfcCircleHollowProfileDef;"

    IfcCircleHollowProfileDef defines a section profile that provides the defining parameters of a circular hollow section (tube) to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration.The centre of the position coordinate system is in the profile's centre of the bounding box (for symmetric profiles identical with the centre of gravity).

    HISTORY  New entity in IFC2x2.

    Figure 312 illustrates parameters of the circular hollow profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes.

    Figure 312 — Circle hollow profile

    " 5184;IfcEllipseProfileDef;"

    IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute.

    HISTORY  New entity in IFC2x

    Figure 317 illustrates parameters for the ellipse profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position

    Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The location of the position coordinate system defines the center of the ellipse. The SemiAxis1 attribute defines the first radius of the ellipse in the direction of the X axis, the SemiAxis2 attribute defines the second radius of the ellipse in the direction of the Y axis.

    NOTE  The semi axes of the ellipse are rectangular to each other by definition.

    Figure 317 — Ellipse profile

    " 5187;IfcRectangleProfileDef;"

    IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system.

    HISTORY: New class in IFC 1.5. The use definition has changed in IFC Release 2x.

    Figure 323 illustrates parameters of the rectangle profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position
    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions.

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound).

    Parameter
    The IfcRectangleProfileDef is defined within the position coordinate system, where the XDim defines the length measure for the length of the rectangle (half along the positive x-axis) and the YDim defines the length measure for the width of the rectangle (half along the positive y-axis).

    Figure 323 — Rectangle profile

    " 5192;IfcRectangleHollowProfileDef;"

    IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis.

    HISTORY  New entity in IFC2x2.
    IFC2x4 CHANGE  Types of InnerFilletRadius and OuterFilletRadius relaxed to allow for zero values.

    Figure 322 illustrates parameters of a rectangular or square hollow profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

    • IfcSweptAreaSolid.Position

    by using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile.

    Figure 322 — Rectangle hollow profile

    " 5199;IfcRoundedRectangleProfileDef;"

    IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box.

    HISTORY  New class in IFC2x.
    IFC2x PLATFORM CHANGE  The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype).

    Figure 324 illustrates parameters of the rounded rectangle profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position
    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions.

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound).

    Parameter
    The IfcRoundedRectangleProfileDef is defined within the position coordinate system, where the XDim defines the measure for the length of the rectangle (half along the positive x-axis), the YDim defines the length measure for the width of the rectangle (half along the positive y-axis) and the RoundingRadius defines the radius of curvature in all four corners of the rectangle.

    Figure 324 — Rounded rectangle profile

    " 5202;IfcTrapeziumProfileDef;"

    IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box.

    HISTORY  New class in IFC 1.5. The use definition has changed in IFC2x.

    Figure 325 illustrates parameters of the trapezium profile definition.

    Position
    The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
    • IfcSweptSurface.Position
    • IfcSweptAreaSolid.Position
    or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions.

    By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound).

    Parameter
    The IfcTrapeziumProfileDef is defined within the position coordinate system, where the BottomDim defines the length measure for the bottom line (half along the positive x-axis) and the YDim defines the length measure for the parallel distance of bottom and top line (half along the positive y-axis). The top line starts with a distance of TopXOffset from [-BottomLine/2,YDim] (which can be negative, zero, or positive) and has a length of TopXDim along the positive x-axis.

    Figure 325 — Trapezium profile

    " 5207;IfcReinforcementBarProperties;"

    IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth.

    HISTORY  New entity in IFC2x2.

    The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter.

    " 5217;IfcSectionProperties;"

    IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties.

    HISTORY  New entity in IFC2x2.

    The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used.

    " 5224;IfcSectionReinforcementProperties;"

    IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type.

    HISTORY  New entity in IFC2x2.

    Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), one for each combination of steel grades and reinforcement bar types and sizes.

    " 5243;IfcApplication;"

    IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer.

    HISTORY  New entity in IFC R1.5.
    " 5253;IfcOwnerHistory;"

    IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties.

    IfcOwnerHistory is used to identify the creating and owning application and user for the associated object, as well as capture the last modifying application and user.

    HISTORY  New entity in IFC R1.0. Modified in IFC R2x4.

    Informal propositions

    1. If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED.
    2. If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate.
    " 5275;IfcTable;"

    An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects.

    Limitation: For backwards compatibility, the rows of an IfcTable object are constrained to have the same number of cells. The first Row of the table provides the number of cells. All other rows are forced to include the same number of cells. This is enforced by the WR2.

    Figure 335 illustrates table use.

    Figure 335 — Table use

    Figure 336 depicts how tables were structured prior to IFC2x4.

    Figure 336 — Table use alternative

    HISTORY  New entity in IFC R1.5.
    IFC2x4 CHANGE  Columns attribute added.
    " 5284;IfcTableRow;"

    IfcTableRow contains data for a single row within an IfcTable.

    Limitation: For backward compatibility, all IfcTableRow objects referenced by an IfcTable shall have the same number of Row Cells. The actual number of Cells shall be taken from the number of cells of the first IfcTableRow for that table. The number of Cells is calculated by the derived attribute NumberOfCellsInRow in the associated IfcTable.

    Figure 337 illustrates table row use.

    Figure 337 — Table row use

    Figure 338 depicts how table rows were structured prior to IFC2x4 with the use of the IsHeading flag. Note that the use of the IfcTableColumn constructs should be used instead of the IsHeading flag (which remains for backward compatibility only):

    Figure 338 — Table row use alternative

    HISTORY  New entity in IFC R1.5.
    " 5288;IfcTableColumn;"

    An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects.

    The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow.

    HISTORY  New entity in IFC2x4.
    " 5295;IfcBooleanResult;"

    Definition from ISO/CD 10303-42:1992: A Boolean result is the result of a regularized operation on two solids to create a new solid. Valid operations are regularized union, regularized intersection, and regularized difference. For purpose of Boolean operations, a solid is considered to be a regularized set of points. The final Boolean result depends upon the operation and the two operands. In the case of the difference operator the order of the operands is also significant. The operator can be either union, intersection or difference. The effect of these operators is described below:

    • Union on two solids is the new solid that is the regularization of the set of all points that are in either the first operand or the second operand or in both.
    • Intersection on two solids is the new solid that is the regularization of the set of all points that are in both the first operand and the second operand.
    • The result of the difference operation on two solids is the regularization of the set of all points which are in the first operand, but not in the second operand.
    NOTE For example if the first operand is a block and the second operand is a solid cylinder of suitable dimensions and location, the boolean result produced with the difference operator would be a block with a circular hole.
    NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard.
    HISTORY: New class in IFC Release 1.5.1.
    " 5304;IfcHalfSpaceSolid;"

    Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset.

    NOTE A half space is not a subtype of solid model (IfcSolidModel), half space solids are only useful as operands in Boolean expressions.
    NOTE Corresponding STEP entity: half_space_solid. Please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item.
    HISTORY New class in IFC Release 1.5

    Informal propositions:

    1. The base surface shall divide the domain into exactly two subsets. If the half space solid is of subtype boxed half space (IfcBoxedHalfSpace), the domain in question is that of the attribute enclosure. In all other cases the domain is all of space and the base surface shall be unbounded.
    2. The base surface shall be an unbounded surface (subtype of IfcElementarySurface).

    Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only.

    Figure 258 — Half space solid geometry

    " 5310;IfcBoxedHalfSpace;"

    Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system.

    NOTE  The purpose of the box is to facilitate CSG computations by producing a solid of finite size.

    The IfcBoxedHalfSpace is used (as its supertype IfcHalfSpaceSolid) only within Boolean operations. It divides the domain into exactly two subsets, where the domain in question is that of the attribute Enclosure.

    The purpose of the attribute Enclosure is to provide a search box for the other operand in the Boolean operation. It shall be sufficiently large to fully enclose the resulting solid after the Boolean operation with the half space. It however does not alter the final result. The result of the Boolean operation would be the same, as if executed by the supertype IfcHalfSpaceSolid. See Figure 253 below.

    Figure 253 — Boxed half space operands

    NOTE Corresponding ISO 10303-42 entity: boxed_half_space, please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The IFC class IfcBoundingBox is used for the definition of the enclosure, providing the same definition as box_domain.
    HISTORY  New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x.
    IFC2x4 CHANGE  Usage correct, position coordinate system for Enclosure is the object coordinate system.

    The IfcBoundingBox (relating to ISO 10303-42:1994 box_domain) that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect).

    The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result.

    Figure 254 — Boxed half space geometry

    " 5313;IfcBoundingBox;"

    Definition from ISO/CD 10303-42:1992: A box domain is an orthogonal box parallel to the axes of the geometric coordinate system which may be used to limit the domain of a half space solid. A box domain is specified by the coordinates of the bottom left corner, and the lengths of the sides measured in the directions of the coordinate axes.

    Every semantic object having a physical extent might have a minimum default representation of a bounding box. The bounding box is therefore also used as minimal geometric representation for any geometrically represented object. Therefore the IfcBoundingBox is subtyped from IfcGeometricRepresentationItem.

    NOTE Corresponding ISO 10303-42 entity: box_domain, please refer to ISO/IS 10303-42:1994, p. 186 for the final definition of the formal standard. In IFC the bounding box can also be used outside of the context of an IfcBoxedHalfSpace.
    HISTORY New entity in IFC Release 1.0.

    As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system).

    Figure 252 — Bounding box

    " 5319;IfcPolygonalBoundedHalfSpace;"

    The polygonal bounded half space is a special subtype of a half space solid, where the material of the half space used in Boolean expressions is bounded by a polygonal boundary. The base surface of the half space is positioned by its normal relativeto the object coordinate system (as defined at the supertype IfcHalfSpaceSolid), and its polygonal (with or without arc segments) boundary is defined in the XY plane of the position coordinate system established by the Position attribute, the subtraction body is extruded perpendicular to the XY plane of the position coordinate system, that is, into the direction of the positive Z axis defined by the Position attribute.

    The boundary is defined by a 2 dimensional polyline (or 2 dimensional composite curve, consisting of straight segments and circular arc segments) within the XY plane of the position coordinate system. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into.

    NOTE  A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions.
    HISTORY  New class in IFC Release 2x.

    Informal propositions:

    1. The IfcPolyline or the IfcCompositeCurve providing the PolygonalBoundary shall be closed.
    2. If the PolygonalBoundary is given by an IfcCompositeCurve, it shall only have IfcCompositeCurveSegment's of type IfcPolyline, or IfcTrimmedCurve (having a BasisCurve of type IfcLine, or IfcCircle)

    Figure 259 illustrates a polygonal bounded half space.

    • Black coordinates indicate the object coordinate system (usually provided by IfcLocalPlacement).
    • Green coordinates indicate the position coordinate system; the PolygonalBoundary is given within this coordinate system. It is provided by IfcPolygonalBoundedHalfSpace.Position. This coordinate system is relative to the object coordinate system. The extrusion direction of the subtraction body is the positive Z axis.
    • Red coordinates indicate the normal of the plane. It is provided by the BaseSurface (IfcSurface.Position). This normal is also relative to the object coordinate system.

    Figure 259 — Polygonal half space geometry

    Purpose
    The polygonal bounded half space is used to limit the volume of the half space in Boolean difference expressions. Only the part that is defined by a theoretical intersection between the half space solid and an extruded area solid, defined by extruding the polygonal boundary, is used for Boolean expressions.

    Parameter
    The PolygonalBoundary defines the 2D polyline which bounds the effectiveness of the half space in Boolean expressions. The BaseSurface is defined by a plane, and the normal of the plane together with the AgreementFlag defines the side of the material of the half space.

    " 5324;IfcSolidModel;"

    Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations.

    NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.5
    " 5330;IfcManifoldSolidBrep;"

    Definition from ISO/CD 10303-42:1992: A manifold solid B-rep is a finite, arcwise connected volume bounded by one or more surfaces, each of which is a connected, oriented, finite, closed 2-manifold. There is no restriction on the genus of the volume, nor on the number of voids within the volume.

    The Boundary Representation (B-rep) of a manifold solid utilizes a graph of edges and vertices embedded in a connected, oriented, finite, closed two manifold surface. The embedded graph divides the surface into arcwise connected areas known as faces. The edges and vertices, therefore, form the boundaries of the face and the domain of a face does not include its boundaries. The embedded graph may be disconnected and may be a pseudo graph. The graph is labeled; that is, each entity in the graph has a unique identity. The geometric surface definition used to specify the geometry of a face shall be 2-manifold embeddable in the plane within the domain of the face. In other words, it shall be connected, oriented, finite, non-self-intersecting, and of surface genus 0.

    Faces do not intersect except along their boundaries. Each edge along the boundary of a face is shared by at most one other face in the assemblage. The assemblage of edges in the B-rep do not intersect except at their boundaries (i.e., vertices). The geometry curve definition used to specify the geometry of an edge shall be arcwise connected and shall not self intersect or overlap within the domain of the edge. The geometry of an edge shall be consistent with the geometry of the faces of which it forms a partial bound. The geometry used to define a vertex shall be consistent with the geometry of the faces and edges of which it forms a partial bound.

    A B-rep is represented by one or more closed shells which shall be disjoint. One shell, the outer, shall completely enclose all the other shells and no other shell may enclose a shell. The facility to define a B-rep with one or more internal voids is provided by a subtype. The following version of the Euler formula shall be satisfied, where V, E, F, Ll and S are the numbers of unique vertices, edges, faces, loop uses and shells in the model and Gs is the sum of the genus of the shells.

    Instances of type IfcManifoldSolidBrep shall be of type IfcFacetedBrep, using only IfcPolyLoop for the bounds of IfcFaceBound, or of type IfcAdvancedBrep, using only IfcAdvancedFace for the face geometry, and IfcEdgeCurve for the edges.

    NOTE: Corresponding ISO 10303-42 entity: manifold_solid_brep. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. IfcManifoldSolidBrep is defined as ABSTRACT supertype to prevent it from direct instantiation.
    HISTORY: New entity in IFC Release 1.0

    Informal proposition:

    1. The dimensionality of a manifold solid brep shall be 3.
    2. The extent of the manifold solid brep shall be finite and non-zero.
    3. All elements of the manifold solid brep shall have defined associated geometry.
    4. The shell normals shall agree with the B-rep normal and point away from the solid represented by the B-rep.
    5. Each face shall be referenced only once by the shells of the manifold solid brep.
    6. The Euler equation shall be satisfied for the boundary representation, where the genus term ""shell term"" us the sum of the genus values for the shells of the brep.
    " 5334;IfcFacetedBrep;"

    Definition from ISO/CD 10303-42:1992: A faceted B-rep is a simple form of boundary representation model in which all faces are planar and all edges are straight lines. Unlike the B-rep model, edges and vertices are not represented explicitly in the model but are implicitly available through the poly loop entity. A faceted B-rep has to meet the same topological constraints as the manifold solid B-rep.

    NOTE The faceted B-rep has been introduced in order to support the larger number of systems that allow boundary type solid representations with planar surfaces only.
    NOTE Corresponding ISO 10303-42 entity: faceted_brep. Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In the current IFC Release faceted B-rep with voids is represented by an own subtype and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC data schema.
    HISTORY  New entity in IFC Release 1.0

    Informal proposition:

    1. All the bounding loops of all the faces of all the shells in the IfcFacetedBrep shall be of type IfcPolyLoop.
    2. All vertices shall be referenced by all polyloops, sharing the vertex. That is, each Cartesian point shall be referenced by at least three polyloops.

    Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace.

    Figure 257 — Faceted B-rep

    " 5336;IfcFacetedBrepWithVoids;"

    The IfcFacetedBrepWithVoids is a specialization of a faceted B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.

    NOTE˙ Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC faceted B-rep with voids is represented by this subtype IfcFacetedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of faceted_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model.
    HISTORY˙ New entity in IFC Release 1.0
    IFC2x4 CHANGE˙ Subtyping changed from IfcManifoldSolidBrep to IfcFacetedBrep with upward compatibility for file based exchange.

    Informal propositions:

    1. Each void shell shall be disjoint from the outer shell and from every other void shell
    2. Each void shell shall be enclosed within the outer shell but not within any other void shell. In particular the outer shell is not in the set of void shells
    3. Each shell in the IfcManifoldSolidBrep shall be referenced only once.
    4. All the bounding loops of all the faces of all the shells in the IfcFacetedBrep shall be of type IfcPolyLoop.
    " 5338;IfcAdvancedBrep;"

    An advanced B-rep is a boundary representation model in which all faces, edges and vertices are explicitly represented. It is a solid with explicit topology and elementaty or free-form geometry. The faces of the B-rep are of type IfcAdvancedFace. An advanced B-rep has to meet the same topological constraints as the manifold solid B-rep.

    NOTE The advanced B-rep has been introduced in order to support the increasing number of applications that can define and exchange B-rep models based on NURBS or other b-spline surfaces.
    NOTE Corresponding ISO 10303-42 entity: advanced_brep_shape_representation. Please refer to ISO/IS 10303-514:1999 for the final definition of the formal standard. There is no explicit entity in ISO 10303-42 for an advanced B-rep, the advanced_brep_shape_representation only ensures that only such kind of manifold B-rep's are used in a shape representation.
    HISTORY New entity in IFC2x4

    Informal proposition:

    1. each face is a face surface;
    2. each face surface has its geometry defined by an elementary surface, swept surface or a b-spline surface;
    3. the edges used to define the boundaries of the face shall all reference an edge curve
    4. each curve used to define the geometry of the faces and face bounds shall be either a conic, or a line or a polyline or a b-spline curve
    5. the edges used to define the face boundaries shall all be trimmed by vertices of type vertex point
    6. no loop used to define a face bound shall be of the oriented subtype

    Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace.

    Figure 249 — Advanced Brep

    " 5341;IfcAdvancedBrepWithVoids;"

    The IfcAdvancedBrepWithVoids is a specialization of an advanced B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.

    NOTE˙ Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC advanced B-rep with voids is represented by this subtype IfcAdvancedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of manifold_solid_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model.
    HISTORY˙ New entity in IFC2x4

    Informal propositions:

    1. Each void shell shall be disjoint from the outer shell and from every other void shell
    2. Each void shell shall be enclosed within the outer shell but not within any other void shell. In particular the outer shell is not in the set of void shells
    3. Each shell in the IfcManifoldSolidBrep shall be referenced only once.
    4. All the faces of all the shells in the IfcAdvancedBrep and the IfcAdvancedBrepWithVoids.Voids shall be of type IfcAdvancedFace.
    " 5344;IfcSweptAreaSolid;"

    Definition from ISO/CD 10303-42:1992: The swept area solid entity collects the entities which are defined procedurally by sweeping action on planar bounded surfaces. The position is space of the swept solid will be dependent upon the position of the swept area. The swept area will be a face of the resulting swept area solid, except for the case of a revolved area solid with angle equal to 2π (or 360 degrees).

    The swept area is defined by a cross section (also referred to as profile), which is given as a closed two-dimensional boundary on an implicit plane. The swept area is defined in the xy plane of the position coordinate system, which is given for the swept area solid.

    NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x.
    " 5352;IfcExtrudedAreaSolid;"

    The IfcExtrudedAreaSolid is defined by sweeping a cross section provided by a profile definition. The direction of the extrusion is given by the ExtrudedDirection attribute and the length of the extrusion is given by the Depth attribute. If the planar area has inner boundaries (holes defined), then those holes shall be swept into holes of the solid. The extruded direction can be any direction which is not perpendicular to the z axis of the position coordinate system of the profile.

    The following definitions from ISO 10303-42 apply:

    An extruded area solid is a solid defined by sweeping a bounded planar surface. The direction of translation is defined by a direction vector, and the length of the translation is defined by a distance depth. The planar area may have holes which will sweep into holes in the solid.

    The ExtrudedDirection is given within the position coordinate system as defined by IfcSweptAreaSolid.Position. Extrusions are not restricted to be perpendicular to the extruded surface of the profile.

    Figure 255 illustrates geometric parameters of the extruded area solid. The extruded area solid defines the extrusion of a 2D area (given by a profile definition) by an direction and depth. The result is a solid. The swept area is given by a profile definition. This profile is defined:

    • as a 2D bounded curve within the xy plane of the position coordinate system,
    • as a 2D bounded curve with holes within the xy plane of the position coordinate system,
    • or as a 2D primitive, defined within a 2D position coordinate system, that is placed relative to the xy plane of the position coordinate system

    Figure 255 — Extruded area solid geometry

    NOTE  Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion.
    HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x.

    Texture use definition

    For side faces, textures are aligned facing upright continuously along the sides with origin at the first point of an arbitrary profile, and following the outer bound of the profile counter-clockwise (as seen from above). For parameterized profiles, the origin is defined at the +Y extent for rounded profiles (having no sharp edge) and the first sharp edge counter-clockwise from the +Y extent for all other profiles. Textures are stretched or repeated on each side along the outer boundary of the profile according to RepeatS. Textures are stretched or repeated on each side along the extrusion axis according to RepeatT.

    For top and bottom caps, textures are aligned facing front-to-back, with the origin at the minimum X and Y extent. Textures are stretched or repeated on the top and bottom to the extent of each face according to RepeatS and RepeatT.

    For profiles with voids, textures are aligned facing upright along the inner side with origin at the first point of an arbitrary profile, and following the inner bound of the profile clockwise (as seen from above). For parameterized profiles, the origin of inner sides is defined at the +Y extent for rounded profiles (having no sharp edge such as hollow ellipses or rounded rectangles) and the first sharp edge clockwise from the +Y extent for all other profiles.

    Figure 256 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcExtrudedAreaSolid having a profile of IfcIShapeProfileDef, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcIShapeProfileDef.OverallWidth, +0.5*IfcIShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcIShapeProfileDef.OverallWidth, -0.5*IfcIShapeProfileDef.OverallDepth).

    Figure 256 — Extruded area solid textures

    " 5357;IfcExtrudedAreaSolidTapered;"

    IfcExtrudedAreaSolidTapered is defined by sweeping a cross section along a linear spine. The cross section may change along the sweep from the shape of the start cross section into the shape of the end cross section. The resulting solid is bounded by three or more faces: A start face, an end face (each defined by start and end planes and sections), and one or more lateral faces. Each lateral face is a ruled surface defined by a pair of corresponding edges of the start and end section.

    NOTE Given that the start and end section is provided by a polygon, the corresponding vertices of the start and end cross section are connected, forming a quadrilateral polygon between each pair of corresponding vertices. The surface defined by the bounding quadrilateral polygon is a ruled surface, that could be approximated by triangulation.

    The linear spine is defined by:

    • Start point: SELF\IfcSweptAreaSolid.Position.Location
    • Direction: SELF\IfcExtrudedAreaSolid.ExtrudedDirection
    • Distance: SELF\IfcExtrudedAreaSolid.Depth

    The start cross section is defined by SELF\IfcSweptAreaSolid.SweptArea:

    • A bounded planar surface lying in the XY plane of the position coordinate system defined by SELF\IfcSweptAreaSolid.Position.P[1] and SELF\IfcSweptAreaSolid.Position.P[2]
    • The linear spine starts at the plane of the start cross section. The spine is not necessarily perpendicular to the plane.

    The end cross section is defined by EndSweptArea:

    • A bounded planar surface lying in the XY plane of the position coordinate system defined by translating the start position coordinates provided by SELF\IfcSweptAreaSolid.Position along the spine direction by the spine distance. The plane of the end cross section is coplanar to the plane of the start cross section.
      • The end cross section is topologically similar to the start cross section (i.e. having the same number of vertices and edges).
      • The end cross section can either be defined by the same paramteric profile using different parameter values, or by a 2D Cartesian transformation of the start profile within the end cross section plane.

    In case of two parameterized profiles the shape is constructed as follows:

    • The end profile, defined by a cross section based on the same profile paramterization as the start profile, is translated by the spine distance along the spine direction.
    • It may be shifted within the XY plane of the end postion coordinate system and may be twisted using the rotation parameter.
    • The shift and rotation parameter are provided by the end cross section being of type IfcParameterizedProfileDef, where
      • Shift is EndSweptArea\IfcParameterizedProfileDef.Position.Location
      • Rotation is EndSweptArea\IfcParameterizedProfileDef.Position.RefDirection
    • Corresponding vertices of the start and end cross section are connected. Lateral faces are constructed as ruled surfaces between corresponding edges of start and end cross section.

    In case of Cartesian transformation of the start cross section the shape is constructed as follows:

    • The cross section curve, which starts as a curve in the XY plane of the position coordinate system, is first scaled about the origin by the scale parameter. It is then translated by the spine distance along the spine direction. It maybe twisted by using the rotation parameter.
    • The scale and rotation parameter are provided by the end cross section being of type IfcDerivedProfileDef, where
      • Scale is EndSweptArea\IfcDerivedProfileDef.Operator.Scale
      • Rotation is EndSweptArea\IfcDerivedProfileDef.Operator.Axis1
    • Corresponding vertices of the start and end cross section are connected. Lateral faces are constructed as ruled surfaces between corresponding edges of start and end cross section.
    HISTORY New entity in IFC2x4.

    Informal propositions

    1. Mirroring within IfcDerivedProfileDef.Operator shall not be used
    " 5360;IfcRevolvedAreaSolid;"

    An IfcRevolvedAreaSolid is a solid created by revolving a cross section provided by a profile definition about an axis. The axis and the cross section shall be in the same plane.

    NOTE Both the axis and the cross section are required to lie in the xy plane of the object position coordinate system.

    The following definitions from ISO 10303-42 apply:

    A revolved area solid is a solid formed by revolving a planar bounded surface about an axis. The axis shall be in the plane of the surface and the axis shall not intersect the interior of the bounded surface. The bounded surface may have holes which will sweep into holes in the solid. The direction of revolution is clockwise when viewed along the axis in the positive direction. More precisely if A is the axis location and d is the axis direction and C is an arc on the surface of revolution generated by an arbitrary point p on the boundary of the swept area, then C leaves p in direction d x (p - A) as the area is revolved.

    Figure 262 illustrates geometric parameters of the revolved solid. The revolved area solid defines the revolution of a 2D area (given by a profile definition) by an axis and angle. The result is a solid. The swept area is given by a profile definition. This profile is defined:

    • as a 2D bounded curve within the xy plane of the position coordinate system,
    • as a 2D bounded curve with holes within the xy plane of the position coordinate system,
    • or as a 2D primitive, defined within a 2D position coordinate system, that is placed relative to the xy plane of the position coordinate system

    The AxisLine can have any orientation within the XY plane, it does not have to be parallel to the y-axis as shown in the illustration.

    Figure 262 — Revolved area solid geometry

    NOTE  Corresponding ISO 10303-42 entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution.
    HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x.

    Informal propositions:

    1. The AxisLine shall lie in the plane of the SweptArea (as defined at supertype IfcSweptAreaSolid).
    2. The AxisLine shall not intersect the interior of the SweptArea (as defined at supertype IfcSweptAreaSolid).
    3. The Angle shall be between 0° and 360°, or 0 and 2π (depending on the unit type for IfcPlaneAngleMeasure).

    Texture Use Definition

    For side faces, textures are aligned facing upright along the sides with origin at the first point of an arbitrary profile, and following the outer bound of the profile counter-clockwise (as seen from above). For parameterized profiles, the origin is defined at the +Y extent for rounded profiles (having no sharp edge) and the first sharp edge counter-clockwise from the +Y extent for all other profiles. Textures are stretched or repeated on each side along the outer boundary of the profile according to RepeatS. Textures are stretched or repeated on each side along the outermost (longest) revolution path according to RepeatT, where coordinates are compressed towards the axis of revolution.

    For top and bottom caps, textures are aligned facing front-to-back, with the origin at the minimum X and Y extent. Textures are stretched or repeated on the top and bottom to the extent of each face according to RepeatS and RepeatT.

    For profiles with voids, textures are aligned facing upright along the inner side with origin at the first point of an arbitrary profile, and following the inner bound of the profile clockwise (as seen from above). For parameterized profiles, the origin of inner sides is defined at the +Y extent for rounded profiles (having no sharp edge such as hollow ellipses or rounded rectangles) and the first sharp edge clockwise from the +Y extent for all other profiles.

    Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth).

    Figure 263 — Revolved area solid textures

    " 5367;IfcRevolvedAreaSolidTapered;"

    IfcRevolvedAreaSolidTapered is defined by revolving a cross section along a circular arc. The cross section may change along the revolving sweep from the shape of the start cross section into the shape of the end cross section. Corresponding vertices of the start and end cross sections are then connected. The bounded surface may have holes which will sweep into holes in the solid.

    The rotation axis is defined by:

    • Start point: SELF\IfcSweptAreaSolid.Position.Location
    • Direction: SELF\IfcRevolvedAreaSolid.Axis
    • Rotation axis: SELF\IfcRevolvedAreaSolid.AxisLine, created from start point and direction by appying a 1 unit magnitude.
    • Orientation: Positive angles are applied clockwise when looking into the positive direction of the rotation axis.

    The start cross section is defined by SELF\IfcSweptAreaSolid.SweptArea:

    • A bounded planar surface lying in the XY plane of the position coordinate system defined by SELF\IfcSweptAreaSolid.Position.P[1] and SELF\IfcSweptAreaSolid.Position.P[2]
    • The rotation axis lies in the plane of the start cross section but shall not intersect the interior of the start cross section.

    The end cross section is defined by EndSweptArea:

    • A bounded planar surface lying in the XY plane of the position coordinate system defined by rotating the start position coordinates provided by SELF\IfcSweptAreaSolid.Position around the rotation axis by the angle given by SELF\IfcRevolvedAreaSolid.Angle.
      • The end cross section is topologically similar to the start cross section (having the same number of vertices and edges).
      • The end cross section can either be defined by the same paramteric profile using different parameter values, or by a 2D Cartesian transformation of the start profile within the end cross section plane.

    The solid is generated by transforming the start cross section into to end cross section. A start face, an end face (each defined by start and end cross sections), and one or more lateral faces. Each lateral face is a ruled surface defined by a pair of corresponding edges of the start and end section. The ruled surfaces are constructed in the cylindrical coordinate space defined by the supertype IfcRevolvedAreaSolid.""

    HISTORY New entity in IFC2x4.

    Informal propositions

    1. Mirroring within IfcDerivedProfileDef.Operator shall not be used
    " 5370;IfcSurfaceCurveSweptAreaSolid;"

    The IfcSurfaceCurveSweptAreaSolid is the result of sweeping an area along a directrix that lies on a reference surface. The swept area is provided by an IfcProfileDef (or subtypes). The profile definition is based on a 2D coordinate system, which is inserted into the XY plane of the 3D Position coordinate system inherited from the supertype IfcSweptAreaSolid.

    The following definitions from ISO 10303-42 apply:

    A surface curve swept area solid is a type of swept area solid which is the result of sweeping a face along a Directrix lying on a ReferenceSurface. The orientation of the SweptArea is related to the direction of the surface normal.

    The SweptArea is required to be a curve bounded surface lying in the plane z = 0 and this is swept along the Directrix in such a way that the origin of the local coordinate system used to define the SweptArea is on the Directrix and the local x-axis is in the direction of the normal to the ReferenceSurface at the current point. The resulting solid has the property that the cross section of the surface by the normal plane to the Directrix at any point is a copy of the SweptArea.

    The orientation of the SweptArea as it sweeps along the Directrix is precisely defined by a Cartesian Transformation Operator 3D with attributes:

    • LocalOrigin as point (0; 0; 0),
    • Axis1 as the normal N to the ReferenceSurface at the point of the Directrix with parameter u.
    • Axis3 as the direction of the tangent vector t at the point of the Directrix with parameter u.
      The remaining attributes are defaulted to define a corresponding transformation matrix T(u), which varies with the Directrix parameter u.

    NOTE  The geometric shape of the solid is not dependent upon the curve parameterization; the volume depends upon the area swept and the length of the Directrix.

    The attributes of the Cartesian Transformation Operator (as shown above) should apply to the Position coordinate system, in which the profile is inserted. The Directrix and the ReferenceSurface are positioned within the 3D Position coordinate system.

    NOTE  Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard.
    HISTORY  New entity in IFC2x2.

    Informal propositions:

    1. The SweptArea shall lie in the plane z = 0.
    2. The Directrix shall lie on the ReferenceSurface.
    " 5375;IfcFixedReferenceSweptAreaSolid;"

    A fixed reference swept area solid is a type of swept area solid which is the result of sweeping a surface along a Directrix. The orientation of the curve during the sweeping operation is controlled by the FixedReference direction.

    The SweptArea is required to be a curve bounded surface lying in the plane z = 0 and this is swept along the Directrix in such a way that the origin of the local coordinate system used to define the SweptArea is on the Directrix and the local X axis is in the direction of the projection of FixedReference onto the normal plane to the directrix at this point. The resulting solid has the property that the cross section of the surface by the normal plane to the Directrix at any point is a copy of the SweptArea.

    NOTE The swept face is given by IfcProfileDef (or subtypes), the profile definition is given within a 2D coordinate system, which is inserted into the XY plane of the Position coordinate system inherited from the supertype IfcSweptAreaSolid.

    The orientation of the SweptArea as it sweeps along the Directrix is precisely defined by a CartesianTransformationOperator3d with attributes:

    • LocalOrigin as point (0; 0; 0),
    • Axis1 as the FixedReference.
    • Axis3 as the direction of the tangent vector t at the point of the Directrix with parameter u.

    The remaining attributes are defaulted to define a corresponding transformation matrix T(u), which varies with the Directrix parameter u.

    NOTE The geometric shape of the solid is not dependent upon the curve parameterization; the volume depends upon the area swept and the length of the Directrix.

    The attributes of the Cartesian Transformation Operator (as shown above) should apply to the Position coordinate system, in which the profile is inserted. The Directrix and the FixedReference are positioned within the 3D Position coordinate system.

    NOTE The entity is defined in analogy to the ISO 10303-42 entity: fixed_reference_swept_surface. Please refer to ISO/DIS 10303-42:2003(E) p. 103.
    HISTORY New entity in IFC2x4.

    Informal propositions:

    1. The SweptArea shall lie in the plane z = 0.
    2. The FixedReference shall not be parallel to a tangent vector to the directrix at any point along this curve.
    3. The Directrix curve shall be tangent continuous.
    " 5380;IfcCsgSolid;"

    Definition from ISO/CD 10303-42:1992: A solid represented as a CSG model is defined by a collection of so-called primitive solids, combined using regularized Boolean operations. The allowed operations are intersection, union, and difference. As a special case a CSG solid can also consists of a single CSG primitive.

    A CSG solid requires two kinds of information for its complete definition: geometric and structural.

    • The geometric information is conveyed by solid models. These typically primitive volumes such as cylinders, wedges and extrusions, but can include general B-Rep models. Solid models can also be half space solids.
    • The structural information is in a tree (strictly an acyclic directed graph) of Boolean result and CSG solids, which represent a ‘recipe’ for building the solid. The terminal nodes are the geometric primitives and other solids. Every CSG solid has precisely one Boolean result associated with it which is the root of the tree that defines the solid. (There may be further Boolean results within the tree as operands). The significance of a CSG solid entity is that the solid defined by the associated tree is thus identified as a significant object itself, and in this way it is distinguished from other Boolean result entities representing intermediate results during the construction process.

    Definition from IAI: The following primitive volumes can be parts of the CSG tree: solid models, i.e. faceted B-Rep (IfcFacetedBrep, IfcFacetedBrepWithVoids), swept area solid (IfcExtrudedAreaSolid, IfcRevolvedAreaSolid, IfcSurfaceCurveSweptAreaSolid), swept disk solids (IfcSweptDiskSolid), half space solids (IfcHalfSpaceSolid and subtypes), and CSG primitives (subtypes of IfcCsgPrimitive3D).

    NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.5.1
    " 5385;IfcCsgPrimitive3D;"

    IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system.

    NOTE˙ No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard.
    HISTORY˙ New entity in IFC2x3.
    " 5393;IfcBlock;"

    The IfcBlock is a Construction Solid Geometry (CSG) 3D primitive. It is defined by a position and a positve distance along the three orthogonal axes. The inherited Position attribute has the IfcAxisPlacement3D type and provides:

    • SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive.
    • SELF\IfcCsgPrimitive3D.Position.Location: The block has one vertex at location and the edges are aligned with the placement axes in the positive sense.

    The XLength, YLength, and ZLength attributes define the size of the IfcBlock along the three axes.

    The following definitions from ISO 10303-42 apply:

    A block is a solid rectangular parallelepiped, defined with a location and placement coordinate system. The block is specified by the positive lengths x, y, and z along the axes of the placement coordinate system, and has one vertex at the origin of the placement coordinate system.

    Figure 250 illustrates geometric parameters of a block where the block positioned within its own placement coordinate system. The values for XLength, YLength, and ZLength are applied to the positive direction of the X, Y, and Z axis.

    Figure 250 — Block geometry

    NOTE  Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard.
    HISTORY  New entity in IFC2x3.

    Texture use definition

    On each side face, textures are aligned facing upright. On the top and bottom faces, textures are aligned facing front-to-back. Textures are stretched or repeated to the extent of each face according to RepeatS and RepeatT.

    Figure 251 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

    Side Normal Origin X Origin Y Origin Z S Axis T Axis
    Left -X 0 +YLength 0 -Y +Z
    Right +X 0 +YLength 0 +Y +Z
    Front +X 0 0 0 +X +Z
    Back +Y +XLength +YLength 0 -X +Z
    Bottom -Z +XLength 0 0 -X +Y
    Top +Z 0 0 +ZLength +X +Y

    Figure 251 — Block textures

    " 5397;IfcRectangularPyramid;"

    The IfcRectangularPyramid is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a rectangular base and a point called apex as the top. The tapers from the base to the top. The axis from the center of the base to the apex is perpendicular to the base. The inherited Position attribute defines the IfcAxisPlacement3D and provides the location and orientation of the pyramid:

    • SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. 
    • SELF\IfcCsgPrimitive3D.Position.Location: The center of the circular area being the bottom face of the cone.
    • SELF\IfcCsgPrimitive3D.Position.Position[3]: The z-axis of the inherited placement coordinate system provides the center axis of the IfcRightCircularCone, and the apex is at the Height value applied to the positive direction of the z-axis. The BottomRadius defines the circular base at the xy-plane of the placement coordinate system.

    As shown in Figure 260, the pyramid is positioned within its own placement coordinate system. The origin is the center of the bottom rectangle, that lies in the XY plane. The apex lies on the positive z axis at [0, 0, Height].

    Figure 260 — Rectangular pyramid geometry

    NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x3

    Texture use definition

    On each triangular side face, textures are aligned facing upright. Textures are stretched or repeated to the extent of the base of each face according to RepeatS. Textures are stretched or repeated towards the top point according to Repeat T, where the top point has coordinates of (0.5,1.0) if RepeatT is False.

    On the bottom face, textures are aligned facing front-to-back.

    Figure 261 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

    Side Normal Origin X Origin Y Origin Z S Axis T Axis
    Left -X 0 +YLength 0 -Y (towards top point)
    Right +X 0 +YLength 0 +Y (towards top point)
    Front +X 0 0 0 +X (towards top point)
    Back +Y +XLength +YLength 0 -X (towards top point)
    Bottom -Z +XLength 0 0 -X +Y

    Figure 261 — Right circular cone textures

    " 5401;IfcRightCircularCylinder;"

    The IfcRightCircularCylinder is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a circular base and top. The cylindrical surface between if formed by points at a fixed distance from the axis of the cylinder. The inherited Position attribute defines the IfcAxisPlacement3D and provides:

    • SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive.
    • SELF\IfcCsgPrimitive3D.Position.Location: The center of the circular area being the bottom face of the cylinder.
    • SELF\IfcCsgPrimitive3D.Position.Position[3]: The z axis provides the center axis and the height is measured from the origin along the positive direction of the z axis.

    The following definitions from ISO 10303-42 apply:

    A right circular cylinder is a CSG primitive in the form of a solid cylinder of finite height. It is defined by an axis point at the centre of one planar circular face, an axis, a height, and a radius. The faces are perpendicular to the axis and are circular discs with the specified radius. The height is the distance from the first circular face centre in the positive direction of the axis to the second circular face centre.

    Figure 266 illustrates geometric parameters of the cylinder. The cylinder is positioned within its own placement coordiante system. The origin is the center of the bottom circular disk, that lies in the XY plane. The center of the top circular disk is on the positive z axis at [0, 0, Height].

    Figure 266 — Right circular cylinder geometry

    NOTE  Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard.
    HISTORY  New entity in IFC2x3.

    Texture use definition

    On the circular side, textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the circumference according to RepeatS. Textures are stretched or repeated to the extent of the Height according to RepeatT.

    On the top and bottom faces, textures are aligned facing front-to-back, with the center of the circle aligned to the center of the texture.

    Figure 267 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

    Side Normal Origin X Origin Y Origin Z S Axis T Axis
    Side -Y 0 +Radius 0 -X +Z
    Bottom -Z 0 0 0 -X +Y
    Top +Z 0 0 +Height +X +Y

    Figure 267 — Right circular cylinder textures

    " 5404;IfcRightCircularCone;"

    The IfcRightCircularCone is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a circular base and a point called apex as the top. The tapers from the base to the top. The axis from the center of the circular base to the apex is perpendicular to the base. The inherited Position attribute defines the IfcAxisPlacement3D and provides the location and orientation of the cone:

    • SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. 
    • SELF\IfcCsgPrimitive3D.Position.Location: The center of the circular area being the bottom face of the cone.
    • SELF\IfcCsgPrimitive3D.Position.Position[3]: The z-axis of the inherited placement coordinate system provides the center axis of the IfcRightCircularCone, and the apex is at the Height value applied to the positive direction of the z-axis. The BottomRadius defines the circular base at the xy-plane of the placement coordinate system.

    Figure 264 illustrates geometric parameters of the cone. The cone is positioned within its own placement coordinate system. The origin is the center of the bottom circular disk, that lies in the XY plane. The apex lies on the positive z axis at [0, 0, Height].

    Figure 264 — Right circular cone geometry

    NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x3

    Texture use definition

    On the circular side, textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the base circumference according to RepeatS. Textures are compressed linearly going upwards towards the top point according to RepeatT.

    On the bottom face, textures are aligned facing front-to-back, with the center of the circle aligned to the center of the texture.

    Figure 265 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

    Side Normal Origin X Origin Y Origin Z S Axis T Axis
    Side -Y 0 +Radius 0 -X (towards top point)
    Bottom -Z 0 0 0 -X +Y

    Figure 265 — Right circular cone textures

    " 5407;IfcSphere;"

    The IfcSphere is a Construction Solid Geometry (CSG) 3D primitive. It is a solid where all points at the surface have the same distance from the center point. The inherited Position attribute defines the IfcAxisPlacement3D and provides:

    • SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. 
    • SELF\IfcCsgPrimitive3D.Position.Location: The center of the sphere.
    • SELF\IfcCsgPrimitive3D.Position.Position[3]: The z axis points at its positve direction towards the north pole, and by its negative directions towards the south pole.

    The following definitions from ISO 10303-42 apply:

    A sphere is a CSG primitive with a spherical shape defined by a centre and a radius.

    Figure 270 illustrates geometric parameters of the sphere. The sphere is positioned within its own placement coordiante system. The origin is the center of the sphere.

    Figure 270 — Sphere geometry

    NOTE  Corresponding STEP entity: sphere, the position attribute, including the centre point,  has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 175 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x3.

    Texture Use Definition

    Textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the circumference at the equator according to RepeatS and RepeatT.

    Figure 271 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

    Side Normal Origin X Origin Y Origin Z S Axis T Axis
    Side -Y 0 +Radius 0 (-X, then curving counter-clockwise) (+Y, then curving towards top)

    Figure 271 — Sphere textures

    " 5409;IfcSweptDiskSolid;"

    Definition from ISO 10303-42:2002: A swept disk solid is the solid produced by sweeping a circular disk along a three dimensional curve. During the sweeping operation the normal to the plane of the circular disk is in the direction of the tangent to the directrix curve and the center of the disk lies on the directrix. The circular disk may, optionally, have a central hole, in this case the resulting solid has a through hole, or, an internal void when the directrix forms a close curve.

    The StartParam and EndParam parameter are optional, if not provided they default to the start and end of the Directrix. Only if the Directrix is given by a bounded or by a closed curve, it is permissible to omit the values of StartParam and EndParam.

    If the transitions between consecutive segments of the Directrix are not tangent continuous, the resulting solid is created by a miter at half angle between the two segments. Informal proposition restricts the permissible angle between two non-tangent continuous segments.

    Figure 272 illustrates an example.

    • Directrix given as IfcCompositeCurve being tangent continuous between its segments
    • Directrix being a bounded and open curve
    • No StartParam and EndParam are provided, start and end default to start and end of the bounded curve of the Directrix
    NOTE  Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions.

    Figure 272 — Swept disk solid geometry

    NOTE  Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard.
    HISTORY  New entity in IFC Release 2x2.
    IFC2x4 CHANGE  The attribute StartParam and EndParam have been made optional.

    Informal proposition

    1. If the Directrix curve definition is not tangent continuous, the transition between the segments has to be within an acceptable limit of tangent discontinuity. Very sharp edges may result in nearly impossible miter. Implementer agreements may define acceptable limits for tangent discontinuity.
    2. The segments of the Directrix shall be long enough to apply the Radius. In case of an arc segment forming part of the Directrix ,its radius shall be greater then the disk Radius
    3. The Directrix shall not be based on an intersecting curve.
    " 5419;IfcSweptDiskSolidPolygonal;"

    The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline.

    HISTORY New entity in IFC2x4.

    Informal proposition

    1. The FilletRadius, if provided, has to be smaller then or equal to the length of the start and end segment of the IfcPolyline, and smaller then or equal to one half of the lenght of the shortest inner segment.
    " 5423;IfcSectionedSpine;"

    Definition from ISO 10303-42:1999: A sectioned spine is a representation of the shape of a three dimensional object composed of a spine curve and a number of planar cross sections. The shape is defined between the first element of cross sections and the last element of this set.

    NOTE A sectioned spine may be used to represent a surface or a solid but the interpolation of the shape between the cross-sections is not defined. For the representation of a solid all cross-sections are closed curves.

    A sectioned spine (IfcSectionedSpine) is a representation of the shape of a three dimensional object composed by a number of planar cross sections, and a spine curve. The shape is defined between the first element of cross sections and the last element of the cross sections. A sectioned spine may be used to represent a surface or a solid but the interpolation of the shape between the cross sections is not defined.

    For the representation of a solid all cross sections are areas. For representation of a surface all cross sections are curves. The cross sections are defined as profiles, whereas the consecutive profiles may be derived by a transformation of the start profile or the previous consecutive profile.

    The spine curve shall be of type IfcCompositeCurve, each of its segments (IfcCompositeCurveSegment) shall correspond to the part between exactly two consecutive cross-sections.

    NOTE: Corresponding ISO 10303 entity: sectioned spine. Please refer to ISO/DIS 10303-42-ed2:1999, p. 282 for the definition of the formal standard. The cross sections are defined in IFC as IfcProfileDef. The position coordinate systems are added.
    HISTORY New entity in IFC Release 2x.

    Figure 268 illustrates an example of an IfcSectionedSpine.

    • The SpineCurve is given by an IfcCompositeCurve with two Segments. The Segments[1] has a ParentCurve of type IfcPolyline and a Transition = CONTSAMEGRADIENT. The Segments[2] has a ParentCurve of type IfcTrimmedCurve and a Transition = DISCONTINUOUS.
    • Each CrossSectionPosition lies at a start or end point of the Segments.
    • Each CrossSections are inserted by the CrossSectionPositions. The first two cross sections are of type IfcRectangleProfileDef, the third is of type IfcDerivedProfileDef.

    Figure 268 — Sectioned spine geometry

    Figure 269 illustrates the final result of the IfcSectionedSpine. The body (shown transparently) is not fully defined by the exchange definition.

    Figure 269 — Sectioned spine result

    Informal propositions

    1. none of the cross sections, after being placed by the cross section positions, shall intersect
    2. none of the cross sections, after being placed by the cross section positions, shall lie in the same plane
    3. the local origin of each cross section position shall lie at the beginning or end of a composite curve segment.
    " 5431;IfcGeometricSet;"

    Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available.

    The IfcGeometricSet is used for the exchange of shape representations consisting of (2D or 3D) points, curves, and/or surfaces, which do not have a topological structure (such as connected face sets or shells) and are not solid models (such as swept solids, CSG or Brep)

    NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.
    " 5436;IfcGeometricCurveSet;"

    Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves.

    The IfcGeometricCurveSet is used for the exchange of shape representations consisting of (2D or 3D) points and curves only.

    NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x2.
    " 5442;IfcFaceBasedSurfaceModel;"

    Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set.

    A connected face set may exist independently of a surface model.

    NOTE Corresponding STEP entity: face_based_surface_model. Please refer to ISO/IS 10303-42:1994, p. 188 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.

    Informal propositions:

    1. The connected face sets shall not overlap or intersect except at common faces, edges or vertices.
    2. The fbsm faces have dimensionality 2.
    " 5445;IfcShellBasedSurfaceModel;"

    Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell.

    A shell may exist independently of a surface model.

    NOTE Corresponding ISO 10303-42 entity: shell_based_surface_model. Please refer to ISO/IS 10303-42:1994, p. 187 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.

    Informal propositions

    1. The dimensionality of the shell based surface model is 2.
    2. The shells shall not overlap or intersect except at common faces, edges or vertices.
    " 5448;IfcBooleanClippingResult;"

    A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result.

    A clipping result is the Boolean difference between a solid (restricted to swept area solid) and a half space solid, whereas more than one difference operation can be applied to the Boolean result.

    NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type.
    HISTORY New entity in IFC Release 2.x.
    " 5468;IfcAxis2Placement2D;"

    Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this.

    If the RefDirection attribute is not given, the placement defaults to P[1] (x-axis) as [1.,0.] and P[2] (y-axis) as [0.,1.].

    NOTE  Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard.
    HISTORY  New entity in IFC Release 1.5.

    Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system.

    Figure 275 — Axis2 placement 2D

    " 5473;IfcPlacement;"

    Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation.

    Additional definition from ISO/WD SC4/WG12/N071 Part42.2 geometry_schema: A placement locates a geometric item with respect to the coordinate system of its geometric context.

    IfcPlacement is an abstract supertype not to be directly instantiated, whereas the ISO 10303-42 entity placement can be instantiated to define a placement without orientation. The derived attribute Dim has been added, see also note at IfcGeometricRepresentationItem.

    NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.0
    " 5479;IfcGeometricRepresentationItem;"

    Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of:

    • being a Cartesian point or a direction
    • referencing directly a Cartesian point or direction
    • referencing indirectly a Cartesian point or direction

    An indirect reference to a Cartesian point or direction means that a given geometric item references the Cartesian point or direction through one or more intervening geometry or topology items.

    EXAMPLE: Consider a circle. It gains its geometric position and orientation by virtue of a reference to axis2_placement (IfcAxis2Placement) that is turn references a cartesian_point (IfcCartesianPoint) and several directions (IfcDirection).
    EXAMPLE: Consider a manifold brep. A manifold_solid_brep (IfcManifoldSolidBrep) is a geometric_representation_item (IfcGeometricRepresentationItem) that through several layers of topological_representation_item's (IfcTopologicalRepresentationItem) references poly loops (IfcPolyLoop). Through additional intervening entities poly loops reference cartesian_point's (IfcCartesianPoint).

    The derivation of the dimensionality of the IfcGeometricRepresentationItem is different to ISO 10303; there is a specific derived attribute at each class that defines the dimensionality, whereas ISO 10303 does it for the representation_context and requires all geometric_representation_item's to have the same dimensionality therein.

    The definition of swept area solids as geometric representation items is different to ISO 10303; it is based on a set of predefined profiles (or cross sections), that is, a set of parameterized geometric primitives widely supported in the industry. Those profiles are used to create volumes through extrusion, revolution and cross section based sweep operations.

    NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release.
    HISTORY: New entity in IFC Release 1.5
    " 5496;IfcRepresentationItem;"

    Definition from ISO/CD 10303-43:1992: A representation item is an element of product data that participates in one or more representations or contributes to the definition of another representation item. A representation item contributes to the definition of another representation item when it is referenced by that representation item.

    NOTE  Corresponding entity in ISO 10303-43:1994: representation_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The attribute 'name' and the WR1 have not been incorporated.

    The IfcRepresentationItem is used within an IfcRepresentation (directly or indirectly through other IfcRepresentationItem's) to represent an IfcProductRepresentation. Most commonly these IfcRepresentationItem's are geometric or topological representation items, that can (but not need to) have presentation style infomation assigned.

    NOTE  The assignment of a style is only applicable to the subtypes IfcGeometricRepresentationItem, IfcMappedItem and some selected subtypes of IfcTopologicalRepresentationItem (IfcVertexPoint, IfcEdgeCurve, IfcFaceSurface).

    In case that presentation style information is applied, it can be either applied by an IfcStyledItem, or by an assignment to an IfcPresentationLayerWithStyle. If both are present, and both style assignments include the same subtype of IfcPresentationStyle, then the style assigned by IfcStyledItem takes priority.

    Figure 281 shows an instance diagram explaining the use of IfcStyledItem and IfcPresentationLayerWithStyle to apply presentation styles.

    EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles are different, IfcCurveStyle and IfcSurfaceStyle, both are applied to the geometric representation item.

    Figure 281 — Representation item style

    Figure 282 shows in instance diagram explaining the override of IfcPresentationLayerWithStyle by IfcStyledItem to apply presentation styles.

    EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles for curve style are aprovided by both, the IfcCurveStyle provided by the IfcStyledItem overrides the IfcCurveStyle provided by the IfcPresentationLayerWithStyle

    Figure 282 — Representation item style override

    HISTORY  New entity in IFC Release 2x.
    IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed.
    " 5503;IfcMappedItem;"

    Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation.

    NOTE: A mapped item is a subtype of representation item. It enables a representation to be used as a representation item in one or more other representations. The mapped item allows for the definition of a representation using other representations.

    The IfcMappedItem is the inserted instance of a source definition (to be compared with a block / shared cell / macro definition). The instance is inserted by applying a Cartesian transformation operator as the MappingTarget.

    EXAMPLE  An IfcMappedItem can reuse other mapped items (ako nested blocks), doing so the IfcRepresentationMap is based on an IfcShapeRepresentation including one or more IfcMappedItem's.
    NOTE   Corresponding ISO 10303 entity: mapped_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The definition of mapping_target (MappingTarget) has been restricted to be of the type cartesian_transformation_operator (IfcCartesianTransformationOperator).
    HISTORY  New entity in IFC Release 2x.

    Informal Propositions

    1. A mapped item shall not be self-defining by participating in the definition of the representation being mapped.
    2. The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item.
    " 5506;IfcRepresentationMap;"

    Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item.

    NOTE  Corresponding ISO 10303 entity: representation_map. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The mapping_origin (MappingOrigin) is constrained to be of type axis2_placement (IfcAxis2Placement).

    An IfcRepresentationMap defines the base definition (also referred to as block, cell or macro) called MappedRepresentation within the MappingOrigin. The MappingOrigin defines the coordinate system in which the MappedRepresentation is defined.

    The RepresentationMap is used through an IfcMappeditem in one or several IfcShapeRepresentation's. An Cartesian transformation operator can be applied to transform the MappedRepresentation into the placement coordinate system of the shape representation. The transformation of the representation map is restricted to be a Cartesian transformation mapping (translation, rotation, mirroring and scaling).

    NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations.
    HISTORY  New entity in IFC Release 2x.
    " 5511;IfcCartesianTransformationOperator;"

    Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation.

    The transformation for a point with position vector P is defined by

    P -> A + STP

    The transformation for a direction d is defined by

    d -> Td

    The transformation for a vector with orientation d and magnitude k is defined by

    d -> Td, and

    k -> Sk

    For those entities whose attributes include an axis2 placement, the transformation is applied, after the derivation, to the derived attributes p defining the placement coordinate directions. For a transformed surface, the direction of the surface normal at any point is obtained by transforming the normal, at the corresponding point, to the original surface. For geometric entities with attributes (such as the radius of a circle) which have the dimensionality of length, the values will be multiplied by S.

    For curves on surface the p curve.reference to curve will be unaffected by any transformation. The Cartesian transformation operator shall only be applied to geometry defined in a consistent system of units with the same units on each axis. With all optional attributes omitted, the transformation defaults to the identity transformation. The Cartesian transformation operator shall only be instantiated as one of its subtypes.

    NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.
    " 5521;IfcCartesianTransformationOperator2D;"

    Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring.

    NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.
    " 5527;IfcCartesianTransformationOperator2DnonUniform;"

    A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors:

    • SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor
    • Scale2: the y axis scale factor

    If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 factor is omitted, it defaults to the value of Scale (the x axis scale factor).

    NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).
    HISTORY: New entity in IFC Release 2x.
    " 5531;IfcDirection;"

    Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant.

    NOTE: The components of this entity are not normalized. If a unit vector is required it should be normalized before use.
    NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem).
    HISTORY: New entity in IFC Release 1.0
    " 5534;IfcCartesianTransformationOperator3D;"

    Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring.

    NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.
    " 5542;IfcCartesianTransformationOperator3DnonUniform;"

    A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors:

    • SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor
    • Scale2: the y axis scale factor
    • Scale3: the z axis scale factor

    If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 or the Scale3 factor is omitted, it defaults to the value of Scale (the x axis scale factor).

    NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).
    HISTORY: New entity in IFC Release 2x.
    " 5549;IfcCartesianPoint;"

    Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space.

    The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). The WR1 was added to constrain the usage of IfcCartesianPoint in the context of IFC geometry. For the purpose of defining geometry in IFC only two and three dimensional Cartesian points are used.

    NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.0
    " 5553;IfcPoint;"

    Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3.

    NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 1.5
    " 5557;IfcPointOnCurve;"

    Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve.

    NOTE: Corresponding STEP entity: point_on_curve. Please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard.
    HISTORY: New entity in Release IFC2x Edition 2.

    Informal Propositions:

    1. The value of the point parameter shall not be outside the parametric range of the curve.
    " 5561;IfcCurve;"

    Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space.

    NOTE: Corresponding ISO 10303 entity: curve, only the following subtypes have been incorporated into IFC: line as IfcLine, conic as IfcConic, bounded_curve as IfcBoundedCurve. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem).
    HISTORY: New entity in IFC Release 1.0

    Informal proposition:

    1. A curve shall be arcwise connected
    2. A curve shall have an arc length greater than zero.
    " 5569;IfcBoundedCurve;"

    Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points.

    NOTE Corresponding ISO 10303 name: bounded_curve, only the following subtypes have been incorporated into IFC: polyline as IfcPolyline, trimmed_curve as IfcTrimmedCurve, composite_curve as IfcCompositeCurve. Please refer to ISO/IS 10303-42:1994, p.44 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.0

    Informal propositions:

    1. A bounded curve has finite arc length.
    2. A bounded curve has a start point and an end point.
    " 5574;IfcCompositeCurve;"

    Definition from ISO/CD 10303-42:1992: A composite curve is a collection of curves joined end-to-end. The individual segments of the curve are themselves defined as composite curve segments. The parameterization of the composite curve is an accumulation of the parametric ranges of the referenced bounded curves. The first segment is parameterized from 0 to l1 and for i 2, the ith segment is parameterized from:

    where lk is the parametric length (i.e., difference between maximum and minimum parameter values) of the curve underlying the kth segment.

    Let T denote the parameter for the composite curve. Then, if the ith segment is not a reparameterised composite curve segment, T is related to the parameter ti; ti0 ti ti1; for the ith segment by the equation:

    if Segments[i].SameSense = TRUE;

    or by the equation:

    if Segments[i].SameSense = FALSE;

    If the segments[i] is of type reparameterised composite curve segment,

    where τ is defined at reparameterized composite curve segment (see IfcReparameterizedCompositeCurveSegment).

    Figure 279 illustrates an example of a composite curve.

    Figure 279 — Composite curve

    Consider an IfcCompositeCurve having line segment and an arc segment. The line should be parameterized:

    • IfcPolyline with start= 0.,0. end= 0.,1., SameSense= TRUE, parametric length = 1.

    The arch should be parameterized:

    • IfcTrimmedCurve with start= 180', end= 90', SameSense= FALSE, parametric length = 90.

    Then the parameterization of the composite curve is:

    • IfcCompositeCurve with 0. ≤ T ≤ 1. (line segment) and 1. ≤ T ≤ 91. (arc segment), parametric length = 91.
    NOTE Corresponding ISO 10303 entity: composite_curve, please refer to ISO/IS 10303-42:1994, p. 56 for the final definition of the formal standard. The WR2 is added to ensure consistent Dim at all segments.
    HISTORY New class in IFC Release 1.0

    Informal Propositions:

    1. The SameSense attribute of each segment correctly specifies the senses of the component curves. When traversed in the direction indicated by SameSense, the segments shall join end-to-end.
    " 5582;IfcCompositeCurveOnSurface;"

    Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface.

    There shall be at least positional continuity between adjacent segments. The parameterization of the composite curve is obtained from the accumulation of the parametric ranges of the segments. The first segment is parameterized from 0 to l1, and, for i ≥ 2, the ith segment is parameterized from

    where lk is the parametric length (that is, the difference between maximum and minimum parameter values) of the kth curve segment.

    The IfcCompositeCurveOnSurface is a collection of segments, based on p-curves. i.e. a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve segment is a special type of a composite curve segment and shall only be used to bound a surface.

    NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard.
    HISTORY New entity in IFC2x4.
    " 5586;IfcBoundaryCurve;"

    Definition from ISO/CD 10303-42:1992˙ A boundary curve is a type of bounded curve suitable for the definition of a surface boundary.

    NOTE˙ Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard.
    HISTORY˙ New entity in IFC2x4.
    " 5589;IfcOuterBoundaryCurve;"

    Definition from ISO/CD 10303-42:1992˙ This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface.

    NOTE˙ Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard.
    HISTORY˙ New entity in IFC2x4.
    " 5590;IfcSurface;"

    Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold.

    NOTE Corresponding ISO 10303 entity: surface, the following subtypes have been incorporated into IFC - elementary_surface (as IfcElementarySurface), swept_surface (as IfcSweptSurface) and bounded_surface (as IfcBoundedSurface). Please refer to ISO/IS 10303-42:1994, p. 68 for the final definition of the formal standard.

    HISTORY New class in IFC Release 1.5

    Informal proposition:

    1. A surface has non zero area.
    2. A surface is arcwise connected.
    " 5595;IfcElementarySurface;"

    Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation.

    NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.5
    " 5599;IfcPlane;"

    Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows:

    C = Position.Location
    x = Position.P[1]
    y = Position.P[2]
    z = Position.P[3] => normal to plane
    

    and the surface is parameterized as:

    where the parametric range is -∞ < u,v < ∞. In the above parameterization the length unit for the unit vectors x and y is derived from the context of the plane.

    The planar surface is an unbounded surface in the direction of x and y. Bounded planar surfaces are defined by using a subtype of IfcBoundedSurface with BasisSurface being a plane.

    NOTE A rectangular bounded planar surface can be defined by an IfcRectangularTrimmedSurface with BasisSurface being the plane and U1 = left bound in x, U2 = right bound in x, V1 = lower bound in y, V2 = upper bound in y if viewed into the direction of the negative normal. (assuming the Usense and Vsense agree to the sense of the basis surface).

    The inherited attributes are interpreted as

    • SELF\IfcElementarySurface.Position defines the location and orientation of the planar surface.
    • SELF\IfcElementarySurface.Position.Location defines a point on the planar surface.
    • SELF\IfcElementarySurface.Position.P[3] defines the normal of the planar surface.
    NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.5
    " 5600;IfcCylindricalSurface;"

    Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows:

    C = Position.Location
    x = Position.P[1]
    y = Position.P[2]
    z = Position.P[3]
    R = Radius
    

    and the surface is parameterized as:

    where the parametric range is -∞ < u,v < ∞ .

    In the above parameterization the length unit for the unit vectors z is equal to that of the radius R. In the placement coordinate system defined above, the surface is represented by the equation S = 0, where

    The positive direction of the normal to the surface at any point on the surface is given by

    , or as unit normal by

    The direction of the normal is away from the axis of the cylinder.

    The cylindrical surface is a surface unbounded in the direction of z. Bounded cylindrical surfaces are defined by using a subtype of IfcBoundedSurface with BasisSurface being a cylindrical surface.

    NOTE A bounded cylindrical surface can be defined by an IfcRectangularTrimmedSurface with BasisSurface being the cylindrical surface and U1 = 0°, U2 = 360° and V1 = lower bound in z, V2 = upper bound in z (if the plane angle measure is degree). A bounded cylindrical arc surface is provided with |U1 - U2| < 360° (assuming the Usense and Vsense agree to the sense of the basis surface).
    NOTE A non-rectangular bounded cylindrical surface, e.g. the surface of a round wall underneath a sloped roof, cab be defined by an IfcCurveBoundedSurface with IfcBoundaryCurve's, being a collection of p-curve segments. A p-curve is curve which lies on the basis of a surface and is defined in the parameter space of that surface.

    The inherited attributes are interpreted as

    • SELF\IfcElementarySurface.Position defines the location and orientation of the cylindrical surface.
    • SELF\IfcElementarySurface.Position.Location definesd a point on the axis of the cylindrical surface.
    • SELF\IfcElementarySurface.Position.P[3] defines the direction of the axis of the cylindrical surface.
    NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard.
    HISTORY New class in IFC2x4.
    " 5602;IfcAxis2Placement3D;"

    Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction.

    If the attribute values for Axis and RefDirection are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].

    NOTE  Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted.
    HISTORY  New entity in IFC Release 1.5.

    Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.

    Figure 276 — Axis2 placement 3D

    " 5611;IfcSweptSurface;"

    Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve.

    NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard.
    HISTORY: New entity in IFC Release 2x.
    " 5618;IfcSurfaceOfRevolution;"

    Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below.

    The parameterization is as follows where the curve has a parameterization l(u):

    C = AxisPosition.Location
    V = AxisPosition.Z

    In order to produce a single-value surface the a complete revolution, the curve shall be such that when expressed in a cylindrical coordinate system the curve shall be such that when expressed in a cylindrical coordinate system (r,φ ,z) centred at C with an axis V no two distinct parametric points on the curve shall have the same values for (r, z).

    For a surface of revolution the parametric range is 0 < u < 360 degree. The parameterization range for v is defined by referenced curve.

    NOTE: Corresponding ISO 10303 entity: surface_of_revolution. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x.

    Informal propositions:

    1. The surface shall not self-intersect
    2. The swept curve shall not be coincident with the axis line for any finite part of its legth.
    " 5621;IfcAxis1Placement;"

    Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z).

    NOTE  Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard.
    HISTORY  New entity in IFC Release 1.5

    Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system.

    Figure 274 — Axis1 placement

    " 5626;IfcLine;"

    Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows:

    P = Pnt
    V = Dir
    λ(u) = P + uV

    and the parametric range is:

    ∞ < u < ∞
    NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item.
    HISTORY New class in IFC Release 1.0
    " 5630;IfcVector;"

    Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector.

    NOTE: The magnitude of the vector can not be reliable calculated from the components of the Orientation attribute. This form of representation was selected to reduce problems with numerical instability. For example a vector of magnitude 2.0 mm and equally inclined to the coordinate axes could be represented with Orientation attribute of (1.0,1.0,1.0).
    NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem).
    HISTORY: New entity in IFC Release 1.0
    " 5635;IfcSurfaceOfLinearExtrusion;"

    Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u):

    V = ExtrusionAxis

    The parameterization range for v is -¥ < v < ¥ and for u it is defined by the curve parameterization.

    NOTE: Corresponding ISO 10303 entity: surface_of_linear_extrusion. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. The following adaption has been made. The ExtrusionAxis and the Direction are defined as two separate attributes in correlation to the definition of the extruded_area_solid, and not as a single vector attribute. The vector is derived as ExtrusionAxis.
    HISTORY: New entity in IFC Release 2x.

    Informal propositions:

    1. The surface shall not self-intersect
    " 5640;IfcBoundedSurface;"

    Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries.

    NOTE Corresponding ISO 10303 name: bounded_surface. Please refer to ISO/IS 10303-42:1994, p.78 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 2x
    IFC2x4 CHANGE Entity made abstract.

    Informal propositions:

    1. A bounded surface has finite non-zero surface area.
    2. A bounded surface has boundary curves.
    " 5645;IfcCurveBoundedPlane;"

    Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected.

    The IfcCurveBoundedPlane is a specialized bounded surface class that deals only with bounding basis plane surfaces. The definition varies from STEP as outer and inner boundaries are separated attributes and refer to IfcCurve. The only basis surface that is allowed is of type IfcPlane, and the implicit_outer attribute has not been incorporated, since only unbounded surfaces are used as basis surface.

    The BasisSurface is an IfcPlane that establishes the position coordinate system by SELF\IfcElementarySurface.Position. The OuterBoundary and the InnerBoundaries (if provided) shall lie on the surface of IfcPlane. Therefore the IfcCurve's establishing the outer and inner boundaries shall be:

    • either a 2D curve within the XY plane of the position coordinate sytem of IfcPlane
    • or a 3D curve with all coordinates having a z value = 0.
    NOTE Corresponding ISO 10303 entity curve_bounded_surface has been changed to meet the specific requirements of an easy representation of curve bounded planes.
    HISTORY  New entity in IFC Release 1.5
    IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange.
    " 5649;IfcRectangularTrimmedSurface;"

    Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed.

    NOTE 1 For example, 370 degrees is equivalent to 10 degrees, for those surfaces whose parametric form is defined using circular functions (sine and cosine).

    The rectangular trimmed surface inherits its parameterization directly from the basis surface and has parameter ranges from 0 to |u2 - u1| and 0 to|v2-v1|.

    NOTE 2 If the surface is closed in a given parametric direction, the values of u2 or v2 may require to be increased by the cyclic range.
    NOTE Corresponding ISO 10303 name: rectangular_trimmed_surface. Please refer to ISO/IS 10303-42:1994, p.86 for the final definition of the formal standard.
    HISTORY New class in IFC Release 2x.

    Informal propositions:

    1. The domain of the trimmed surface shall be within the domain of the surface being trimmed.
    " 5661;IfcCurveBoundedSurface;"

    Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected.

    The IfcCurveBoundedSurface is a parametric surface with boundaries defined by p-curves, that is, a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve is a special type of a composite curve segment and shall only be used to bound a surface.

    The outer boundary shall be either defined by:

    • an IfcOuterBoundaryCurve, a closed composite curve on surface for the definition of an outer boundary, then the attribute ImplicitOuter has to be set to FALSE, or
    • by the implicit boundary of the bounded surface, e.g. the u1, u2, v1, v2 of IfcRectangularTrimmedSurface< then the attribute ImplicitOuter has to be set to TRUE.
      Note that some surfaces, like IfcCylindricalSurface does not have identifiable implicit boundaries.
    NOTE Corresponding STEP entity: curve_bounded_surface. Please refer to ISO/IS 10303-42:1994, p.87 for the final definition of the formal standard.
    HISTORY New entity in IFC2x4.

    Informal Propositions

    1. Each curve in the set of Boundaries shall be closed.
    2. No two curves in the set of Boundaries shall intersect.
    3. At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve.
    " 5665;IfcBSplineSurface;"

    Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived.

    1. The symbology used here is:
      K1 = upper_index_on_u_control_points
      K2 = upper_index_on_v_control_points
      Pij = control_points
      wij = weights
      d1 = u_degree
      d2 = v_degree

    2. The control points are ordered as
      P00, P01, P02, ......, PK1(K2-1), PK1K2
      The weights, in the case of the rational subtype, are ordered similarly.

    3. For each parameter, s = u or v, if k is the upper index on the control points and d is the degree for s, the knot array is an array of (k + d + 2) real numbers [s-d, ...., sk+1], such that for all indices j in [-d, k]; sjsj+1. This array is obtained from the appropriate u_knots or v_knots list by repeating each multiple knot according to the multiplicity.

      Nid, the ith normalised B-spline basis function of degree d, is defined on the subset [si-d, ...., si+1] of this array.

    4. Let L denote the number of distinct values amongst the knots in the knot list; L will be referred to as the ‘upper index on knots’. Let mj denote the multiplicity (i.e., number of repetitions) of the jth distinct knot value. Then:
      All knot multiplicities except the first and the last shall be in the range 1, ...., d; the first and last may have a maximum value of d+1. In evaluating the basis functions, a knot u of, e.g., multiplicity 3 is interpreted as a sequence u, u, u, in the knot array.

    5. The surface form is used to identify specific quadric surface types (which shall have degree two), ruled surfaces and surfaces of revolution. As with the b-spline curve, the surface form is informational only and the spline data takes precedence.

    6. The surface is to be interpreted as follows: In the polynomial case the surface is given by the equation:
      In the rational case the surface equation is:
    NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard.
    HISTORY New entity in IFC2x4.
    " 5679;IfcBSplineSurfaceWithKnots;"

    Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types.

    All knot multiplicities except the first and the last shall be in the range 1,....,d; the first and last may have a maximum value of d + 1. In evaluating the basis functions, a knot u of, e.g., multiplicity 3 is interpreted as a sequence u, u, u, in the knot array.

    NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard.
    HISTORY New entity in IFC2x4.
    " 5692;IfcRationalBSplineSurfaceWithKnots;"

    A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values.

    The surface is to be interpreted as follows:

    σ
    NOTE: The IfcRationalBSplineSurfaceWithKnots is an entity that had been adopted from ISO 10303, Industrial automation systems and integration — Product data representation and exchange, Part 42: Integrated generic resource: Geometric and topological representation.
    NOTE: The specific subtype IfcRationalBSplineSurfaceWithKnots has been introduced to avoid the complexity of ANDOR subtype relationships in the ISO 10303-42 specification
    NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard.
    HISTORY: New entity in IFC2x4.
    " 5716;IfcCompositeCurveSegment;"

    Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve).

    The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). The IfcCompositeCurveSegment is a subtype of IfcGeometricRepresentationItem (whereas in ISO 10303-42 composite_curve_segment is not a subtype of geometric_representation_item, the proposed 2nd edition of ISO 10303-42 however proposes the subtype relationship).

    NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.0
    " 5724;IfcReparametrisedCompositeCurveSegment;"

    Definition from ISO/CD 10303-42:1992: The reparametrised composite curve segment is a special type of composite curve segment which provides the capability to re-define its parametric length without changing its geometry.

    Let l = ParamLength.

    If t0 ≤ t ≤ t1 is the parameter range of ParentCurve, the new parameter . for the reparametrised composite curve segment is given by the equation:

    if SameSense = TRUE;

    or by the equation:

    if SameSense = FALSE;

    NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard.
    HISTORY New class in IFC2x4
    " 5732;IfcPolyline;"

    Definition from ISO/CD 10303-42:1992: A polyline is a bounded curve of n - 1 linear segments, defined by a list of n points, P1, P2 ... Pn. The ith segment of the curve is parameterized as follows:

        for 1 ≤ in - 1

    where i - 1 ≤ ui and with parametric range of 0 <≤ un - 1.

    NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0
    " 5735;IfcTrimmedCurve;"

    Definition from ISO/CD 10303-42:1992: A trimmed curve is a bounded curve which is created by taking a selected portion, between two identified points, of the associated basis curve. The basis curve itself is unaltered and more than one trimmed curve may reference the same basis curve. Trimming points for the curve may be identified by:

    • parametric value
    • geometric position
    • both of the above

    At least one of these shall be specified at each end of the curve. The SenseAgreement makes it possible to unambiguously define any segment of a closed curve such as a circle. The combinations of sense and ordered end points make it possible to define four distinct directed segments connecting two different points on a circle or other closed curve. For this purpose cyclic properties of the parameter range are assumed; for example, 370 degrees is equivalent to 10 degrees.

    The IfcTrimmedCurve has a parameterization which is inherited from the particular basis curve reference. More precisely the parameter s of the trimmed curve is derived from the parameter of the basis curve as follows:

    • if SenseAgreement is TRUE: s = t - t1
    • if SenseAgreement is FALSE: s = t2 - t

    In the above equations t1 is the value given by Trim1 or the parameter value corresponding to point 1 and t2 is the value given by Trim2 or the parameter value corresponding to point 2. The resultant IfcTrimmedCurve has a parameter ranging from 0 at the first trimming point to |t2 - t1| at the second trimming point.

    NOTE In case of a closed curve, it may be necessary to increment t1 or t2 by the parametric length for consistency with the sense flag.

    NOTE Corresponding ISO 10303 entity: trimmed_curve; As a further IFC restriction, an IfcTrimmedCurve should only trim a IfcLine or IfcConic. Please refer to ISO/IS 10303-42:1994, p. 54 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.0

    Informal Propositions:

    1. Where both the parameter value and the Cartesian point exist for Trim1 and Trim2 they shall be consistent. (i.e., the BasisCurve evaluated at the parameter value shall coincide with the specified point).
    2. When a Cartesian point is specified by Trim1 or by Trim2 it shall lie on the BasisCurve.
    3. Except the case of a closed BasisCurve where both parameter 1 and parameter 2 exist, they shall be consistent with the sense flag, i.e., (sense = parameter 1 < parameter 2). Or, for every open curve where both parameter 1 and parameter 2 exist, they shall be consistent with the SenseAgreement, i.e., SenseAgreement = (parameter 1 < parameter 2).
    4. If both parameter 1 and parameter 2 exist, then parameter 1 <> parameter 2. For a closed base curve, e.g. IfcCircle or IfcEllipse, this also applies to the cyclic properties, as 360' is equal to 0', parameter 1 = 360' and parameter 2 = 0' are treated as being equal and therefore violating this proposition.
    5. When a parameter value is specified by Trim1 or Trim2 it shall lie within the parametric range of the BasisCurve.

    Additional illustration from IAI:

    The figure above shows the four arcs (dashed blue and green lines with arrow showing different orientations) that can be defined by the same BasisCurve (of type IfcCircle) and the same trimming points (given by Cartesian points and parameter values) by using different assignments to Trim1 and Trim2 and SenseAgreement.

    Note: Since the BasisCurve is closed (type IfcCircle), the exception of the informal proposition IP3 applies, i.e. the sense flag is not required to be consistent with the parameter values of Trim1 and Trim1, so the rule (sense = parameter 1 < parameter 2) may not be fulfilled.
    " 5751;IfcBSplineCurve;"

    Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type.

    Interpretation of the data is as follows:

    1. All weights shall be positive and the curve is given by

      k+1 = number of control points
      Pi = control points
      wi = weights
      d = degree

      The knot array is an array of (k+d+2) real numbers [u-d ... uk+1], such that for all indices j in [-d,k], uj <= uj+1. This array is obtained from the knot data list by repeating each multiple knot according to the multiplicity. N di, the ith normalized B-spline basis function of degree d, is defined on the subset [ui-d, ... , ui+1] of this array.

    2. Let L denote the number of distinct values among the d+k+2 knots in the knot array; L will be referred to as the 'upper index on knots'. Let mj denote the multiplicity (number of repetitions) of the jth distinct knot. Then

      All knot multiplicities except the first and the last shall be in the range 1 ... degree; the first and last may have a maximum value of degree + 1. In evaluating the basis functions, a knot u of e.g. multiplicity 3 is interpreted as a string u, u, u, in the knot array. The B-spline curve has 3 special subtypes (Note: only 1, Bezier curve, included in this IFC release) where the knots and knot multiplicities are derived to provide simple default capabilities.

    3. Logical flag is provided to indicate whether the curve self intersects or not.

    Figure 277 (from ISO 10303-42) illustrates a B-spline curve.

    Figure 277 — B-spline curve

    NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard.
    HISTORY  New entity in Release IFC2x2.
    " 5761;IfcBSplineCurveWithKnots;"

    Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types.

    Let L denote the number of distinct values amongst the d+k+2 knots in the knot list; L will be referred to as the ‘upper index on knots’. Let mj denote the multiplicity (i.e., number of repetitions) of the jth distinct knot. Then:

    All knot multiplicities except the first and the last shall be in the range 1,...,d; the first and last may have a maximum value of d + 1. In evaluating the basis functions, a knot u of, e.g., multiplicity 3 is interpreted as a sequence u, u, u,; in the knot array.

    NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard.
    HISTORY New entity in IFC2x4.
    " 5769;IfcRationalBSplineCurveWithKnots;"

    A rational B-spline curve with knots is a B-spline curve described in terms of control points and basic functions. It describes weights in addition to the control points defined at the supertype IfcBSplineCurve.

    NOTE: The IfcRationalBSplineCurveWithKnots is an entity that had been adopted from ISO 10303, Industrial automation systems and integration — Product data representation and exchange, Part 42: Integrated generic resource: Geometric and topological representation.
    NOTE: The specific subtype IfcRationalBSplineCurveWithKnots has been introduced to avoid the complexity of ANDOR subtype relationships in the ISO 10303-42 specification

    All weights shall be positive and the curve is given by:

    where

    k+1 number of control points
    Pi control points
    wi weights
    d degree
    NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard.
    HISTORY  New entity in IFC2x4.
    " 5781;IfcConic;"

    Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system.

    NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard.
    HISTORY New class in IFC Release 1.0
    " 5785;IfcCircle;"

    Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows:

     
    C = SELF\IfcConic.Position.Location
    x = SELF\IfcConic.Position.P[1]
    y = SELF\IfcConic.Position.P[2]
    z = SELF\IfcConic.Position.P[3]
    R = Radius

    and the circle is parameterized as

    The parameterization range is 0 £ u £2p (or 0 £u £ 360 degree). In the placement coordinate system defined above, the circle is the equation C = 0, where

    The positive sense of the circle at any point is in the tangent direction, T, to the curve at the point, where

    NOTE  A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve.
    NOTE  Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0

    Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system.

    Figure 278 — Circle geometry

    " 5787;IfcEllipse;"

    Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows:

    C  = SELF\IfcConic.Position.Location 
    x  = SELF\IfcConic.Position.P[1] 
    y  = SELF\IfcConic.Position.P[2] 
    z  = SELF\IfcConic.Position.P[3] 
    R1 = SemiAxis1
    R2 = SemiAxis2

    and the ellipse is parameterized as:

    The parameterization range is 0 £ u £ 2p (or 0 £ u £ 360 degree). In the placement coordinate system defined above, the ellipse is the equation C = 0, where

    The positive sense of the ellipse at any point is in the tangent direction, T, to the curve at the point, where

    The inherited Position.Location from IfcConic is the center of the IfcEllipse, and the inherited Position.P[1] from IfcConic the direction of the SemiAxis1.

    NOTE  Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard.
    HISTORY  New class in IFC Release 1.0

    Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system.

    Figure 280 — Ellipse geometry

    " 5790;IfcOffsetCurve2D;"

    Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature.

    NOTE: The offset curve 2d may differ in nature from the basis curve; the offset of a non self- intersecting curve can be self-intersecting. Care should be taken to ensure that the offset to a continuous curve does not become discontinuous.

    The offset curve 2d takes its parameterization from the basis curve. The offset curve 2d is parameterized as

    where T is the unit tangent vector to the basis curve C(u) at parameter value u, and d is distance. The underlying curve shall be two-dimensional.

    NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 2.x
    " 5795;IfcOffsetCurve3D;"

    Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V.

    NOTE: The offset curve 3d may differ in nature from the basis curve; the offset of a non self- intersecting curve can be self-intersecting. Care should be taken to ensure that the offset to a continuous curve does not become discontinuous.

    The offset curve 3d takes its parameterization from the basis curve. The offset curve 3d is parameterized as

    where T is the unit tangent vector to the basis curve C(u) at parameter value u, and d is distance. The underlying curve shall be three-dimensional.

    NOTE Corresponding ISO 10303 entity: offset_curve_3d, Please refer to ISO/IS 10303-42:1994, p.66 for the final definition of the formal standard.
    HISTORY New entity in IFC Release 2.x

    Informal propositions:

    1. At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector.
    " 5801;IfcPCurve;"

    Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates.

    The basis curve is only defined within the parametric range of the surface.

    NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard.
    The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context.
    HISTORY New class in IFC2x4.
    " 5805;IfcPointOnSurface;"

    Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values.

    NOTE: Corresponding ISO 10303 entity: point_on_surface. Please refer to ISO/IS 10303-42:1994, p. 24 for the final definition of the formal standard.

    HISTORY: New entity in Release IFC2x Edition 2.

    Informal Propositions:

    1. The parametric values specified for u and v shall not be outside the parametric range of the basis surface.
    "