The IfcProduct is an abstract representation of any object that relates to a geometric or spatial context. Subtypes of IfcProduct
usually hold a shape representation and an 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 IFC1.0
Generic 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:
- Having a control applied: assigned using
IfcRelAssignsToControl linking the IfcProduct to an
- An example of this
relationship is the assignment of a performance history to a
- Being assigned to a process: assigned using
IfcRelAssignsToProcess linking the IfcProduct to an
- An example of this
relationship is the assignment of products like wall, slab,
column to a contruction task for construction
- Being assigned to a resource: assigned using
IfcRelAssignsToResource linking the IfcProduct to
- An example of this
relationship is the assignment of products to a construction
resource that consumes the product.
Generic 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.
NOTE See IfcTypeProduct for how to use a
common geometric representation and IfcRelDefinesByType
for using and overriding common properties.
Generic 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).
XSD Specification: <xs:element name="IfcProduct" type="ifc:IfcProduct" abstract="true" substitutionGroup="ifc:IfcObject" nillable="true"/>
<xs:complexType name="IfcProduct" abstract="true">
<xs:element name="ObjectPlacement" type="ifc:IfcObjectPlacement" nillable="true" minOccurs="0"/>
<xs:element name="Representation" type="ifc:IfcProductRepresentation" nillable="true" minOccurs="0"/>
|PlacementForShapeRepresentation|| : ||(EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(SIZEOF(QUERY(temp <* Representation.Representations | 'IFCREPRESENTATIONRESOURCE.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0))
|ObjectPlacement|| : ||Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system.|
|Representation|| : ||Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement.|
|ReferencedBy|| : ||
Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product.
|PlacementForShapeRepresentation|| : ||
If a Representation is given being an IfcProductDefinitionShape, then also an ObjectPlacement has to be given. The ObjectPlacement defines the object coordinate system in which the geometric representation items of the IfcProductDefinitionShape are founded.
NOTE If the Representation of several subtypes of IfcProduct have the same coordinate system it is permitted to share an instance of IfcObjectPlacement.
Link to this page