Class Ifc4::IfcCableCarrierSegment

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcCableCarrierSegment : public Ifc4::IfcFlowSegment

A cable carrier segment is a flow segment that is specifically used to carry and support cabling.

HISTORY New entity in IFC2x4

Type Use Definition IfcCableCarrierSegment defines the occurrence of any cable carrier segment; common information about cable carrier segment types is handled by IfcCableCarrierSegmentType. The IfcCableCarrierSegmentType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcCableCarrierSegmentType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcCableCarrierSegmentType has ports or aggregated elements, such objects are reflected at the IfcCableCarrierSegment 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 IfcCableCarrierSegmentType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcCableCarrierSegmentType.HasPropertySets. If both are given, then the properties directly defined at IfcCableCarrierSegment override the properties defined at IfcCableCarrierSegmentType. 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_CableCarrierSegmentTypeCommon (PSET_TYPEDRIVENOVERRIDE)


Pset_CableCarrierSegmentTypeCableLadderSegment (PSET_TYPEDRIVENOVERRIDE)


Pset_CableCarrierSegmentTypeCableTraySegment (PSET_TYPEDRIVENOVERRIDE)


Pset_CableCarrierSegmentTypeCableTrunkingSegment (PSET_TYPEDRIVENOVERRIDE)


Pset_CableCarrierSegmentTypeConduitSegment (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.


Material Use Definition The material of the IfcCableCarrierSegment 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 IfcCableCarrierSegmentType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:

Body: The primary material from which the object is constructed.

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

Head (NOTDEFINED, SINK): Head connection. Tail (NOTDEFINED, SOURCE): Tail connection.

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcCableCarrierSegment.

::Ifc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const

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

void setPredefinedType(::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcCableCarrierSegment(IfcEntityInstanceData *e)
IfcCableCarrierSegment(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::IfcCableCarrierSegmentTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()