The schema IfcKernel defines the most abstract part or core part of the specification. It captures general constructs, that are basically founded by their different semantic meaning in common understanding of an object model, like object, property and relationship. Those are then specialized into non-AEC/FM specific constructs, like product, process, control and resource, which form the main entry points for the next level within the schema architecture, the Core Extension layer.
The IfcKernel also specifies the basic attributes and relationships, such as relative location of products in space, sequence of processes in time, or general purpose grouping and nesting mechanism. It also lays the foundation of extensibility of specification by providing:
Each entity defined outside of the Resource layer of the schema architecture inherits directly or indirectly from the IfcRoot entity. IfcRoot provides for the fundamental capabilities of:
There are three fundamental entity types in the IFC model, which are all derived from IfcRoot. They form the first level of specialization within the entity hierarchy.
An object definition is the abstract supertype, IfcObjectDefinition, and stands for all 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 resources such as labor resource, or for actors such as persons involved in the design process.
Object definitions are specialized into object occurrences, IfcObject, indicating any individual object in space, time or another representation context, into object types, IfcTypeObject indicating the common definitions as a type, or article that are identical for all object occurrences, and basic project or library context, IfcContext.
An object and object type gets its information from the relationships in which it is involved. This includes the definition relationship to property information, or the typing relationship to assign an underlying object type to an object.
Relationships are predominately being defined as the objectified relationship, IfcRelationship. The objectified relationship handles relationships among objects. This allows to keep relationship specific properties directly at the relationship object and to uncouple the relationship semantics from the object attributes.
The introduction of the objectified relationships also allows the development of a separate subtype tree for relationship semantics.
The property definition, IfcPropertyDefinition, is the generalization of all characteristics of objects. Shared among multiple object instances, it reflects the specific information of an object type, but it may also represent the occurrence information of the actual object in the project context, if it is assigned only to a single object instance.
The property definition gets applied to the objects using the concept of relationships.
There are six fundamental entity types in the IFC model, which are all derived from IfcObject.
There are sixfundamental relationship types in the IFC model, which are all derived from IfcRelationship. A relationship may have an informal purpose descriptor assigned, which denotes a particular purpose of applying this relationship.
There are two fundamental concepts of property definition types, which are all derived from IfcPropertyDefinition.
HISTORY New schema in IFC1.5