Class Ifc4x1::IfcDistributionPort

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcDistributionPort : public Ifc4x1::IfcPort

A distribution port is an inlet or outlet of a product through which a particular substance may flow.

Distribution ports are used for passage of solid, liquid, or gas substances, as well as electricity for power or communications. Flow segments (pipes, ducts, cables) may be used to connect ports across products. Distribution ports are defined by system type and flow direction such that for two ports to be connected, they must share the same system type and have opposite flow directions (one side being a SOURCE and the other being a SINK). Ports are similar to openings in that they do not have any visible geometry; such geometry is captured at the shape representation of the enclosing element or element type. Ports may have shape representations that indicate the position, orientation, and cross-section of the connection.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcPort and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity:

Pset_DistributionPortCommon

The following property set definitions are applicable to this entity according to the PredefinedType attribute:

Pset_DistributionPortTypeAirConditioning (AIRCONDITIONING) Pset_DistributionPortTypeAudioVisual (AUDIOVISUAL) Pset_DistributionPortTypeData (DATA) Pset_DistributionPortTypeDomesticColdWater (DOMESTICCOLDWATER) Pset_DistributionPortTypeDomesticHotWater (DOMESTICHOTWATER) Pset_DistributionPortTypeDrainage (DRAINAGE) Pset_DistributionPortTypeElectrical (ELECTRICAL) Pset_DistributionPortTypeFireProtection (FIREPROTECTION) Pset_DistributionPortTypeGas (GAS) Pset_DistributionPortTypeHeating (HEATING) Pset_DistributionPortTypeOil (OIL) Pset_DistributionPortTypeSewage (SEWAGE) Pset_DistributionPortTypeSignal (SIGNAL) Pset_DistributionPortTypeTelephone (TELEPHONE)

The following property set definitions are applicable to IfcPerformanceHistory, for which objects are assigned:

Pset_DistributionPortPHistoryAirConditioning (AIRCONDITIONING) Pset_DistributionPortPHistoryControl (CONTROL) Pset_DistributionPortPHistoryData (DATA) Pset_DistributionPortPHistoryElectrical (ELECTRICAL) Pset_DistributionPortPHistoryGas (GAS) Pset_DistributionPortPHistoryHeating (HEATING) Pset_DistributionPortPHistoryOil (OIL) Pset_DistributionPortPHistorySignal (SIGNAL)

Material Use Definition The material of the IfcDistributionPort is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Media’: The solid, liquid, or gas media passing through the port.

Composition Use Definition The IfcDistributionPort may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionPort and RelatedObjects contains one or more components. Composition use is defined for the following predefined types:

AUDIOVISUAL: May contain IfcDistributionPort components having PredefinedType AUDIOVISUAL. If needed, audio-visual ports may be aggregated into specific streams (channels).CONTROL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, control ports may be aggregated into signal lines for indicating pinout specification.DATA: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, data ports may be aggregated into signal lines for indicating pinout specification.ELECTRICAL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, electrical ports may be aggregated into modulated signals for data or lighting control.ELECTROACCOUSTIC: May contain IfcDistributionPort components having PredefinedType ELECTROACCOUSTIC. If needed, speaker ports may be aggregated into streams (channels) for each speaker.TELEPHONE: May contain IfcDistributionPort components having PredefinedType TELEPHONE. If needed, telephone ports may be aggregated for each line.

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

IfcDistributionElement (IfcRelConnectsPortToElement) : Indicates the host element or element type containing the port. IfcDistributionPort (IfcRelConnectsPorts) : Indicates a connection to another port having the same type and opposite flow direction.

For port connections between elements, the RelatingPort is set to a port having FlowDirection=SOURCE and the RelatedPort is set to a port having FlowDirection=SINK.

For aggregation scenarios, ports on a device may be mapped to aggregated devices within, in which case ports on the outer device indicate a single FlowDirection but have an additional connection internally to a port on an aggregated inner device.

Refer to

IfcUnitaryEquipment for an example.

Figure 149 illustrates distribution port connectivity.

Figure 149 — Distribution port connectivity

Assignment Use Definition The IfcDistributionPort may be assigned to the following entities using relationships as indicated:

IfcDistributionSystem (IfcRelAssignsToGroup): Indicates a system containing interconnected devices. IfcPerformanceHistory (IfcRelAssignsToControl): Indicates realtime or historical infomation captured for the device.

The IfcDistributionPort may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionPort and RelatedObjects contains one or more objects of the following types: IfcDistributionSystem: Indicates a system that is hosted by the port, as the origination.

Representation Use Definition The representation of IfcDistributionPort is given by IfcProductDefinitionShape, allowing multiple shape and topology representations. Included are:

IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal.

‘Body’: The shape of the port.

Public Types

typedef IfcTemplatedEntityList<IfcDistributionPort> list

Public Functions

bool hasFlowDirection() const

Whether the optional attribute FlowDirection is defined for this IfcDistributionPort.

::Ifc4x1::IfcFlowDirectionEnum::Value FlowDirection() const

Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource.

void setFlowDirection(::Ifc4x1::IfcFlowDirectionEnum::Value v)
bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcDistributionPort.

::Ifc4x1::IfcDistributionPortTypeEnum::Value PredefinedType() const

Enumeration that identifies the system type. If a system type is defined, the port may only be connected to other ports having the same system type.

void setPredefinedType(::Ifc4x1::IfcDistributionPortTypeEnum::Value v)
bool hasSystemType() const

Whether the optional attribute SystemType is defined for this IfcDistributionPort.

::Ifc4x1::IfcDistributionSystemEnum::Value SystemType() const
void setSystemType(::Ifc4x1::IfcDistributionSystemEnum::Value v)
const IfcParse::entity &declaration() const
IfcDistributionPort(IfcEntityInstanceData *e)
IfcDistributionPort(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_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, boost::optional<::Ifc4x1::IfcFlowDirectionEnum::Value> v8_FlowDirection, boost::optional<::Ifc4x1::IfcDistributionPortTypeEnum::Value> v9_PredefinedType, boost::optional<::Ifc4x1::IfcDistributionSystemEnum::Value> v10_SystemType)

Public Static Functions

const IfcParse::entity &Class()