Class Ifc4x1::IfcTypeProduct¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcTypeObject
(Class Ifc4x1::IfcTypeObject)
Derived Types¶
public Ifc4x1::IfcDoorStyle
(Class Ifc4x1::IfcDoorStyle)public Ifc4x1::IfcElementType
(Class Ifc4x1::IfcElementType)public Ifc4x1::IfcSpatialElementType
(Class Ifc4x1::IfcSpatialElementType)public Ifc4x1::IfcWindowStyle
(Class Ifc4x1::IfcWindowStyle)
Class Documentation¶
-
class
Ifc4x1
::
IfcTypeProduct
: public Ifc4x1::IfcTypeObject¶ IfcTypeProduct defines a type definition of a product without being already inserted into a project structure (without having a placement), and not being included into 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 occurrencesof that product type.The type occurrence relationship is realized using the objectified relationship IfcRelDefinesByType.
NOTE 1 The product representations are defined as representation maps, which gets assigned by a product instance through the representation item(s) being an IfcShapeRepresentation and having Items of typeIfcMappedItem. NOTE 2 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, and 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.
HISTORY New entity in IFC Release 2x.
IFC2x4 CHANGE The entity IfcTypeProduct shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC.
Geometry use definition 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 10 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.
Figure 10 — Product type geometry with single placement
Figure 11 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.
Figure 11 — Product type geometry with multiple placement
Subclassed by Ifc4x1::IfcDoorStyle, Ifc4x1::IfcElementType, Ifc4x1::IfcSpatialElementType, Ifc4x1::IfcWindowStyle
Public Types
-
typedef IfcTemplatedEntityList<IfcTypeProduct>
list
¶
Public Functions
-
bool
hasRepresentationMaps
() const¶ Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct.
-
IfcTemplatedEntityList<::Ifc4x1::IfcRepresentationMap>::ptr
RepresentationMaps
() const¶ 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.
-
void
setRepresentationMaps
(IfcTemplatedEntityList<::Ifc4x1::IfcRepresentationMap>::ptr v)¶
-
bool
hasTag
() const¶ Whether the optional attribute Tag is defined for this IfcTypeProduct.
-
std::string
Tag
() const¶ 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.
-
void
setTag
(std::string v)¶
-
IfcTemplatedEntityList<IfcRelAssignsToProduct>::ptr
ReferencedBy
() const¶
-
IfcTypeProduct
(IfcEntityInstanceData *e)¶
-
IfcTypeProduct
(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag)¶
-
typedef IfcTemplatedEntityList<IfcTypeProduct>