Class Ifc4::IfcCableSegment

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcCableSegment : public Ifc4::IfcFlowSegment

A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service.

HISTORY New entity in IFC2x4

Type Use Definition IfcCableSegment defines the occurrence of any cable segment; common information about cable segment types is handled by IfcCableSegmentType. The IfcCableSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableSegmentType has ports or aggregated elements, such objects are reflected at the IfcCableSegment occurrence using the IfcRelDefinesByObject relationship.

Property 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. Property sets may also be specified at the IfcCableSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcCableSegment override the properties defined at IfcCableSegmentType. Refer to the documentation at the supertype IfcFlowSegment and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: (All Types)

Pset_CableSegmentTypeCommon (PSET_TYPEDRIVENOVERRIDE)

BUSBARSEGMENT

Pset_CableSegmentTypeBusBarSegment (PSET_TYPEDRIVENOVERRIDE)

CABLESEGMENT

Pset_CableSegmentTypeCableSegment (PSET_TYPEDRIVENOVERRIDE)

CONDUCTORSEGMENT

Pset_CableSegmentTypeConductorSegment (PSET_TYPEDRIVENOVERRIDE)

CORESEGMENT

Pset_CableSegmentTypeCoreSegment (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_CableSegmentBaseQuantities

Material Use Definition The material of the IfcCableSegment is defined by IfcMaterialProfileSetUsage or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcCableSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

Conductor: Material from which the conductors are constructed, such as Aluminium or Copper. Insulation: The material from which the insulation is constructed such as PVC, PEX, or EPR. Screen: The material from which the screen that covers the sheath is constructed (mantel) such as Aluminium, Copper, Steel, or Lead. Sheath: The outer sheathing of the cable which may be color-coded.

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

CABLESEGMENT

May contain IfcCableSegment components having PredefinedType=CORESEGMENT. Cable segments may be aggregated into cable cores.

CORESEGMENT

May contain IfcCableSegment components having PredefinedType=CONDUCTORSEGMENT. Cable cores may be aggregated into cable conductors.

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

IfcCableCarrierSegment (IfcRelConnectsElements): Indicates a cable carrier segment housing the cable. IfcWall (IfcRelConnectsElements): Indicates a wall housing the cable.

Port Use Definition The distribution ports relating to the IfcCableSegment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the cable segment occurrence is defined by IfcCableSegmentType, then the port occurrences must reflect those defined at the IfcCableSegmentType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcCableSegment PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

CABLESEGMENT

Input (NOTDEFINED, SINK): Input end of the cable. Output (NOTDEFINED, SOURCE): Output end of the cable.

CONDUCTORSEGMENT

Input (NOTDEFINED, SINK): Input end of the conductor. Output (NOTDEFINED, SOURCE): Output end of the cable.

Public Types

typedef IfcTemplatedEntityList<IfcCableSegment> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcCableSegment.

::Ifc4::IfcCableSegmentTypeEnum::Value PredefinedType() const

Identifies the predefined types of cable segment from which the type required may be set.

void setPredefinedType(::Ifc4::IfcCableSegmentTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcCableSegment(IfcEntityInstanceData *e)
IfcCableSegment(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_ObjectType, ::Ifc4::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4::IfcCableSegmentTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()