Class Ifc4::IfcJunctionBox

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcJunctionBox : public Ifc4::IfcFlowFitting

A junction box is an enclosure within which cables are connected. Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection.

HISTORY New entity in IFC2x4

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

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 IfcJunctionBoxType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcJunctionBoxType.HasPropertySets. If both are given, then the properties directly defined at IfcJunctionBox override the properties defined at IfcJunctionBoxType. Refer to the documentation at the supertype IfcFlowFitting and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_JunctionBoxTypeCommon (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_JunctionBoxBaseQuantities

Material Use Definition The material of the IfcJunctionBox 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. Material information can also be given at the IfcJunctionBoxType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Casing: Material from which the casing is constructed.

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

IfcDiscreteAccessory (IfcRelConnectsElements): Indicates a cover plate for the junction box, having ObjectType ‘JunctionBoxCoverPlate’. IfcOpeningElement (IfcRelFillsElements): Indicates embedding the junction box in a building element such as a wall.

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

DATA

Line#1 (DATA, SINK): A data line, typically a cable connecting from a network router communications device. Line#2 (DATA, SINK): A data line, typically a cable connecting from a network router communications device. Gang#1 (DATA, SOURCE): A slot to house a data outlet containing one or more jacks, ordered from left-to-right. Gang#2 (DATA, SOURCE): A slot to house a data outlet containing one or more jacks, ordered from left-to-right.

POWER

Line (ELECTRICAL, SINK): The electrical supply line, typically a cable connecting from another junction box or from a protective device within a distribution board. Load (ELECTRICAL, SOURCE): The next load in the circuit, typically a cable connecting to another junction box. Gang#1 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right. Gang#2 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right. Gang#3 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right. Gang#4 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right.

Figure 201 illustrates junction box port use. Figure 201 — Junction box port use

Public Types

typedef IfcTemplatedEntityList<IfcJunctionBox> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcJunctionBox.

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

Public Static Functions

const IfcParse::entity &Class()