5.1.3.8 IfcProduct

Produit
Produkt (allgemein)

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:

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:complexContent>
   <xs:extension base="ifc:IfcObject"/>
  </xs:complexContent>
 </xs:complexType>

EXPRESS Specification:

ENTITY IfcProduct
ABSTRACT SUPERTYPE OF(ONEOF(IfcAnnotation, IfcElement, IfcPort, IfcSpatialElement))
SUBTYPE OF (IfcObject);
ObjectPlacement : OPTIONAL IfcStrippedOptional;
Representation : OPTIONAL IfcStrippedOptional;
INVERSE
WHERE
PlacementForShapeRepresentation : (EXISTS(Representation) AND EXISTS(ObjectPlacement)) OR (EXISTS(Representation) AND (SIZEOF(QUERY(temp <* Representation.Representations | 'IFCREPRESENTATIONRESOURCE.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0)) OR (NOT(EXISTS(Representation)));
END_ENTITY;

Attribute Definitions:

Formal Propositions:

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.

Inheritance Graph:

ENTITY IfcProduct
ENTITY IfcRoot
GlobalId : IfcGloballyUniqueId;
OwnerHistory : OPTIONAL IfcOwnerHistory;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
ENTITY IfcObjectDefinition
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy : SET OF IfcRelAggregates FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations : SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject
ObjectType : OPTIONAL IfcStrippedOptional;
INVERSE
IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
IsDefinedBy : SET OF IfcRelDefinesByProperties FOR RelatedObjects;
ENTITY IfcProduct
ObjectPlacement : OPTIONAL IfcStrippedOptional;
Representation : OPTIONAL IfcStrippedOptional;
INVERSE
END_ENTITY;

Link to this page  Link to this page