IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

5.1.3.48 IfcTypeProduct

RV ⓘ
AbV ⓘ

5.1.3.48.1 Semantic 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 sets 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.

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

  • for geometric representations, a Cartesian transformation operator can be applied at the occurrence level.
  • 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.

5.1.3.48.2 Entity inheritance

5.1.3.48.3 Attributes

# Attribute Type Description
IfcRoot (4)
IfcObjectDefinition (7)
IfcTypeObject (3)
Click to show 14 hidden inherited attributes
IfcTypeProduct (3)
7 RepresentationMaps OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap

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.

8 Tag OPTIONAL IfcLabel

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.

ReferencedBy SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct

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.

Table 5.1.3.48.C

5.1.3.48.4 Formal propositions

Name Description
ApplicableOccurrence

The product type (or style), if assigned to an object, shall only be assigned to an object being a sub type of IfcProduct.

NOT(EXISTS(SELF\IfcTypeObject.Types[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.Types[1].RelatedObjects |
NOT('IFC4X3_DEV_738df036.IFCPRODUCT' IN TYPEOF(temp)))
) = 0)
Table 5.1.3.48.D

5.1.3.48.5 Property sets

  • Pset_Risk
    • RiskName
    • RiskType
    • NatureOfRisk
    • RiskAssessmentMethodology
    • UnmitigatedRiskLikelihood
    • UnmitigatedRiskConsequence
    • UnmitigatedRiskSignificance
    • MitigationPlanned
    • MitigatedRiskLikelihood
    • MitigatedRiskConsequence
    • MitigatedRiskSignificance
    • MitigationProposed
    • AssociatedProduct
    • AssociatedActivity
    • AssociatedLocation
  • Pset_Tolerance
    • ToleranceDescription
    • ToleranceBasis
    • OverallTolerance
    • HorizontalTolerance
    • OrthogonalTolerance
    • VerticalTolerance
    • PlanarFlatness
    • HorizontalFlatness
    • ElevationalFlatness
    • SideFlatness
    • OverallOrthogonality
    • HorizontalOrthogonality
    • OrthogonalOrthogonality
    • VerticalOrthogonality
    • OverallStraightness
    • HorizontalStraightness
    • OrthogonalStraightness
    • VerticalStraightness
  • Pset_Uncertainty
    • UncertaintyBasis
    • UncertaintyDescription
    • HorizontalUncertainty
    • LinearUncertainty
    • OrthogonalUncertainty
    • VerticalUncertainty

5.1.3.48.6 Concept usage

Concept Usage Description
IfcRoot (2)
IfcObjectDefinition (9)
IfcTypeObject (2)
Click to show 13 hidden inherited concepts
IfcTypeProduct (7)
Product Type Shape General

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 a Cartesian transformation operator to transform the IfcRepresentationMap into the object coordinate system of the product occurrence.

Figure 5.1.3.48.A 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 5.1.3.48.A — Product type geometry with single placement

Figure 5.1.3.48.B illustrates an example of referencing a representation multiple times 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 5.1.3.48.B — Product type geometry with multiple placement
Product Type Geometric Representation General

No description available.

Property Sets for Objects General

This concept can be applied to the following resources:

Type Body AdvancedBrep Geometry General

No description available.

Type Body Brep Geometry General

No description available.

Type Body CSG Geometry General

No description available.

Type Body Geometry General

No description available.

Table 5.1.3.48.E

5.1.3.48.7 Formal representation

ENTITY IfcTypeProduct
SUPERTYPE OF (ONEOF
(IfcElementType
,IfcSpatialElementType))
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('IFC4X3_DEV_738df036.IFCPRODUCT' IN TYPEOF(temp)))
) = 0);
END_ENTITY;

5.1.3.48.8 References

Edit on Github


Is this page difficult to understand? Let us know!

5.1.3.48.9 Changelog

5.1.3.48.9.1 IFC4

  • inverse attribute, ReferencedBy
  • where rule, ApplicableOccurrence
  • where rule, WR41

5.1.3.48.9.2 IFC4.2

5.1.3.48.9.3 IFC4.3_DEV_738df036