Model Electrical Distribution Board
Overview
This functional part describes the information required to describe an electrical distribution board type and occurrence. An electrical distribution board provides a housing for an aggregation of different types of instances of electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each item in the aggregation may have its own geometric representation and location by virtue of being a subtype of IfcProduct.
Electrical distribution board types are distinguished by type including:
- Alarm panel
- Consumer unit
- Control panel
- Distribution board
- Gas detector panel
- Mimic panel
- Motor control centre
- Switchboard
Users can also define other functions as necessary
The shape representation for an electrical distribution board may be defined (particularly so if contained within a casing); alternatively, the shape representation may be derived from the elements that are aggregated into the distribution point.
Only elements that are distinctly for the purposes of electrical power distribution may be aggregated into an occurrence of a distribution boar. This is identified within this functional part by specifying the range of type/occurrence elements that are specifically allowed within the aggregation.
Results
Model of electrical distribution board types and occurrences including shape representation and elements aggregated within the distribution point.
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Set the type of the distribution board, represent and place | ||||
|
IfcElectricDistributionBoardType.PredefinedType?IfcElectricDistributionBoardTypeEnum | |||
|
IfcElectricDistributionBoardType.ObjectType::IfcLabel | |||
|
IfcElectricDistributionBoardType.Representation::fp_represent_product | |||
| The object must be placed and oriented appropriately. | IfcElectricDistributionBoardType.ObjectPlacement::fp_place_object | |||
| Assert general attributes | ||||
|
IfcElectricDistributionBoardType.OwnerHistory::fp_apply_owner_history | |||
|
IfcElectricDistributionBoardType.Name::IfcLabel | |||
| Specify a description | IfcElectricDistributionBoardType.Description::IfcText | |||
| Assert the occurrence of the distribution board and set its type | ||||
|
fp_define_by_type | |||
| Define properties for the occurrence
Values of properties within the property set Pset_FlowControllerElectricDistributionBoardType may be set as necessary. |
||||
|
Pset_FlowControllerElectricDistributionBoardType.IsMain::IfcPropertySingleValue::IfcBoolean | |||
|
Pset_FlowControllerElectricDistributionBoardType.NumberOfDoors ::IsSkilledOperator::IfcInteger | |||
| Assert general attributes for the occurrence | ||||
|
IfcFlowController.OwnerHistory::fp_apply_owner_history | |||
|
IfcFlowController.Name::IfcLabel | |||
|
IfcFlowController.Description::IfcText | |||
| Aggregate the elements into the electrical distribution board | ||||
|
||||
| Aggregate the elemets | fp_aggregates (IcFlowController [of type = IfcElectricDistributionBoardType], [elements as listed above]) |
|||
| Extend occurrence information | ||||
|
IFC Entities Required
- IfcCableCarrierFittingType
- IfcCableCarrierSegmentType
- IfcCableSegmentType
- IfcDistributionControlElementType
- IfcDistributionElement
- IfcDistributionElementType
- IfcDistributionFlowElement
- IfcDistributionFlowElementType
- IfcElectricDistributionBoardType
- IfcElectricFlowStorageDeviceType
- IfcElectricGeneratorType
- IfcElectricMotorType
- IfcElectricTimeControlType
- IfcElement
- IfcElementType
- IfcEnergyConversionDevice
- IfcEnergyConversionDeviceType
- IfcFlowController
- IfcFlowControllerType
- IfcFlowFitting
- IfcFlowFittingType
- IfcFlowSegment
- IfcFlowSegmentType
- IfcFlowStorageDevice
- IfcFlowStorageDeviceType
- IfcFlowTerminal
- IfcFlowTerminalType
- IfcJunctionBoxType
- IfcLampType
- IfcObject
- IfcObjectDefinition
- IfcOutletType
- IfcProduct
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcPropertySet
- IfcProtectiveDeviceType
- IfcProtectiveDeviceTrippingUnitType
- IfcRelationship
- IfcRelDecomposes
- IfcRelAggregates
- IfcRoot
- IfcSwitchingDeviceType
- IfcTransformerType
- IfcTypeObject
- IfcTypeProduct
IFC Datatypes Required
- IfcCableCarrierFittingTypeEnum
- IfcCableCarrierSegmentTypeEnum
- IfcCableSegmentTypeEnum
- IfcElectricDistributionBoardTypeEnum
- IfcElectricFlowStorageDeviceTypeEnum
- IfcElectricGeneratorTypeEnum
- IfcElectricMotorTypeEnum
- IfcElectricTimeControlTypeEnum
- IfcGloballyUniqueId
- IfcIdentifier
- IfcJunctionBoxTypeEnum
- IfcLabel
- IfcLampTypeEnum
- IfcOutletTypeEnum
- IfcProtectiveDeviceTypeEnum
- IfcProtectiveDeviceTrippingUnitTypeEnum
- IfcSwitchingDeviceTypeEnum
- IfcText
- IfcTransformerTypeEnum
IFC Functions Required
- -
IFC Property Sets Required
- -
IDM Functional Parts Required
- fp_apply_owner_history
- fp_map_representation
- fp_place_object
- fp_property
- fp_represent_product
- fp_define_by_type
- fp_define_by_properties
EXPRESS-G
EXPRESS Schema
SCHEMA FP_MODEL_ELECTRICAL_DISTRIBUTION_BOARD;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF
(BEND,
CROSS,
REDUCER,
TEE,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF
(CABLELADDERSEGMENT,
CABLETRAYSEGMENT,
CABLETRUNKINGSEGMENT,
CONDUITSEGMENT,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcCableSegmentTypeEnum = ENUMERATION OF
(CABLESEGMENT,
CONDUCTORSEGMENT,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF
(BATTERY,
CAPACITORBANK,
HARMONICFILTER,
INDUCTORBANK,
UPS,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF
(USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcElectricMotorTypeEnum = ENUMERATION OF
(DC,
INDUCTION,
POLYPHASE,
RELUCTANCESYNCHRONOUS,
SYNCHRONOUS,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcElectricTimeControlTypeEnum = ENUMERATION OF
(TIMECLOCK,
TIMEDELAY,
RELAY,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF
(USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcLampTypeEnum = ENUMERATION OF
(COMPACTFLUORESCENT,
FLUORESCENT,
HIGHPRESSUREMERCURY,
HIGHPRESSURESODIUM,
METALHALIDE,
TUNGSTENFILAMENT,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcOutletTypeEnum = ENUMERATION OF
(AUDIOVISUALOUTLET,
COMMUNICATIONSOUTLET,
POWEROUTLET,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF
(FUSEDISCONNECTOR,
CIRCUITBREAKER,
EARTHFAILUREDEVICE,
RESIDUALCURRENTCIRCUITBREAKER,
RESIDUALCURRENTSWITCH,
VARISTOR,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF
(CONTACTOR,
EMERGENCYSTOP,
STARTER,
SWITCHDISCONNECTOR,
TOGGLESWITCH,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcTransformerTypeEnum = ENUMERATION OF
(CURRENT,
FREQUENCY,
VOLTAGE,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcElectricDistributionBoardTypeEnum = ENUMERATION OF
(ALARMPANEL,
CONSUMERUNIT,
CONTROLPANEL,
DISTRIBUTIONBOARD,
GASDETECTORPANEL,
INDICATORPANEL,
MIMICPANEL,
MOTORCONTROLCENTRE,
SWITCHBOARD,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcProtectiveDeviceTrippingUnitTypeEnum = ENUMERATION OF
(MCB,
MCB_RCD,
MCB_OL,
TMP_STANDARD,
TMP_SHORTCIRCUIT,
TMP_MOTORPROTECTION,
TMP_BIMETAL,
EP_STD,
EP_SC,
EP_TIMEDELAYED,
EP_MP,
EP_BM,
NH_FUSE,
DIAZED,
MINIZED,
NEOZED);
END_TYPE;
ENTITY IfcProduct
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
ObjectPlacement : OPTIONAL fp_place_object;
Representation : OPTIONAL fp_represent_product;
WHERE
WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(NOT('IFC2X2_FINAL.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))
OR (NOT(EXISTS(Representation)));
END_ENTITY;
ENTITY IfcObject
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObjectDefinition);
ObjectType : OPTIONAL IfcLabel;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcObjectDefinition
SUPERTYPE OF (ONEOF(IfcTypeObject, IfcObject))
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcPropertyDefinition, IfcRelationship, IfcObjectDefinition));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcPropertySetDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcPropertyDefinition);
INVERSE
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcPropertySet
SUBTYPE OF(IfcPropertySetDefinition);
HasProperties : SET [1:?] OF fp_property;
WHERE
WR31 : EXISTS(SELF\IfcRoot.Name);
WR32 : IfcUniquePropertyName(HasProperties);
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcObjectDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF IfcPropertySetDefinition;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcTypeProduct
SUBTYPE OF(IfcTypeObject);
Tag : OPTIONAL IfcLabel;
xRepresentationMaps : SET [1:?] OF fp_map_representation;
WHERE
WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects |
NOT('IFC2X2_FINAL.IFCPRODUCT' IN TYPEOF(temp)))
) = 0);
END_ENTITY;
ENTITY IfcElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcTypeProduct);
ElementType : OPTIONAL IfcLabel;
END_ENTITY;
ENTITY IfcDistributionElementType
ABSTRACT SUPERTYPE OF (ONEOF(IfcDistributionFlowElementType, IfcDistributionControlElementType))
SUBTYPE OF(IfcElementType);
END_ENTITY;
ENTITY IfcDistributionFlowElementType
ABSTRACT SUPERTYPE OF (ONEOF(IfcEnergyConversionDeviceType, IfcFlowControllerType, IfcFlowFittingType, IfcFlowSegmentType, IfcFlowStorageDeviceType, IfcFlowTerminalType))
SUBTYPE OF(IfcDistributionElementType);
END_ENTITY;
ENTITY IfcEnergyConversionDeviceType
ABSTRACT SUPERTYPE OF (ONEOF(IfcElectricGeneratorType, IfcElectricMotorType, IfcTransformerType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcElectricGeneratorType
SUBTYPE OF(IfcEnergyConversionDeviceType);
PredefinedType : IfcElectricGeneratorTypeEnum;
END_ENTITY;
ENTITY IfcElectricMotorType
SUBTYPE OF(IfcEnergyConversionDeviceType);
PredefinedType : IfcElectricMotorTypeEnum;
END_ENTITY;
ENTITY IfcTransformerType
SUBTYPE OF(IfcEnergyConversionDeviceType);
PredefinedType : IfcTransformerTypeEnum;
END_ENTITY;
ENTITY IfcFlowControllerType
ABSTRACT SUPERTYPE OF (ONEOF(IfcElectricTimeControlType, IfcProtectiveDeviceType, IfcSwitchingDeviceType, IfcElectricDistributionBoardType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcElectricTimeControlType
SUBTYPE OF(IfcFlowControllerType);
PredefinedType : IfcElectricTimeControlTypeEnum;
END_ENTITY;
ENTITY IfcProtectiveDeviceType
SUBTYPE OF(IfcFlowControllerType);
PredefinedType : IfcProtectiveDeviceTypeEnum;
END_ENTITY;
ENTITY IfcSwitchingDeviceType
SUBTYPE OF(IfcFlowControllerType);
PredefinedType : IfcSwitchingDeviceTypeEnum;
END_ENTITY;
ENTITY IfcElectricDistributionBoardType
SUBTYPE OF(IfcFlowControllerType);
PredefinedType : IfcElectricDistributionBoardTypeEnum;
END_ENTITY;
ENTITY IfcFlowFittingType
ABSTRACT SUPERTYPE OF (ONEOF(IfcCableCarrierFittingType, IfcJunctionBoxType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcCableCarrierFittingType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcCableCarrierFittingTypeEnum;
WHERE
WR1 : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR
((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
END_ENTITY;
ENTITY IfcJunctionBoxType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcJunctionBoxTypeEnum;
END_ENTITY;
ENTITY IfcFlowSegmentType
ABSTRACT SUPERTYPE OF (ONEOF(IfcCableCarrierSegmentType, IfcCableSegmentType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcCableCarrierSegmentType
SUBTYPE OF(IfcFlowSegmentType);
PredefinedType : IfcCableCarrierSegmentTypeEnum;
END_ENTITY;
ENTITY IfcCableSegmentType
SUBTYPE OF(IfcFlowSegmentType);
PredefinedType : IfcCableSegmentTypeEnum;
END_ENTITY;
ENTITY IfcFlowStorageDeviceType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcElectricFlowStorageDeviceType
SUBTYPE OF(IfcFlowStorageDeviceType);
PredefinedType : IfcElectricFlowStorageDeviceTypeEnum;
END_ENTITY;
ENTITY IfcFlowTerminalType
ABSTRACT SUPERTYPE OF (ONEOF(IfcLampType, IfcOutletType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcLampType
SUBTYPE OF(IfcFlowTerminalType);
PredefinedType : IfcLampTypeEnum;
END_ENTITY;
ENTITY IfcOutletType
SUBTYPE OF(IfcFlowTerminalType);
PredefinedType : IfcOutletTypeEnum;
END_ENTITY;
ENTITY IfcDistributionControlElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcDistributionElementType);
END_ENTITY;
ENTITY IfcProtectiveDeviceTrippingUnitType
SUBTYPE OF(IfcDistributionControlElementType);
PredefinedType : IfcProtectiveDeviceTrippingUnitTypeEnum;
END_ENTITY;
ENTITY IfcRelationship
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRelDecomposes
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRelationship);
RelatedObjects : SET [1:?] OF IfcObjectDefinition;
RelatingObject : IfcObjectDefinition;
WHERE
WR31 : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcRelAggregates
SUBTYPE OF(IfcRelDecomposes);
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingGroup :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcDistributionElement
SUBTYPE OF(IfcElement);
END_ENTITY;
ENTITY IfcDistributionFlowElement
SUPERTYPE OF (ONEOF(IfcEnergyConversionDevice, IfcFlowController, IfcFlowFitting, IfcFlowSegment, IfcFlowStorageDevice, IfcFlowTerminal))
SUBTYPE OF(IfcDistributionElement);
END_ENTITY;
ENTITY IfcEnergyConversionDevice
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY IfcFlowController
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY IfcFlowFitting
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY IfcFlowSegment
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY IfcFlowStorageDevice
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY IfcFlowTerminal
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY fp_map_representation;
END_ENTITY;
ENTITY fp_place_object;
END_ENTITY;
ENTITY fp_property;
END_ENTITY;
ENTITY fp_represent_product;
END_ENTITY;
ENTITY fp_define_by_type;
END_ENTITY;
ENTITY fp_define_by_properties;
END_ENTITY;
END_SCHEMA;