Class Ifc4::IfcDistributionControlElementType

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4::IfcDistributionControlElementType : public Ifc4::IfcDistributionElementType

The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).

Distribution control element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.

The occurrences of the IfcDistributionControlElementType are represented by instances of IfcDistributionControlElement or its subtypes.

HISTORY: New entity in IFC Release 2x2.

Declaration Use Definition The IfcDistributionControlElementType may be declared within a project or project library using IfcRelDeclares where RelatingContext refers to the project or library and RelatedDefinitions includes the element type. Inclusion within IfcProject indicates the type is editable within the direct project and may be available to other referencing projects that may incorporate the type. Inclusion within IfcProjectLibrary indicates the type is incorporated from a referenced project. Default units and coordinate systems (used for representations, materials, and property sets) are indicated by the declaring project or library.

Classification Use Definition The IfcDistributionControlElementType may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Classifications may refer to industry standards such as MasterFormat, OmniFormat, or UniFormat. Classifications may also refer to organization-specific, project-specific, or system-specific designations. Classification reference identification schemes are described by IfcClassification.ReferenceTokens.

Document Use Definition The IfcDistributionControlElementType may be documented using IfcRelAssociatesDocument where RelatingDocument refers to an IfcDocumentReference indicating content within a document, or IfcDocumentInformation indicating an entire document. Document information may refer to arbitrary attachments such as text or multimedia, while document references may refer to items within particular formats (such as XML element IDs) where there is need to synchronize document information with model information. Document reference identification schemes depend on the particular document format.

Library Use Definition The IfcDistributionControlElementType may be published to a model server using IfcRelAssociatesLibrary where RelatingLibrary refers to an IfcLibraryReference indicating the unique identification within the published project. If the published project is IFC format, then IfcLibraryReference.Identification shall match IfcRoot.GlobalID of the published (master) project, using the same encoding as described for IfcGloballyUniqueId. Multiple library references may be provided to indicate alternate names and descriptions for particular languages. If the element type is declared within IfcProject, then IfcLibraryInformation.Location and IfcLibraryInformation.Version indicate the URL and version as last published. If the element type is declared within IfcProjectLibrary, then the library information indicates the location and version of the definition as last retrieved.

Composition Use Definition The IfcDistributionControlElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a thermostat type may be decomposed into temperature sensors. Standard types for composition are defined at occurrences for subtypes.

Connection Use Definition The IfcDistributionControlElementType may be connected to other objects as follows using the indicated relationship:

IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates port definitions on the element to be instantiated at occurrences. Standard port names, types, and directions are defined at occurrences for subtypes.

Assignment Use Definition The IfcDistributionControlElementType may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionControlElementType and RelatedObjects contains one or more objects of the following types:

IfcTaskType: Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types. IfcProcedureType: Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type. IfcEventType: Indicates event types available to be raised by occurrences of the element, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.

Material Use Definition The material of the IfcDistributionControlElementType is defined using one of the following entities:

IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.

IfcMaterial: For elements comprised of a single material, this indicates the material.

The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.

Representation Use Definition The following shape representations are supported for subtypes of IfcDistributionControlElementType, distinguished by IfcShapeRepresentation.RepresentationIdentifier:

‘Footprint’: Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of ‘GeometricCurveSet’ and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.

‘Body’: Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of ‘SurfaceModel’, ‘SolidModel’, or any solid model specializations including ‘Brep’, ‘AdvancedBrep’, ‘SweptSolid’, ‘AdvancedSweptSolid’, ‘CSG’, ‘Clipping’, or ‘SectionedSpine’).

‘Clearance’: Represents the 3D clearance volume of the item having RepresentationType of ‘Surface3D’. Such clearance region indicates space that should not intersect with the ‘Body’ representation between element occurrences, though may intersect with the ‘Clearance’ representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose.

NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.

Subclassed by Ifc4::IfcActuatorType, Ifc4::IfcAlarmType, Ifc4::IfcControllerType, Ifc4::IfcFlowInstrumentType, Ifc4::IfcProtectiveDeviceTrippingUnitType, Ifc4::IfcSensorType, Ifc4::IfcUnitaryControlElementType

Public Functions

const IfcParse::entity &declaration() const
IfcDistributionControlElementType(IfcEntityInstanceData *e)
IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)

Public Static Functions

const IfcParse::entity &Class()