BIM CIM Integration Requirements and Technical Design - statnett/Talk2PowerSystem GitHub Wiki
Overview
This page lists requirements for the first phase of BIM-CIM integration in order of immediate to lower priority. It also contains information about technical design by Graphwise to fulfil the requirements.
The list of requirements corresponds to some of the gaps in BIM-CIM Semantic Interoperability. Closing those gaps is required as the components' data for power systems is partly provided in BIM models.
Requirements in order of priority
Immediate Priorities
- Move the switch model to the IfcElectricalDomain schema - Mock up the switch example
- Convert all class and attributes in AssetCatalogue to bSDD
- Convert all relevant class and attributes in Asset to bSDD
- Align all datatypes and units in CIM to bSDD
- Use CIM17 for version 0.1 next version will use CIM18
- CIM4Enterprise Asset.ttl: SPARQL to transform to the format BSDD expects then to JSON
- Use one Identifier MRID/GUID
Lower Priorities
- GeoSPARQL alignment
- Other ISO/IEC standard alignments with regard to Digital Twins for electrical energy system.
- Use AAS (concerned with measurement). CIM used for system perspective (what is the capability of the switch to break). AAS used for individual perspective
- Map IFC to CIM and back
- This is individual product data - the expectation is that this is shared, but in our case CIM would be the master.
Technical Design
References
Semantic bSDD: Improving the GraphQL, JSON and RDF Representations of buildingSmart Data Dictionary. Alexiev, V.; Radkov, M.; and Keberle, N. In Linked Data in Architecture and Construction (LDAC 2023), Matera, Italy, June 2023.
https://bsdd.ontotext.com/README.html
https://github.com/Accord-Project/bsdd
https://bsdd.ontotext.com/paper/paper.pdf
https://bsdd.ontotext.com/presentation/presentation.html
7.4 IfcElectricalDomain - IFC 4.3.2 Documentation
7.4.2.22 IfcProtectiveDeviceTypeEnum - IFC 4.3.2 Documentation
https://search.bsdd.buildingsmart.org/uri/buildingsmart/ifc/4.3/class/IfcTransformer
https://search.bsdd.buildingsmart.org/uri/etim/etim/10.0/prop/EF017178
openBIM for HV Power Transmission - Activity Proposal
Mapping SwitchInfo information into bSDD Dictionary based on - CIM17 model. We just need to create a very basic:
IdentifiedObject.mRID
IdentifiedObject.name
IdentifiedObject.description
SwitchInfo.breakingCapaicty
SwithcInfo.ratedCurrent
SwitchInfo.ratedVoltage
We should then have two manufacture example:
Hitachi Energy GAS- INSULATED SWITCHGEAR:
IdentifiedObject.mRID = UUID (map to compressed UUID for BIM)
IdentifiedObject.name = "ELK-14, 300 kV"
IdentifiedObject.description
SwitchInfo.breakingCapaicty = 63 kA
SwithcInfo.ratedCurrent = 4000 A
SwitchInfo.ratedVoltage = 300 kV
IfcSwitchingDevice 4.3.2
TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF
(CONTACTOR
,DIMMERSWITCH
,EMERGENCYSTOP
,KEYPAD
,MOMENTARYSWITCH
,RELAY
,SELECTORSWITCH
,STARTER
,START_AND_STOP_EQUIPMENT
,SWITCHDISCONNECTOR
,TOGGLESWITCH
,USERDEFINED
,NOTDEFINED);
END_TYPE;
ENTITY IfcSwitchingDevice`
SUBTYPE OF (IfcFlowController);
PredefinedType : OPTIONAL IfcSwitchingDeviceTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
(PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR
((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
('IFC4X3_DEV_adaadc86.IFCSWITCHINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
END_ENTITY;
ENTITY IfcSwitchingDeviceType
SUBTYPE OF (IfcFlowControllerType);
PredefinedType : IfcSwitchingDeviceTypeEnum;
WHERE
CorrectPredefinedType : (PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR
((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
END_ENTITY;
Property sets:
7.4.4.69 Pset_SwitchingDeviceTypeCommon - IFC 4.3.2 Documentation
7.4.4.70 Pset_SwitchingDeviceTypeContactor - IFC 4.3.2 Documentation
7.4.4.71 Pset_SwitchingDeviceTypeDimmerSwitch - IFC 4.3.2 Documentation
7.4.4.72 Pset_SwitchingDeviceTypeEmergencyStop - IFC 4.3.2 Documentation
7.4.4.73 Pset_SwitchingDeviceTypeKeypad - IFC 4.3.2 Documentation
7.4.4.74 Pset_SwitchingDeviceTypeMomentarySwitch - IFC 4.3.2 Documentation
7.4.4.75 Pset_SwitchingDeviceTypePHistory - IFC 4.3.2 Documentation
7.4.4.76 Pset_SwitchingDeviceTypeSelectorSwitch - IFC 4.3.2 Documentation
7.4.4.77 Pset_SwitchingDeviceTypeStarter - IFC 4.3.2 Documentation
7.4.4.78 Pset_SwitchingDeviceTypeSwitchDisconnector - IFC 4.3.2 Documentation
7.4.4.79 Pset_SwitchingDeviceTypeToggleSwitch - IFC 4.3.2 Documentation
Quantity sets:
7.4.5.21 Qto_SwitchingDeviceBaseQuantities - IFC 4.3.2 Documentation
Property enumerations:
7.4.8.44 PEnum_SwitchDisconnectorType - IFC 4.3.2 Documentation
7.4.8.45 PEnum_SwitchFunctionType - IFC 4.3.2 Documentation
7.4.8.46 PEnum_SwitchingDeviceEmergencyStopType - IFC 4.3.2 Documentation
7.4.8.47 PEnum_SwitchingDeviceKeypadType - IFC 4.3.2 Documentation
7.4.8.48 PEnum_SwitchingDeviceMomentarySwitchType - IFC 4.3.2 Documentation
7.4.8.49 PEnum_SwitchingDeviceToggleSwitchType - IFC 4.3.2 Documentation