IfcTypeProduct

Natural language names
Produkt (allgemein) - Typ
Type Product
Définition d'un type de produit
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcTypeProduct
      OwnerHistoryMODIFIEDInstantiation changed to OPTIONAL.
      ApplicableOccurrenceMODIFIEDType changed from IfcLabel to IfcIdentifier.
Semantic definitions at the entity
Entity definition

IfcTypeProduct defines a type definition of a product without being already inserted into a project structure (without having a placement), and not being included in 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  The product representations are defined as representation maps, which may be assigned by a product instance through the representation item(s) being an IfcShapeRepresentation and having Items of type IfcMappedItem.

The representations at the occurrence level (represented by subtypes of IfcProduct) can override the specific representations at the type level:

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

HISTORY  New entity in IFC2x.
IFC4 CHANGE  The entity IfcTypeProduct shall not be instantiated from IFC4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC.
Attribute definitions
#AttributeTypeCardinalityDescription G
7RepresentationMapsIfcRepresentationMap? L[1:?] List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given.X
8TagIfcLabel? The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level.X
ReferencedByIfcRelAssignsToProduct
@RelatingProduct
S[0:?]Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product type.
IFC4 CHANGE  New inverse relationship.
X
Formal Propositions
RuleDescription
ApplicableOccurrenceThe product type (or style), if assigned to an object, shall only be assigned to object being a sub type of IfcProduct.
Inherited definitions from supertypes
Entity inheritance IfcDoorStyle IfcElementType IfcSpatialElementType IfcWindowStyle IfcTypeObject IfcObjectDefinition IfcRoot
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcRoot
1GlobalIdIfcGloballyUniqueId Assignment of a globally unique identifier within the entire software world. X
2OwnerHistoryIfcOwnerHistory? Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,
NOTE  only the last modification in stored - either as addition, deletion or modification.
IFC4 CHANGE  The attribute has been changed to be OPTIONAL.
X
3NameIfcLabel? Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. X
4DescriptionIfcText? Optional description, provided for exchanging informative comments.X
IfcObjectDefinition
HasAssignmentsIfcRelAssigns
@RelatedObjects
S[0:?]Reference to the relationship objects, that assign (by an association relationship) other subtypes of IfcObject to this object instance. Examples are the association to products, processes, controls, resources or groups.X
NestsIfcRelNests
@RelatedObjects
S[0:1]References to the decomposition relationship being a nesting. It determines that this object definition is a part within an ordered whole/part decomposition relationship. An object occurrence or type can only be part of a single decomposition (to allow hierarchical strutures only).
IFC4 CHANGE  The inverse attribute datatype has been added and separated from Decomposes defined at IfcObjectDefinition.
X
IsNestedByIfcRelNests
@RelatingObject
S[0:?]References to the decomposition relationship being a nesting. It determines that this object definition is the whole within an ordered whole/part decomposition relationship. An object or object type can be nested by several other objects (occurrences or types).
IFC4 CHANGE  The inverse attribute datatype has been added and separated from IsDecomposedBy defined at IfcObjectDefinition.
X
HasContextIfcRelDeclares
@RelatedDefinitions
S[0:1]References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object.
IFC4 CHANGE  The inverse attribute datatype has been added.
X
IsDecomposedByIfcRelAggregates
@RelatingObject
S[0:?]References to the decomposition relationship being an aggregation. It determines that this object definition is whole within an unordered whole/part decomposition relationship. An object definitions can be aggregated by several other objects (occurrences or parts).
IFC4 CHANGE  The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
X
DecomposesIfcRelAggregates
@RelatedObjects
S[0:1]References to the decomposition relationship being an aggregation. It determines that this object definition is a part within an unordered whole/part decomposition relationship. An object definitions can only be part of a single decomposition (to allow hierarchical strutures only).
IFC4 CHANGE  The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
X
HasAssociationsIfcRelAssociates
@RelatedObjects
S[0:?]Reference to the relationship objects, that associates external references or other resource definitions to the object.. Examples are the association to library, documentation or classification.X
IfcTypeObject
5ApplicableOccurrenceIfcIdentifier? The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used:
  • The IFC entity name of the applicable occurrence using the IFC naming convention, CamelCase with IFC prefix
  • It can be optionally followed by the predefined type after the separator "/" (forward slash), using uppercase
  • If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string.
EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'.
X
6HasPropertySetsIfcPropertySetDefinition? S[1:?] Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type.
IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET.
X
TypesIfcRelDefinesByType
@RelatingType
S[0:1]Reference to the relationship IfcRelDefinedByType and thus to those occurrence objects, which are defined by this type.X
IfcTypeProduct
7RepresentationMapsIfcRepresentationMap? L[1:?] List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given.X
8TagIfcLabel? The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level.X
ReferencedByIfcRelAssignsToProduct
@RelatingProduct
S[0:?]Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product type.
IFC4 CHANGE  New inverse relationship.
X
Definitions applying to General Usage

 Instance diagram


Concept usage

Product Type Shape

The Product Type Shape concept applies to this entity.

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 139 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.

representation map

Figure 139 — Product type geometry with single placement

Figure 140 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.

representation map

Figure 140 — Product type geometry with multiple placement



mvdXML Specification
<?xml version="1.0"?>
<ConceptRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="64bd1caf-067c-481c-90ad-4f9bbdb95439" name="IfcTypeProduct" status="sample" applicableRootEntity="IfcTypeProduct">
  <Applicability uuid="00000000-0000-0000-0000-000000000000" status="sample">
    <Template ref="e278e46e-1074-44dc-88df-73fd8f752d25" />
    <TemplateRules operator="and" />
  </Applicability>
  <Concepts>
    <Concept uuid="19f4b644-fc54-492a-8623-a9a6d1e4a51b" name="Product Type Shape" status="sample" override="false">
      <Template ref="80f88bec-0436-4f70-a42a-c04705656a81" />
    </Concept>
  </Concepts>
</ConceptRoot>
Concept inheritance

#ConceptTemplateModel View
IfcRoot
IdentitySoftware IdentityGeneral Usage
Revision ControlRevision ControlGeneral Usage
IfcObjectDefinition
Classification AssociationClassification AssociationGeneral Usage
IfcTypeProduct
Product Type ShapeProduct Type ShapeGeneral Usage
Formal representations
XML Specification
 <xs:element name="IfcTypeProduct" type="ifc:IfcTypeProduct" substitutionGroup="ifc:IfcTypeObject" nillable="true"/>
 <xs:complexType name="IfcTypeProduct">
  <xs:complexContent>
   <xs:extension base="ifc:IfcTypeObject">
    <xs:sequence>
     <xs:element name="RepresentationMaps" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcRepresentationMap" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcRepresentationMap"/>
       <xs:attribute ref="ifc:cType" fixed="list-unique"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="Tag" type="ifc:IfcLabel" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcTypeProduct
 SUPERTYPE OF(ONEOF(IfcDoorStyle, IfcElementType, IfcSpatialElementType, IfcWindowStyle))
 SUBTYPE OF (IfcTypeObject);
  RepresentationMaps : OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap;
  Tag : OPTIONAL IfcLabel;
 INVERSE
  ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct;
 WHERE
  ApplicableOccurrence : NOT(EXISTS(SELF\IfcTypeObject.Types[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.Types[1].RelatedObjects |
NOT('IFCKERNEL.IfcProduct' IN TYPEOF(temp)))
) = 0);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcProductSelect

Link to this page  Link to this page