@enervance/insight-cim-model 0.0.159 → 0.0.161
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +3 -3
- package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
- package/dist/converter/cgmes-validator.d.ts +3 -3
- package/dist/converter/cgmes-validator.js.map +1 -1
- package/dist/converter/integral7/config/integral-prefix.d.ts +2 -0
- package/dist/converter/integral7/config/integral-prefix.js +3 -1
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter.integral7.d.ts +36 -41
- package/dist/converter/integral7/converter.integral7.js +1015 -792
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.js +7 -2
- package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -1
- package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +229 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.d.ts +103 -2
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js +1603 -121
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +9 -2
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +19 -7
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +105 -5
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +68 -2
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +45 -25
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -1
- package/dist/converter/integral7/dl-convert/executor.d.ts +1 -0
- package/dist/converter/integral7/dl-convert/executor.js +230 -112
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +3 -3
- package/dist/converter/integral7/interface-i7/{IDefaultValuesConfig.d.ts → default-values-config.interface.d.ts} +4 -1
- package/dist/converter/integral7/interface-i7/{IIntegral7ConverterConfig.js → default-values-config.interface.js} +1 -1
- package/dist/converter/integral7/interface-i7/default-values-config.interface.js.map +1 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +5 -5
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +7 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/integral7-converter-config.interface.d.ts +3 -0
- package/dist/converter/integral7/{model/integral/Hgueleitung.js → interface-i7/integral7-converter-config.interface.js} +1 -1
- package/dist/converter/integral7/interface-i7/integral7-converter-config.interface.js.map +1 -0
- package/dist/converter/integral7/interface-i7/{IObjectMappingConfig.d.ts → object-mapping-config.interface.d.ts} +1 -1
- package/dist/converter/integral7/interface-i7/{IObjectMappingConfig.js → object-mapping-config.interface.js} +1 -1
- package/dist/converter/integral7/interface-i7/object-mapping-config.interface.js.map +1 -0
- package/dist/converter/integral7/interface-i7/uuid-config.interface.d.ts +5 -0
- package/dist/converter/integral7/interface-i7/{IDefaultValuesConfig.js → uuid-config.interface.js} +1 -1
- package/dist/converter/integral7/interface-i7/uuid-config.interface.js.map +1 -0
- package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +0 -6
- package/dist/converter/integral7/model/dl-utils/util-functions.js +4 -40
- package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
- package/dist/converter/integral7/model/integral/HgueleitungImpl.d.ts +24 -0
- package/dist/converter/integral7/model/integral/HgueleitungImpl.js +7 -0
- package/dist/converter/integral7/model/integral/HgueleitungImpl.js.map +1 -0
- package/dist/converter/integral7/model/integral/Leitung.d.ts +1 -0
- package/dist/converter/integral7/model/integral/Leitung.js +1 -0
- package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +94 -31
- package/dist/converter/integral7/model/interfaces.js.map +1 -1
- package/dist/converter/integral7/sql/integral.sql.d.ts +4 -1
- package/dist/converter/integral7/sql/integral.sql.js +21 -15
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/util-asset.model.d.ts +2 -1
- package/dist/converter/integral7/util-asset.model.js +3 -2
- package/dist/converter/integral7/util-asset.model.js.map +1 -1
- package/dist/converter/integral7/utils-cgmes-export.d.ts +10 -10
- package/dist/converter/integral7/utils-cgmes-export.js +3 -0
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +17 -3
- package/dist/converter/integral7/utils.js +189 -18
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js +15 -8
- package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/model/core/IIdentifiedObject.d.ts +3 -3
- package/dist/model/assetinfo/WireInfo.d.ts +1 -0
- package/dist/model/assetinfo/WireInfo.js.map +1 -1
- package/dist/model/common/PositionPoint.js +3 -18
- package/dist/model/common/PositionPoint.js.map +1 -1
- package/dist/model/core/ACDCTerminal.d.ts +2 -2
- package/dist/model/core/ACDCTerminal.js.map +1 -1
- package/dist/model/core/BaseVoltage.d.ts +2 -2
- package/dist/model/core/BaseVoltage.js.map +1 -1
- package/dist/model/core/ConnectivityNode.d.ts +2 -2
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/Equipment.d.ts +2 -2
- package/dist/model/core/Equipment.js.map +1 -1
- package/dist/model/core/IdentifiedObject.d.ts +3 -3
- package/dist/model/core/IdentifiedObject.js +9 -3
- package/dist/model/core/IdentifiedObject.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +2 -2
- package/dist/model/core/Terminal.js +2 -2
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/dc/ACDCConverter.d.ts +2 -2
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/ACDCConverterDCTerminal.js +1 -0
- package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
- package/dist/model/dc/CsConverter.d.ts +2 -2
- package/dist/model/dc/CsConverter.js.map +1 -1
- package/dist/model/dc/DCConverterUnit.d.ts +3 -2
- package/dist/model/dc/DCConverterUnit.js +3 -0
- package/dist/model/dc/DCConverterUnit.js.map +1 -1
- package/dist/model/dc/DCLine.js +17 -17
- package/dist/model/dc/DCLineSegment.js +25 -25
- package/dist/model/dc/DCTerminal.js +1 -0
- package/dist/model/dc/DCTerminal.js.map +1 -1
- package/dist/model/dc/VsConverter.d.ts +2 -2
- package/dist/model/dc/VsConverter.js.map +1 -1
- package/dist/model/diagram/Diagram.js +2 -0
- package/dist/model/diagram/Diagram.js.map +1 -1
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.d.ts +2 -2
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +2 -2
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
- package/dist/model/equivalents/EquivalentBranch.d.ts +2 -2
- package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
- package/dist/model/equivalents/EquivalentInjection.d.ts +2 -2
- package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +2 -2
- package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
- package/dist/model/extensions/amprion/equivalents/INTEGRALEquivalentBranch.js +2 -9
- package/dist/model/extensions/amprion/equivalents/INTEGRALEquivalentBranch.js.map +1 -1
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +1 -0
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +3 -0
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.d.ts +1 -0
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +6 -3
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +1 -0
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +7 -1
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
- package/dist/model/generation/GeneratingUnit.d.ts +2 -2
- package/dist/model/generation/GeneratingUnit.js.map +1 -1
- package/dist/model/loadmodel/ConformLoad.d.ts +2 -2
- package/dist/model/loadmodel/ConformLoad.js +33 -33
- package/dist/model/loadmodel/ConformLoad.js.map +1 -1
- package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
- package/dist/model/loadmodel/LoadArea.js +21 -21
- package/dist/model/loadmodel/SubLoadArea.js +22 -22
- package/dist/model/operationallimits/ApparentPowerLimit.d.ts +15 -0
- package/dist/model/operationallimits/ApparentPowerLimit.js +56 -0
- package/dist/model/operationallimits/ApparentPowerLimit.js.map +1 -0
- package/dist/model/operationallimits/CurrentLimit.d.ts +2 -2
- package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
- package/dist/model/operations/ControlArea.d.ts +1 -0
- package/dist/model/operations/ControlArea.js +6 -2
- package/dist/model/operations/ControlArea.js.map +1 -1
- package/dist/model/statevariables/SvPowerFlow.d.ts +2 -2
- package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
- package/dist/model/wires/ACLineSegment.d.ts +2 -2
- package/dist/model/wires/ACLineSegment.js.map +1 -1
- package/dist/model/wires/AsynchronousMachine.d.ts +2 -2
- package/dist/model/wires/AsynchronousMachine.js.map +1 -1
- package/dist/model/wires/Breaker.js +1 -1
- package/dist/model/wires/Breaker.js.map +1 -1
- package/dist/model/wires/Conductor.d.ts +2 -2
- package/dist/model/wires/Conductor.js.map +1 -1
- package/dist/model/wires/Disconnector.js +1 -1
- package/dist/model/wires/Disconnector.js.map +1 -1
- package/dist/model/wires/EnergyConsumer.d.ts +2 -2
- package/dist/model/wires/EnergyConsumer.js.map +1 -1
- package/dist/model/wires/EnergySource.d.ts +2 -2
- package/dist/model/wires/EnergySource.js.map +1 -1
- package/dist/model/wires/ExternalNetworkInjection.d.ts +2 -2
- package/dist/model/wires/ExternalNetworkInjection.js +4 -4
- package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
- package/dist/model/wires/GroundingImpedance.d.ts +2 -2
- package/dist/model/wires/GroundingImpedance.js.map +1 -1
- package/dist/model/wires/LinearShuntCompensator.d.ts +2 -2
- package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
- package/dist/model/wires/PetersenCoil.d.ts +2 -2
- package/dist/model/wires/PetersenCoil.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +2 -2
- package/dist/model/wires/PhaseTapChangerAsymmetrical.js +1 -1
- package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerLinear.d.ts +2 -2
- package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerNonLinear.d.ts +2 -2
- package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerSymmetrical.js +1 -1
- package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerTable.d.ts +3 -3
- package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
- package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +3 -3
- package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
- package/dist/model/wires/PowerTransformerEnd.d.ts +2 -2
- package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
- package/dist/model/wires/RatioTapChanger.d.ts +2 -2
- package/dist/model/wires/RatioTapChanger.js.map +1 -1
- package/dist/model/wires/RatioTapChangerTable.d.ts +3 -3
- package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
- package/dist/model/wires/RegulatingCondEq.d.ts +2 -2
- package/dist/model/wires/RegulatingCondEq.js.map +1 -1
- package/dist/model/wires/RegulatingControl.d.ts +2 -2
- package/dist/model/wires/RegulatingControl.js.map +1 -1
- package/dist/model/wires/RotatingMachine.d.ts +3 -3
- package/dist/model/wires/RotatingMachine.js.map +1 -1
- package/dist/model/wires/SeriesCompensator.d.ts +2 -2
- package/dist/model/wires/SeriesCompensator.js.map +1 -1
- package/dist/model/wires/ShuntCompensator.d.ts +2 -2
- package/dist/model/wires/ShuntCompensator.js.map +1 -1
- package/dist/model/wires/StaticVarCompensator.d.ts +2 -2
- package/dist/model/wires/StaticVarCompensator.js.map +1 -1
- package/dist/model/wires/SynchronousMachine.d.ts +2 -2
- package/dist/model/wires/SynchronousMachine.js.map +1 -1
- package/dist/model/wires/TapChanger.d.ts +2 -2
- package/dist/model/wires/TapChanger.js.map +1 -1
- package/dist/model/wires/TapChangerTablePoint.d.ts +3 -3
- package/dist/model/wires/TapChangerTablePoint.js +6 -18
- package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
- package/dist/model/wires/TransformerEnd.d.ts +2 -2
- package/dist/model/wires/TransformerEnd.js.map +1 -1
- package/dist/model-container/model/ModelContainer.d.ts +7 -3
- package/dist/model-container/model/ModelContainer.js +13 -1
- package/dist/model-container/model/ModelContainer.js.map +1 -1
- package/dist/util/collection/util-graph2tree.d.ts +1 -0
- package/dist/util/collection/util-graph2tree.js +65 -2
- package/dist/util/collection/util-graph2tree.js.map +1 -1
- package/dist/util/util-create.d.ts +3 -2
- package/dist/util/util-create.js +34 -21
- package/dist/util/util-create.js.map +1 -1
- package/dist/util/util-test.js +0 -109
- package/dist/util/util-test.js.map +1 -1
- package/dist/util/utils.d.ts +3 -2
- package/dist/util/utils.js +5 -4
- package/dist/util/utils.js.map +1 -1
- package/dist/util/xml/xml.serializer.d.ts +2 -2
- package/dist/util/xml/xml.serializer.js.map +1 -1
- package/dist/utils2/common.utils.d.ts +2 -0
- package/dist/utils2/common.utils.js +7 -0
- package/dist/utils2/common.utils.js.map +1 -1
- package/dist/utils2/parser.utils.d.ts +1 -1
- package/dist/utils2/parser.utils.js +41 -20
- package/dist/utils2/parser.utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/converter/integral7/ConverterIntegral7.d.ts +0 -0
- package/dist/converter/integral7/ConverterIntegral7.js +0 -1
- package/dist/converter/integral7/ConverterIntegral7.js.map +0 -1
- package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.js.map +0 -1
- package/dist/converter/integral7/interface-i7/IIntegral7ConverterConfig.d.ts +0 -3
- package/dist/converter/integral7/interface-i7/IIntegral7ConverterConfig.js.map +0 -1
- package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js.map +0 -1
- package/dist/converter/integral7/model/integral/Hgueleitung.d.ts +0 -12
- package/dist/converter/integral7/model/integral/Hgueleitung.js.map +0 -1
- package/dist/converter/integral7/model/integral/Kopfstation.d.ts +0 -44
- package/dist/converter/integral7/model/integral/Kopfstation.js +0 -10
- package/dist/converter/integral7/model/integral/Kopfstation.js.map +0 -1
- package/dist/model/model/Model.d.ts +0 -0
- package/dist/model/model/Model.js +0 -1
- package/dist/model/model/Model.js.map +0 -1
|
@@ -17,10 +17,12 @@ const db_object_graph_1 = require("./dl-graphs/db-object-graph.js");
|
|
|
17
17
|
const DiagramObjectPoint_1 = require("../../../model/diagram/DiagramObjectPoint.js");
|
|
18
18
|
const utils_schema_1 = require("../utils-schema.js");
|
|
19
19
|
const BusbarSection_1 = require("../../../model/wires/BusbarSection.js");
|
|
20
|
+
const Junction_1 = require("../../../model/wires/Junction.js");
|
|
20
21
|
class DLConverterI7 {
|
|
21
|
-
constructor(logger) {
|
|
22
|
+
constructor(logger, config) {
|
|
22
23
|
this.exportedDiagramObjectsGraph = {};
|
|
23
24
|
this.logger = logger;
|
|
25
|
+
this.config = config;
|
|
24
26
|
this.dbObjectGraph = new db_object_graph_1.DbObjectGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
|
|
25
27
|
this.dbObjectKeyCimModelUuidGraph = new cim_model_graph_1.DbObjectKey2CimModelUUIDGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
|
|
26
28
|
this.cimModelGraph = new cim_model_graph_1.CimModelGraph();
|
|
@@ -46,6 +48,9 @@ class DLConverterI7 {
|
|
|
46
48
|
this.dbObjectKeyCimModelUuidGraph.addRelation(typeOfKey, dbKey, uuid);
|
|
47
49
|
this.cimModelGraph.addUnspecifiedObject(uuid, object);
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* convertNsgVariante
|
|
53
|
+
*/
|
|
49
54
|
convertNsgVariante(arg) {
|
|
50
55
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
56
|
const diagram = new Diagram_1.Diagram((0, parser_utils_1.getUUID)(arg.guid), arg.name, String(arg.id));
|
|
@@ -54,10 +59,16 @@ class DLConverterI7 {
|
|
|
54
59
|
return diagram;
|
|
55
60
|
});
|
|
56
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* convertSchemaStandort
|
|
64
|
+
*/
|
|
57
65
|
convertSchemaStandort(arg) {
|
|
58
66
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
59
67
|
});
|
|
60
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* convertSchemaKnotenStandort
|
|
71
|
+
*/
|
|
61
72
|
convertSchemaKnotenStandort(nsgKnotenSo) {
|
|
62
73
|
var _a, _b;
|
|
63
74
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -71,7 +82,7 @@ class DLConverterI7 {
|
|
|
71
82
|
diagramObjectName: 'Abzweig',
|
|
72
83
|
identifiedObjectUUID: cimObjectUUID
|
|
73
84
|
});
|
|
74
|
-
// knotenso must be
|
|
85
|
+
// knotenso must be accessible via knotenzw-id
|
|
75
86
|
const netzSchlaufen = yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_schlaufe, {
|
|
76
87
|
eknoten: { in: [nsgKnotenSo.knotenso] }
|
|
77
88
|
});
|
|
@@ -84,10 +95,45 @@ class DLConverterI7 {
|
|
|
84
95
|
return diagramObject;
|
|
85
96
|
});
|
|
86
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* convertSchemaKnotenStandort
|
|
100
|
+
*/
|
|
101
|
+
convertSchemaKnotenHgue(nsgKnotenHgue) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgKnotenHgue.variantennr, id: nsgKnotenHgue.nsgso });
|
|
105
|
+
if (nsgStandort === undefined)
|
|
106
|
+
return null;
|
|
107
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgKnotenHgue.knotenso })) !== null && _b !== void 0 ? _b : undefined;
|
|
108
|
+
const diagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
109
|
+
xPosition: nsgStandort.xrel + nsgKnotenHgue.xrel + 16,
|
|
110
|
+
yPosition: nsgStandort.yrel + nsgKnotenHgue.yrel + 16,
|
|
111
|
+
diagramObjectName: 'Hgue-Knoten',
|
|
112
|
+
identifiedObjectUUID: cimObjectUUID
|
|
113
|
+
});
|
|
114
|
+
// knotenso must be accessible via knotenzw-id
|
|
115
|
+
const netzSchlaufen = yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_schlaufe, {
|
|
116
|
+
eknoten: { in: [nsgKnotenHgue.knotenso] }
|
|
117
|
+
});
|
|
118
|
+
if (netzSchlaufen && netzSchlaufen.length > 0) {
|
|
119
|
+
for (const netzSchlaufe of netzSchlaufen) {
|
|
120
|
+
this.addExportedDiagramObjectToGraph(nsgKnotenHgue.variantennr, netzSchlaufe.knotenzw, diagramObject);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.addExportedDiagramObjectToGraph(nsgKnotenHgue.variantennr, nsgKnotenHgue.knotenso, diagramObject);
|
|
124
|
+
return diagramObject;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* convertSchemaSchaltanlage
|
|
129
|
+
*/
|
|
87
130
|
convertSchemaSchaltanlage(arg) {
|
|
88
131
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
132
|
});
|
|
90
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* convertSchemaSchaltanlagenAbschnitte
|
|
136
|
+
*/
|
|
91
137
|
convertSchemaSchaltanlagenAbschnitte(arg) {
|
|
92
138
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
93
139
|
// const nsgSchaltanlage: NsgSchaltanlage = await this.dbObjectGraph.findObjectByKey(
|
|
@@ -115,8 +161,11 @@ class DLConverterI7 {
|
|
|
115
161
|
return resultingDiagramObjects;
|
|
116
162
|
});
|
|
117
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* convertSchemaSammelschienenAbschnitt
|
|
166
|
+
*/
|
|
118
167
|
convertSchemaSammelschienenAbschnitt(nsgSaabschnitt, netzSsab) {
|
|
119
|
-
var _a, _b;
|
|
168
|
+
var _a, _b, _c;
|
|
120
169
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
121
170
|
const nsgSchaltanlage = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgSaabschnitt.variantennr, id: nsgSaabschnitt.nsgsa });
|
|
122
171
|
if (!nsgSchaltanlage)
|
|
@@ -143,37 +192,49 @@ class DLConverterI7 {
|
|
|
143
192
|
const connectivityNode = this.cimModelGraph.findObjectByUUID(cimObjectUUID);
|
|
144
193
|
let busbarSection = null;
|
|
145
194
|
let busbarSectionTerminal = null;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
195
|
+
if (connectivityNode) {
|
|
196
|
+
for (const terminal of connectivityNode.terminals.values()) {
|
|
197
|
+
if (terminal.conductingEquipment instanceof BusbarSection_1.BusbarSection) {
|
|
198
|
+
busbarSection = terminal.conductingEquipment;
|
|
199
|
+
busbarSectionTerminal = terminal;
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
151
202
|
}
|
|
152
203
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
204
|
+
if (busbarSection && busbarSectionTerminal && !((_c = this.config) === null || _c === void 0 ? void 0 : _c.busbarSectionAsConnectivityNode)) {
|
|
205
|
+
// compute the position for the ConnectivityNode (the center of the BusbarSection)
|
|
206
|
+
const centerPosition = [
|
|
207
|
+
(topLeft.xPosition + bottomRight.xPosition) / 2,
|
|
208
|
+
(topLeft.yPosition + bottomRight.yPosition) / 2
|
|
209
|
+
];
|
|
210
|
+
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(centerPosition[0], centerPosition[1], null);
|
|
211
|
+
doConnectivityNode.name = `NetzSsab CN ${netzSsab.id}`;
|
|
212
|
+
doConnectivityNode.identifiedObjectUUID = cimObjectUUID;
|
|
213
|
+
this.addExportedDiagramObjectToGraph(nsgSaabschnitt.variantennr, netzSsab.id, doConnectivityNode);
|
|
163
214
|
const doBusbarSection = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), `NetzSsab ${netzSsab.id}`);
|
|
164
215
|
doBusbarSection.identifiedObjectUUID = busbarSection.getUUID();
|
|
165
216
|
doBusbarSection.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
|
|
166
217
|
(0, utils_schema_1.copyDiagramObjectPoints)(doBusbarSection, points);
|
|
167
218
|
this.exportedTerminalUUIDs.add(busbarSectionTerminal.getUUID());
|
|
168
|
-
const doBusbarSectionTerminal =
|
|
169
|
-
|
|
219
|
+
const doBusbarSectionTerminal = this.createTerminalDiagramObjectFromPoints({
|
|
220
|
+
cePoints: [topLeft.xPosition, topLeft.yPosition], cnPoints: [...centerPosition],
|
|
221
|
+
terminalUuid: busbarSectionTerminal.getUUID()
|
|
222
|
+
});
|
|
170
223
|
return [doBusbarSection, doBusbarSectionTerminal, doConnectivityNode];
|
|
171
224
|
}
|
|
172
225
|
else {
|
|
173
|
-
|
|
226
|
+
const doBusbarSectionAsConnectivityNode = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), `NetzSsab CN ${netzSsab.id}`);
|
|
227
|
+
doBusbarSectionAsConnectivityNode.identifiedObjectUUID = cimObjectUUID;
|
|
228
|
+
doBusbarSectionAsConnectivityNode.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSchaltanlage.ausrichtung);
|
|
229
|
+
(0, utils_schema_1.copyDiagramObjectPoints)(doBusbarSectionAsConnectivityNode, points);
|
|
230
|
+
this.addExportedDiagramObjectToGraph(nsgSaabschnitt.variantennr, netzSsab.id, doBusbarSectionAsConnectivityNode);
|
|
231
|
+
return [doBusbarSectionAsConnectivityNode];
|
|
174
232
|
}
|
|
175
233
|
});
|
|
176
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* convertSchemaSchaltfeldElemente
|
|
237
|
+
*/
|
|
177
238
|
convertSchemaSchaltfeldElemente(nsgSchaltfeld) {
|
|
178
239
|
var _a, _b;
|
|
179
240
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -256,10 +317,6 @@ class DLConverterI7 {
|
|
|
256
317
|
}
|
|
257
318
|
// ConductingEquipment
|
|
258
319
|
nodePointMap.set(onSsabNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(position[0], position[1], rotationValue));
|
|
259
|
-
// nodePointMap.set(
|
|
260
|
-
// onSsabNode.aknoten,
|
|
261
|
-
// DLUtilFunctions.createDiagramObjectWithPoint(position[0], position[1], null)
|
|
262
|
-
// );
|
|
263
320
|
}
|
|
264
321
|
const leftUpperCornerOfBay = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld, nsgSchaltfeld);
|
|
265
322
|
const maxSsabPos = yield this.getMaxPosOfSaabschnitt(nsgSaabschnitt);
|
|
@@ -366,28 +423,23 @@ class DLConverterI7 {
|
|
|
366
423
|
dopBackwardConnectivityNode[1] = dopConductingEquipment[1];
|
|
367
424
|
break;
|
|
368
425
|
}
|
|
369
|
-
const backwardTerminalUUID = this.lookupTerminalUUID(schaltfeldNode.aknoten, schaltfeldNode.id);
|
|
370
|
-
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
371
|
-
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
372
|
-
const terminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoints([[...dopBackwardConnectivityNode], [...dopConductingEquipment]], null);
|
|
373
|
-
terminalDiagramObject.identifiedObjectUUID = backwardTerminalUUID;
|
|
374
|
-
resultingDiagramObjects.push(terminalDiagramObject);
|
|
375
|
-
}
|
|
376
426
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
427
|
+
const backwardTerminalUUID = this.lookupTerminalUUID(schaltfeldNode.aknoten, schaltfeldNode.id);
|
|
428
|
+
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
429
|
+
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
430
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
431
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopBackwardConnectivityNode],
|
|
432
|
+
terminalUuid: backwardTerminalUUID
|
|
433
|
+
});
|
|
434
|
+
resultingDiagramObjects.push(terminalDiagramObject);
|
|
385
435
|
}
|
|
386
436
|
const forwardTerminalUUID = this.lookupTerminalUUID(schaltfeldNode.eknoten, schaltfeldNode.id);
|
|
387
437
|
if (!this.exportedTerminalUUIDs.has(forwardTerminalUUID)) {
|
|
388
438
|
this.exportedTerminalUUIDs.add(forwardTerminalUUID);
|
|
389
|
-
const terminalDiagramObject =
|
|
390
|
-
|
|
439
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
440
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopForwardConnectivityNode],
|
|
441
|
+
terminalUuid: forwardTerminalUUID
|
|
442
|
+
});
|
|
391
443
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
392
444
|
}
|
|
393
445
|
}
|
|
@@ -396,6 +448,9 @@ class DLConverterI7 {
|
|
|
396
448
|
return resultingDiagramObjects;
|
|
397
449
|
});
|
|
398
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* convertSchemaTransformer2W
|
|
453
|
+
*/
|
|
399
454
|
convertSchemaTransformer2W(nsgTrafo2w) {
|
|
400
455
|
var _a, _b;
|
|
401
456
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -480,16 +535,19 @@ class DLConverterI7 {
|
|
|
480
535
|
const doAKnotenConnectivityNode = this.exportedDiagramObjectsGraph[nsgTrafo2w.variantennr][netzTrafo2W.aknoten];
|
|
481
536
|
if (doAKnotenConnectivityNode) {
|
|
482
537
|
const dopAKnotenConnectivityNode = doAKnotenConnectivityNode.diagramObjectPoints[0];
|
|
483
|
-
util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, dopAKnotenConnectivityNode,
|
|
538
|
+
util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal1DiagramObject, dopAKnotenConnectivityNode, false);
|
|
484
539
|
}
|
|
485
540
|
const doEKnotenConnectivityNode = this.exportedDiagramObjectsGraph[nsgTrafo2w.variantennr][netzTrafo2W.eknoten];
|
|
486
541
|
if (doEKnotenConnectivityNode) {
|
|
487
542
|
const dopEKnotenConnectivityNode = doEKnotenConnectivityNode.diagramObjectPoints[0];
|
|
488
|
-
util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, dopEKnotenConnectivityNode,
|
|
543
|
+
util_functions_1.DLUtilFunctions.copyAndPushDiagramObjectPoint(terminal2DiagramObject, dopEKnotenConnectivityNode, false);
|
|
489
544
|
}
|
|
490
545
|
return createdDiagramObjects;
|
|
491
546
|
});
|
|
492
547
|
}
|
|
548
|
+
/**
|
|
549
|
+
* convertSchemaTransformer3W
|
|
550
|
+
*/
|
|
493
551
|
convertSchemaTransformer3W(nsgTrafo3w) {
|
|
494
552
|
var _a, _b;
|
|
495
553
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -569,25 +627,28 @@ class DLConverterI7 {
|
|
|
569
627
|
});
|
|
570
628
|
if (w1TypedResult) {
|
|
571
629
|
const w1ConnectivityNodePosition = yield this.getConnectivityNodePositionFor(w1TypedResult.type, w1TypedResult.object);
|
|
572
|
-
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal1DiagramObject, w1ConnectivityNodePosition,
|
|
630
|
+
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal1DiagramObject, w1ConnectivityNodePosition, false);
|
|
573
631
|
}
|
|
574
632
|
const w2TypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
575
633
|
variantennr: nsgTrafo3w.variantennr, id: nsgTrafo3w.anschluss_w2
|
|
576
634
|
});
|
|
577
635
|
if (w2TypedResult) {
|
|
578
636
|
const w2ConnectivityNodePosition = yield this.getConnectivityNodePositionFor(w2TypedResult.type, w2TypedResult.object);
|
|
579
|
-
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal2DiagramObject, w2ConnectivityNodePosition,
|
|
637
|
+
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal2DiagramObject, w2ConnectivityNodePosition, false);
|
|
580
638
|
}
|
|
581
639
|
const w3TypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
582
640
|
variantennr: nsgTrafo3w.variantennr, id: nsgTrafo3w.anschluss_w3
|
|
583
641
|
});
|
|
584
642
|
if (w3TypedResult) {
|
|
585
643
|
const w3ConnectivityNodePosition = yield this.getConnectivityNodePositionFor(w3TypedResult.type, w3TypedResult.object);
|
|
586
|
-
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal3DiagramObject, w3ConnectivityNodePosition,
|
|
644
|
+
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(terminal3DiagramObject, w3ConnectivityNodePosition, false);
|
|
587
645
|
}
|
|
588
646
|
return createdDiagramObjects;
|
|
589
647
|
});
|
|
590
648
|
}
|
|
649
|
+
/**
|
|
650
|
+
* getConnectivityNodePositionFor
|
|
651
|
+
*/
|
|
591
652
|
getConnectivityNodePositionFor(i7ObjectType, object) {
|
|
592
653
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
593
654
|
const leftUpperCorner = yield this.getLeftUpperCornerOf(i7ObjectType, object);
|
|
@@ -620,19 +681,44 @@ class DLConverterI7 {
|
|
|
620
681
|
return [null, null];
|
|
621
682
|
});
|
|
622
683
|
}
|
|
684
|
+
/**
|
|
685
|
+
* convertSchemaLeitung
|
|
686
|
+
*/
|
|
623
687
|
convertSchemaLeitung(nsgLeitung, splitLine = true) {
|
|
624
688
|
var _a, _b, _c, _d;
|
|
625
689
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
626
|
-
|
|
690
|
+
let netzLeitung;
|
|
691
|
+
netzLeitung = yield this.dbObjectGraph.findObjectByKey([
|
|
692
|
+
convert_graph_keys_1.i7TableNames.netz_leitung, convert_graph_keys_1.i7TableNames.netz_hgueleitung, convert_graph_keys_1.i7TableNames.netz_ersatzlaengszweig,
|
|
693
|
+
convert_graph_keys_1.i7TableNames.netz_streckenlast
|
|
694
|
+
], convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung });
|
|
627
695
|
if (!netzLeitung)
|
|
628
696
|
return;
|
|
697
|
+
if ('teilung' in netzLeitung) {
|
|
698
|
+
return this.convertNsgLeitungStreckenlast(nsgLeitung, netzLeitung, splitLine);
|
|
699
|
+
}
|
|
700
|
+
let generalNetzLeitung;
|
|
701
|
+
if ('anetzobjekt' in netzLeitung) {
|
|
702
|
+
generalNetzLeitung = {
|
|
703
|
+
id: netzLeitung.id,
|
|
704
|
+
bezeichner: netzLeitung.bezeichner,
|
|
705
|
+
kurzname: netzLeitung.kurzname,
|
|
706
|
+
aknoten: netzLeitung.anetzobjekt,
|
|
707
|
+
eknoten: netzLeitung.enetzobjekt,
|
|
708
|
+
aknotenzw: undefined, eknotenzw: undefined,
|
|
709
|
+
flakn3p: undefined, flekn3p: undefined
|
|
710
|
+
};
|
|
711
|
+
}
|
|
712
|
+
else {
|
|
713
|
+
generalNetzLeitung = netzLeitung;
|
|
714
|
+
}
|
|
629
715
|
const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id });
|
|
630
716
|
// Manche Leitung beinhalten keine Zwischenpunkte, sondern verlaufen lediglich zwischen dem Start- und Endpunkt
|
|
631
717
|
// if (nsgLtgpunkte.length === 0) return;
|
|
632
718
|
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung })) !== null && _b !== void 0 ? _b : undefined;
|
|
633
719
|
nsgLtgpunkte.sort((a, b) => a.pos - b.pos);
|
|
634
720
|
const diagramObject = new DiagramObject_1.DiagramObject();
|
|
635
|
-
diagramObject.name = `Leitung ${
|
|
721
|
+
diagramObject.name = `Leitung ${generalNetzLeitung.id}`;
|
|
636
722
|
diagramObject.identifiedObjectUUID = cimObjectUUID;
|
|
637
723
|
diagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
638
724
|
diagramObject.rotation = null;
|
|
@@ -698,11 +784,19 @@ class DLConverterI7 {
|
|
|
698
784
|
}
|
|
699
785
|
const resultingDiagramObjects = [];
|
|
700
786
|
const uuidsOfPlacedCimObject = new Set();
|
|
787
|
+
const netzLeitungsabschnitte = yield this.dbObjectGraph.findAllByAttributes([convert_graph_keys_1.i7TableNames.netz_freileitungabschnitt, convert_graph_keys_1.i7TableNames.netz_kabelabschnitt], { leitung: nsgLeitung.leitung });
|
|
788
|
+
netzLeitungsabschnitte.sort((a, b) => a.pos - b.pos);
|
|
789
|
+
if (netzLeitungsabschnitte.length === 0) {
|
|
790
|
+
splitLine = false;
|
|
791
|
+
}
|
|
701
792
|
if (splitLine) {
|
|
702
793
|
/* ---------- ---------- ---------- */
|
|
703
794
|
// BEGIN: split the line into line segments
|
|
704
|
-
const netzLeitungsabschnitte =
|
|
705
|
-
|
|
795
|
+
// const netzLeitungsabschnitte = await this.dbObjectGraph.findAllByAttributes(
|
|
796
|
+
// [i7TableNames.netz_freileitungabschnitt, i7TableNames.netz_kabelabschnitt],
|
|
797
|
+
// { leitung: nsgLeitung.leitung }
|
|
798
|
+
// );
|
|
799
|
+
// netzLeitungsabschnitte.sort((a, b) => a.pos - b.pos);
|
|
706
800
|
const segmentPercentages = [];
|
|
707
801
|
let completeLength = 0;
|
|
708
802
|
for (let a = 0; a < netzLeitungsabschnitte.length; ++a) {
|
|
@@ -720,7 +814,7 @@ class DLConverterI7 {
|
|
|
720
814
|
const thisSegmentUUID = (_d = (_c = this.dbObjectKeyCimModelUuidGraph) === null || _c === void 0 ? void 0 : _c.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: netzLeitungsabschnitte[a].id })) !== null && _d !== void 0 ? _d : undefined;
|
|
721
815
|
const thisSegmentCimObject = this.cimModelGraph.findObjectByUUID(thisSegmentUUID);
|
|
722
816
|
const diagramObject = new DiagramObject_1.DiagramObject();
|
|
723
|
-
diagramObject.name = `Leitung ${
|
|
817
|
+
diagramObject.name = `Leitung ${generalNetzLeitung.id}`;
|
|
724
818
|
diagramObject.identifiedObjectUUID = thisSegmentUUID;
|
|
725
819
|
diagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
726
820
|
diagramObject.rotation = null;
|
|
@@ -764,7 +858,7 @@ class DLConverterI7 {
|
|
|
764
858
|
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
765
859
|
xPosition: segments[a][0][0],
|
|
766
860
|
yPosition: segments[a][0][1],
|
|
767
|
-
diagramObjectName: `CN ${a} - Netz-Leitung ${
|
|
861
|
+
diagramObjectName: `CN ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
|
|
768
862
|
identifiedObjectUUID: connectivityNodeUUIDThisToPrev
|
|
769
863
|
});
|
|
770
864
|
resultingDiagramObjects.push(doConnectivityNode);
|
|
@@ -773,7 +867,7 @@ class DLConverterI7 {
|
|
|
773
867
|
const doTerminal = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
774
868
|
xPosition: segments[a][0][0],
|
|
775
869
|
yPosition: segments[a][0][1],
|
|
776
|
-
diagramObjectName: `T (Anf) ${a} - Netz-Leitung ${
|
|
870
|
+
diagramObjectName: `T (Anf) ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
|
|
777
871
|
identifiedObjectUUID: terminalUUIDThisToPrevConnectivityNode
|
|
778
872
|
});
|
|
779
873
|
resultingDiagramObjects.push(doTerminal);
|
|
@@ -808,7 +902,7 @@ class DLConverterI7 {
|
|
|
808
902
|
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
809
903
|
xPosition: segments[a][segments[a].length - 1][0],
|
|
810
904
|
yPosition: segments[a][segments[a].length - 1][1],
|
|
811
|
-
diagramObjectName: `CN ${a} - Netz-Leitung ${
|
|
905
|
+
diagramObjectName: `CN ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
|
|
812
906
|
identifiedObjectUUID: connectivityNodeUUIDThisToNext
|
|
813
907
|
});
|
|
814
908
|
resultingDiagramObjects.push(doConnectivityNode);
|
|
@@ -817,7 +911,7 @@ class DLConverterI7 {
|
|
|
817
911
|
const doTerminal = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
818
912
|
xPosition: segments[a][segments[a].length - 1][0],
|
|
819
913
|
yPosition: segments[a][segments[a].length - 1][1],
|
|
820
|
-
diagramObjectName: `T (End) ${a} - Netz-Leitung ${
|
|
914
|
+
diagramObjectName: `T (End) ${a} - Netz-Leitung ${generalNetzLeitung.id}`,
|
|
821
915
|
identifiedObjectUUID: terminalUUIDThisToNextConnectivityNode
|
|
822
916
|
});
|
|
823
917
|
resultingDiagramObjects.push(doTerminal);
|
|
@@ -833,46 +927,44 @@ class DLConverterI7 {
|
|
|
833
927
|
}
|
|
834
928
|
/* ---------- ---------- ---------- */
|
|
835
929
|
// BEGIN: export the first terminal
|
|
836
|
-
try {
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
identifiedObjectUUID: aknotenTerminalUUID
|
|
848
|
-
});
|
|
849
|
-
resultingDiagramObjects.push(anfTerminalDiagramObject);
|
|
850
|
-
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(anfTerminalDiagramObject, connectivityNodePosition, true);
|
|
851
|
-
}
|
|
852
|
-
const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
853
|
-
variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussend
|
|
930
|
+
// try {
|
|
931
|
+
const anschlussanfTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
932
|
+
variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussanf
|
|
933
|
+
});
|
|
934
|
+
const aknotenTerminalUUID = this.lookupTerminalUUID(generalNetzLeitung.aknoten, generalNetzLeitung.id);
|
|
935
|
+
if (anschlussanfTypedResult && aknotenTerminalUUID) {
|
|
936
|
+
const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussanfTypedResult.type, anschlussanfTypedResult.object);
|
|
937
|
+
const anfTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
938
|
+
cePoints: [...connectivityNodePosition], cnPoints: [...connectivityNodePosition],
|
|
939
|
+
terminalUuid: aknotenTerminalUUID,
|
|
940
|
+
name: 'Terminal Leitung-Anf'
|
|
854
941
|
});
|
|
855
|
-
|
|
856
|
-
if (anschlussendTypedResult && eknotenTerminalUUID) {
|
|
857
|
-
const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussendTypedResult.type, anschlussendTypedResult.object);
|
|
858
|
-
const endTerminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
859
|
-
xPosition: connectivityNodePosition[0],
|
|
860
|
-
yPosition: connectivityNodePosition[1],
|
|
861
|
-
diagramObjectName: 'Terminal Leitung-End',
|
|
862
|
-
identifiedObjectUUID: eknotenTerminalUUID
|
|
863
|
-
});
|
|
864
|
-
resultingDiagramObjects.push(endTerminalDiagramObject);
|
|
865
|
-
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(endTerminalDiagramObject, connectivityNodePosition, true);
|
|
866
|
-
}
|
|
942
|
+
resultingDiagramObjects.push(anfTerminalDiagramObject);
|
|
867
943
|
}
|
|
868
|
-
|
|
869
|
-
|
|
944
|
+
const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
945
|
+
variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussend
|
|
946
|
+
});
|
|
947
|
+
const eknotenTerminalUUID = this.lookupTerminalUUID(generalNetzLeitung.eknoten, generalNetzLeitung.id);
|
|
948
|
+
if (anschlussendTypedResult && eknotenTerminalUUID) {
|
|
949
|
+
const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussendTypedResult.type, anschlussendTypedResult.object);
|
|
950
|
+
const endTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
951
|
+
cePoints: [...connectivityNodePosition], cnPoints: [...connectivityNodePosition],
|
|
952
|
+
terminalUuid: eknotenTerminalUUID,
|
|
953
|
+
name: 'Terminal Leitung-End'
|
|
954
|
+
});
|
|
955
|
+
resultingDiagramObjects.push(endTerminalDiagramObject);
|
|
870
956
|
}
|
|
957
|
+
// } catch (e) {
|
|
958
|
+
// console.log(e)
|
|
959
|
+
// }
|
|
871
960
|
// END: export the last terminal
|
|
872
961
|
/* ---------- ---------- ---------- */
|
|
873
962
|
return resultingDiagramObjects;
|
|
874
963
|
});
|
|
875
964
|
}
|
|
965
|
+
/**
|
|
966
|
+
* convertSchemaQuerzweig
|
|
967
|
+
*/
|
|
876
968
|
convertSchemaQuerzweig(nsgQuerzweig) {
|
|
877
969
|
var _a, _b;
|
|
878
970
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -888,8 +980,17 @@ class DLConverterI7 {
|
|
|
888
980
|
const querzweigWrapperObject = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, {
|
|
889
981
|
id: nsgQuerzweig.querzweig
|
|
890
982
|
});
|
|
891
|
-
if (!querzweigWrapperObject)
|
|
983
|
+
if (!querzweigWrapperObject) {
|
|
892
984
|
return null;
|
|
985
|
+
}
|
|
986
|
+
if (querzweigWrapperObject.type === convert_graph_keys_1.i7TableNames.netz_hguekopfklassisch) {
|
|
987
|
+
xPosition += 8;
|
|
988
|
+
yPosition += 8;
|
|
989
|
+
}
|
|
990
|
+
else if (querzweigWrapperObject.type === convert_graph_keys_1.i7TableNames.netz_hguekopfvsc) {
|
|
991
|
+
xPosition += 8;
|
|
992
|
+
yPosition += 8;
|
|
993
|
+
}
|
|
893
994
|
const netzQuerzweig = querzweigWrapperObject.object;
|
|
894
995
|
if (type === convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld) {
|
|
895
996
|
const nsgSchaltfeld = object;
|
|
@@ -918,20 +1019,737 @@ class DLConverterI7 {
|
|
|
918
1019
|
const backwardTerminalUUID = this.lookupTerminalUUID(netzQuerzweig.anschluss, nsgQuerzweig.querzweig);
|
|
919
1020
|
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
920
1021
|
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
921
|
-
const terminalDiagramObject =
|
|
922
|
-
|
|
1022
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1023
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopBackwardConnectivityNode],
|
|
1024
|
+
terminalUuid: backwardTerminalUUID
|
|
1025
|
+
});
|
|
923
1026
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
924
1027
|
}
|
|
925
|
-
// END: Terminal-Export
|
|
926
|
-
/* ---------- ---------- ---------- */
|
|
1028
|
+
// END: Terminal-Export
|
|
1029
|
+
/* ---------- ---------- ---------- */
|
|
1030
|
+
return resultingDiagramObjects;
|
|
1031
|
+
});
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* convertNsgLeitungStreckenlast
|
|
1035
|
+
*/
|
|
1036
|
+
convertNsgLeitungStreckenlast(nsgLeitung, netzStreckenlast, splitLine = true) {
|
|
1037
|
+
var _a, _b, _c, _d;
|
|
1038
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1039
|
+
const nsgLtgpunkte = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt, { nsgleitung: nsgLeitung.id });
|
|
1040
|
+
// Manche Leitung beinhalten keine Zwischenpunkte, sondern verlaufen lediglich zwischen dem Start- und Endpunkt
|
|
1041
|
+
// if (nsgLtgpunkte.length === 0) return;
|
|
1042
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung })) !== null && _b !== void 0 ? _b : undefined;
|
|
1043
|
+
nsgLtgpunkte.sort((a, b) => a.pos - b.pos);
|
|
1044
|
+
const diagramObject = new DiagramObject_1.DiagramObject();
|
|
1045
|
+
diagramObject.name = `Streckenlast ${netzStreckenlast.id}`;
|
|
1046
|
+
diagramObject.identifiedObjectUUID = cimObjectUUID;
|
|
1047
|
+
diagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1048
|
+
diagramObject.rotation = null;
|
|
1049
|
+
const relStartPos = yield this.getRelPos(nsgLeitung, true);
|
|
1050
|
+
if (relStartPos === null)
|
|
1051
|
+
return null;
|
|
1052
|
+
const relEndPos = yield this.getRelPos(nsgLeitung, false);
|
|
1053
|
+
if (relEndPos === null)
|
|
1054
|
+
return null;
|
|
1055
|
+
const leftUpperCornerStartPos = yield this.getLeftUpperCornerOfUnspecified(nsgLeitung.variantennr, nsgLeitung.anschlussanf);
|
|
1056
|
+
const leftUpperCornerEndPos = yield this.getLeftUpperCornerOfUnspecified(nsgLeitung.variantennr, nsgLeitung.anschlussend);
|
|
1057
|
+
for (let a = 0; a < nsgLtgpunkte.length; ++a) {
|
|
1058
|
+
const nsgLtgpunkt = nsgLtgpunkte[a];
|
|
1059
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
1060
|
+
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1061
|
+
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
1062
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
1063
|
+
if (nsgLtgpunkt.userelpos === 1) {
|
|
1064
|
+
if (nsgLtgpunkt.reltoanf === 1) {
|
|
1065
|
+
diagramObjectPoint.xPosition = leftUpperCornerStartPos[0] + nsgLtgpunkt.xrel;
|
|
1066
|
+
diagramObjectPoint.yPosition = leftUpperCornerStartPos[1] + nsgLtgpunkt.yrel;
|
|
1067
|
+
}
|
|
1068
|
+
else if (nsgLtgpunkt.reltoanf === 0) {
|
|
1069
|
+
diagramObjectPoint.xPosition = leftUpperCornerEndPos[0] + nsgLtgpunkt.xrel;
|
|
1070
|
+
diagramObjectPoint.yPosition = leftUpperCornerEndPos[1] + nsgLtgpunkt.yrel;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
else {
|
|
1074
|
+
diagramObjectPoint.xPosition = nsgLtgpunkt.xrel;
|
|
1075
|
+
diagramObjectPoint.yPosition = nsgLtgpunkt.yrel;
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
/*
|
|
1079
|
+
left:
|
|
1080
|
+
m: => x
|
|
1081
|
+
c: => y
|
|
1082
|
+
right:
|
|
1083
|
+
m: => x * (-1)
|
|
1084
|
+
c: => y * (-1)
|
|
1085
|
+
top:
|
|
1086
|
+
m: => y
|
|
1087
|
+
c: => x * (-1)
|
|
1088
|
+
bottom:
|
|
1089
|
+
m: => y * (-1)
|
|
1090
|
+
c: => x
|
|
1091
|
+
*/
|
|
1092
|
+
const firstDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
1093
|
+
firstDiagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1094
|
+
firstDiagramObjectPoint.xPosition = relStartPos[0]; // + xyOffsetFirstPoint[0];
|
|
1095
|
+
firstDiagramObjectPoint.yPosition = relStartPos[1]; // + xyOffsetFirstPoint[1];
|
|
1096
|
+
firstDiagramObjectPoint.diagramObject = diagramObject;
|
|
1097
|
+
diagramObject.diagramObjectPoints.unshift(firstDiagramObjectPoint);
|
|
1098
|
+
const lastDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
1099
|
+
lastDiagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1100
|
+
lastDiagramObjectPoint.xPosition = relEndPos[0]; // + xyOffsetLastPoint[0];
|
|
1101
|
+
lastDiagramObjectPoint.yPosition = relEndPos[1]; // + xyOffsetLastPoint[1];
|
|
1102
|
+
lastDiagramObjectPoint.diagramObject = diagramObject;
|
|
1103
|
+
diagramObject.diagramObjectPoints.push(lastDiagramObjectPoint);
|
|
1104
|
+
for (let a = 0; a < diagramObject.diagramObjectPoints.length; ++a) {
|
|
1105
|
+
diagramObject.diagramObjectPoints[a].xPosition += 2;
|
|
1106
|
+
diagramObject.diagramObjectPoints[a].yPosition += 2;
|
|
1107
|
+
diagramObject.diagramObjectPoints[a].sequenceNumber = a + 1;
|
|
1108
|
+
}
|
|
1109
|
+
const resultingDiagramObjects = [];
|
|
1110
|
+
const uuidsOfPlacedCimObject = new Set();
|
|
1111
|
+
const netzLeitungsabschnitte = yield this.dbObjectGraph.findAllByAttributes([convert_graph_keys_1.i7TableNames.netz_freileitungabschnitt, convert_graph_keys_1.i7TableNames.netz_kabelabschnitt], { leitung: nsgLeitung.leitung });
|
|
1112
|
+
netzLeitungsabschnitte.sort((a, b) => a.pos - b.pos);
|
|
1113
|
+
if (netzLeitungsabschnitte.length === 0) {
|
|
1114
|
+
splitLine = false;
|
|
1115
|
+
}
|
|
1116
|
+
if (splitLine) {
|
|
1117
|
+
/* ---------- ---------- ---------- */
|
|
1118
|
+
// BEGIN: split the line into line segments
|
|
1119
|
+
// const netzLeitungsabschnitte = await this.dbObjectGraph.findAllByAttributes(
|
|
1120
|
+
// [i7TableNames.netz_freileitungabschnitt, i7TableNames.netz_kabelabschnitt],
|
|
1121
|
+
// { leitung: nsgLeitung.leitung }
|
|
1122
|
+
// );
|
|
1123
|
+
// netzLeitungsabschnitte.sort((a, b) => a.pos - b.pos);
|
|
1124
|
+
const segmentPercentages = [];
|
|
1125
|
+
let completeLength = 0;
|
|
1126
|
+
for (let a = 0; a < netzLeitungsabschnitte.length; ++a) {
|
|
1127
|
+
completeLength += netzLeitungsabschnitte[a].laenge;
|
|
1128
|
+
}
|
|
1129
|
+
// Berechne die Prozent-Anteile eines Leitungsabschnittes bezogen auf die Gesamtlänge
|
|
1130
|
+
let crtLength = 0;
|
|
1131
|
+
for (let a = 0; a < netzLeitungsabschnitte.length; ++a) {
|
|
1132
|
+
// todo fix if 'laenge' is null (equals to a not-set length)
|
|
1133
|
+
crtLength += netzLeitungsabschnitte[a].laenge;
|
|
1134
|
+
segmentPercentages.push(crtLength / completeLength);
|
|
1135
|
+
}
|
|
1136
|
+
const segments = util_functions_1.DLUtilFunctions.splitLineIntoLineSegments(segmentPercentages, diagramObject.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition]));
|
|
1137
|
+
for (let a = 0; a < segments.length; ++a) {
|
|
1138
|
+
const thisSegmentUUID = (_d = (_c = this.dbObjectKeyCimModelUuidGraph) === null || _c === void 0 ? void 0 : _c.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: netzLeitungsabschnitte[a].id })) !== null && _d !== void 0 ? _d : undefined;
|
|
1139
|
+
const thisSegmentCimObject = this.cimModelGraph.findObjectByUUID(thisSegmentUUID);
|
|
1140
|
+
const diagramObject = new DiagramObject_1.DiagramObject();
|
|
1141
|
+
diagramObject.name = `Leitung ${netzStreckenlast.id}`;
|
|
1142
|
+
diagramObject.identifiedObjectUUID = thisSegmentUUID;
|
|
1143
|
+
diagramObject.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1144
|
+
diagramObject.rotation = null;
|
|
1145
|
+
// for (const segment of segments[a]) {
|
|
1146
|
+
for (const segmentPoint of segments[a]) {
|
|
1147
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
1148
|
+
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
1149
|
+
diagramObjectPoint.xPosition = segmentPoint[0];
|
|
1150
|
+
diagramObjectPoint.yPosition = segmentPoint[1];
|
|
1151
|
+
diagramObjectPoint.sequenceNumber = diagramObject.diagramObjectPoints.length + 1;
|
|
1152
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
1153
|
+
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
1154
|
+
}
|
|
1155
|
+
// }
|
|
1156
|
+
resultingDiagramObjects.push(diagramObject);
|
|
1157
|
+
if (a === 0) {
|
|
1158
|
+
// continue (will be added at the end)
|
|
1159
|
+
}
|
|
1160
|
+
else {
|
|
1161
|
+
if (thisSegmentCimObject) {
|
|
1162
|
+
// need to get the ConnectivityNode and the Terminal, which connects the current (this) with the prev segment
|
|
1163
|
+
const prevSegment = netzLeitungsabschnitte[a - 1];
|
|
1164
|
+
const prevSegmentUUID = this.dbObjectKeyCimModelUuidGraph.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: prevSegment.id });
|
|
1165
|
+
const prevSegmentCimObject = this.cimModelGraph.findObjectByUUID(prevSegmentUUID);
|
|
1166
|
+
let connectivityNodeUUIDThisToPrev;
|
|
1167
|
+
let terminalUUIDThisToPrevConnectivityNode;
|
|
1168
|
+
for (const thisTerminal of thisSegmentCimObject.terminals.values()) {
|
|
1169
|
+
for (const prevTerminal of prevSegmentCimObject.terminals.values()) {
|
|
1170
|
+
if (prevTerminal.getConnectivityNodeUUID() === thisTerminal.getConnectivityNodeUUID()) {
|
|
1171
|
+
connectivityNodeUUIDThisToPrev = prevTerminal.getConnectivityNodeUUID();
|
|
1172
|
+
terminalUUIDThisToPrevConnectivityNode = thisTerminal.getUUID();
|
|
1173
|
+
break;
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
if (terminalUUIDThisToPrevConnectivityNode) {
|
|
1177
|
+
break;
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
// place the ConnectivityNode (if not being placed cause => maybe a previous iteration has placed it)
|
|
1181
|
+
if (!uuidsOfPlacedCimObject.has(connectivityNodeUUIDThisToPrev)) {
|
|
1182
|
+
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
1183
|
+
xPosition: segments[a][0][0],
|
|
1184
|
+
yPosition: segments[a][0][1],
|
|
1185
|
+
diagramObjectName: `CN ${a} - Netz-Leitung ${netzStreckenlast.id}`,
|
|
1186
|
+
identifiedObjectUUID: connectivityNodeUUIDThisToPrev
|
|
1187
|
+
});
|
|
1188
|
+
resultingDiagramObjects.push(doConnectivityNode);
|
|
1189
|
+
}
|
|
1190
|
+
// place the terminal
|
|
1191
|
+
const doTerminal = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
1192
|
+
xPosition: segments[a][0][0],
|
|
1193
|
+
yPosition: segments[a][0][1],
|
|
1194
|
+
diagramObjectName: `T (Anf) ${a} - Netz-Leitung ${netzStreckenlast.id}`,
|
|
1195
|
+
identifiedObjectUUID: terminalUUIDThisToPrevConnectivityNode
|
|
1196
|
+
});
|
|
1197
|
+
resultingDiagramObjects.push(doTerminal);
|
|
1198
|
+
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][0], true);
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
if (a === segments.length - 1) {
|
|
1202
|
+
// continue (will be added at the end)
|
|
1203
|
+
}
|
|
1204
|
+
else {
|
|
1205
|
+
if (thisSegmentCimObject) {
|
|
1206
|
+
// need to get the ConnectivityNode and the Terminal, which connects the current (this) with the next segment
|
|
1207
|
+
const nextSegment = netzLeitungsabschnitte[a + 1];
|
|
1208
|
+
const nextSegmentUUID = this.dbObjectKeyCimModelUuidGraph.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nextSegment.id });
|
|
1209
|
+
const nextSegmentCimObject = this.cimModelGraph.findObjectByUUID(nextSegmentUUID);
|
|
1210
|
+
let connectivityNodeUUIDThisToNext;
|
|
1211
|
+
let terminalUUIDThisToNextConnectivityNode;
|
|
1212
|
+
for (const thisTerminal of thisSegmentCimObject.terminals.values()) {
|
|
1213
|
+
for (const nextTerminal of nextSegmentCimObject.terminals.values()) {
|
|
1214
|
+
if (nextTerminal.getConnectivityNodeUUID() === thisTerminal.getConnectivityNodeUUID()) {
|
|
1215
|
+
connectivityNodeUUIDThisToNext = nextTerminal.getConnectivityNodeUUID();
|
|
1216
|
+
terminalUUIDThisToNextConnectivityNode = thisTerminal.getUUID();
|
|
1217
|
+
break;
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
if (terminalUUIDThisToNextConnectivityNode) {
|
|
1221
|
+
break;
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
// place the ConnectivityNode (if not being placed cause => maybe a previous iteration has placed it)
|
|
1225
|
+
if (!uuidsOfPlacedCimObject.has(connectivityNodeUUIDThisToNext)) {
|
|
1226
|
+
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
1227
|
+
xPosition: segments[a][segments[a].length - 1][0],
|
|
1228
|
+
yPosition: segments[a][segments[a].length - 1][1],
|
|
1229
|
+
diagramObjectName: `CN ${a} - Netz-Leitung ${netzStreckenlast.id}`,
|
|
1230
|
+
identifiedObjectUUID: connectivityNodeUUIDThisToNext
|
|
1231
|
+
});
|
|
1232
|
+
resultingDiagramObjects.push(doConnectivityNode);
|
|
1233
|
+
}
|
|
1234
|
+
// place the terminal
|
|
1235
|
+
const doTerminal = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
1236
|
+
xPosition: segments[a][segments[a].length - 1][0],
|
|
1237
|
+
yPosition: segments[a][segments[a].length - 1][1],
|
|
1238
|
+
diagramObjectName: `T (End) ${a} - Netz-Leitung ${netzStreckenlast.id}`,
|
|
1239
|
+
identifiedObjectUUID: terminalUUIDThisToNextConnectivityNode
|
|
1240
|
+
});
|
|
1241
|
+
resultingDiagramObjects.push(doTerminal);
|
|
1242
|
+
util_functions_1.DLUtilFunctions.copyAndPushXYCoordinates(doTerminal, segments[a][segments[a].length - 1], true);
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
// END: split the line into line segments
|
|
1247
|
+
/* ---------- ---------- ---------- */
|
|
1248
|
+
}
|
|
1249
|
+
else {
|
|
1250
|
+
resultingDiagramObjects.push(diagramObject);
|
|
1251
|
+
}
|
|
1252
|
+
const netzLeitungen = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.netz_leitung, { streckenlast: netzStreckenlast.id });
|
|
1253
|
+
if (netzLeitungen.length === 2) {
|
|
1254
|
+
/* ---------- ---------- ---------- */
|
|
1255
|
+
// BEGIN: export the first and last terminal
|
|
1256
|
+
// try {
|
|
1257
|
+
const anfId = netzLeitungen[0].eknoten === netzLeitungen[1].aknoten ? netzLeitungen[0].aknoten : netzLeitungen[0].eknoten;
|
|
1258
|
+
const endId = netzLeitungen[0].aknoten === netzLeitungen[1].eknoten ? netzLeitungen[0].eknoten : netzLeitungen[0].aknoten;
|
|
1259
|
+
const doAnfConnectivityNode = this.exportedDiagramObjectsGraph[nsgLeitung.variantennr][anfId];
|
|
1260
|
+
const doEndConnectivityNode = this.exportedDiagramObjectsGraph[nsgLeitung.variantennr][endId];
|
|
1261
|
+
const anschlussanfTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
1262
|
+
variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussend
|
|
1263
|
+
});
|
|
1264
|
+
const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
1265
|
+
variantennr: nsgLeitung.variantennr, id: nsgLeitung.anschlussend
|
|
1266
|
+
});
|
|
1267
|
+
const aknotenTerminalUUID = this.lookupTerminalUUID(anfId, netzStreckenlast.id);
|
|
1268
|
+
const eknotenTerminalUUID = this.lookupTerminalUUID(endId, netzStreckenlast.id);
|
|
1269
|
+
if (anschlussanfTypedResult && aknotenTerminalUUID && doAnfConnectivityNode) {
|
|
1270
|
+
const mappedPoint = [
|
|
1271
|
+
doAnfConnectivityNode.diagramObjectPoints[0].xPosition,
|
|
1272
|
+
doAnfConnectivityNode.diagramObjectPoints[0].yPosition
|
|
1273
|
+
];
|
|
1274
|
+
const anfTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1275
|
+
cePoints: [...mappedPoint], cnPoints: [...mappedPoint],
|
|
1276
|
+
terminalUuid: aknotenTerminalUUID,
|
|
1277
|
+
name: 'Terminal Leitung-Anf'
|
|
1278
|
+
});
|
|
1279
|
+
resultingDiagramObjects.push(anfTerminalDiagramObject);
|
|
1280
|
+
}
|
|
1281
|
+
if (anschlussendTypedResult && eknotenTerminalUUID && doEndConnectivityNode) {
|
|
1282
|
+
const mappedPoint = [
|
|
1283
|
+
doEndConnectivityNode.diagramObjectPoints[0].xPosition,
|
|
1284
|
+
doEndConnectivityNode.diagramObjectPoints[0].yPosition
|
|
1285
|
+
];
|
|
1286
|
+
const endTerminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1287
|
+
cePoints: [...mappedPoint], cnPoints: [...mappedPoint],
|
|
1288
|
+
terminalUuid: eknotenTerminalUUID,
|
|
1289
|
+
name: 'Terminal Leitung-End'
|
|
1290
|
+
});
|
|
1291
|
+
resultingDiagramObjects.push(endTerminalDiagramObject);
|
|
1292
|
+
}
|
|
1293
|
+
// END: export the first and last terminal
|
|
1294
|
+
/* ---------- ---------- ---------- */
|
|
1295
|
+
}
|
|
1296
|
+
else {
|
|
1297
|
+
console.error(`Streckenlast-Error: Expected exactly two lines for the Terminal-Export, but got ${netzLeitungen.length}!`);
|
|
1298
|
+
}
|
|
1299
|
+
return resultingDiagramObjects;
|
|
1300
|
+
});
|
|
1301
|
+
}
|
|
1302
|
+
/**
|
|
1303
|
+
* convertSchemaQuerzweigqcont
|
|
1304
|
+
*/
|
|
1305
|
+
convertSchemaQuerzweigqzcont(nsgQuerzweigqzcont) {
|
|
1306
|
+
var _a, _b;
|
|
1307
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1308
|
+
const resultingDiagramObjects = [];
|
|
1309
|
+
const typedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
1310
|
+
variantennr: nsgQuerzweigqzcont.variantennr, id: nsgQuerzweigqzcont.bezugsobjekt
|
|
1311
|
+
});
|
|
1312
|
+
if (!typedResult)
|
|
1313
|
+
return null;
|
|
1314
|
+
const { type, object } = typedResult;
|
|
1315
|
+
let xPosition = nsgQuerzweigqzcont.xrel + 8;
|
|
1316
|
+
let yPosition = nsgQuerzweigqzcont.yrel + 8;
|
|
1317
|
+
const nsgQuerzweigqzContelems = yield this.dbObjectGraph.findAllByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweigqzcontelem, { constainer: nsgQuerzweigqzcont.id });
|
|
1318
|
+
// if (!querzweigWrapperObject) {
|
|
1319
|
+
// return null;
|
|
1320
|
+
// }
|
|
1321
|
+
//
|
|
1322
|
+
// if (querzweigWrapperObject.type === i7TableNames.netz_hguekopfklassisch) {
|
|
1323
|
+
// xPosition += 8;
|
|
1324
|
+
// yPosition += 8;
|
|
1325
|
+
// } else if (querzweigWrapperObject.type === i7TableNames.netz_hguekopfvsc) {
|
|
1326
|
+
// xPosition += 8;
|
|
1327
|
+
// yPosition += 8;
|
|
1328
|
+
// }
|
|
1329
|
+
if (type === convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld) {
|
|
1330
|
+
const nsgSchaltfeld = object;
|
|
1331
|
+
const leftUpperCornerOfSchaltfeld = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld, nsgSchaltfeld);
|
|
1332
|
+
xPosition += leftUpperCornerOfSchaltfeld[0];
|
|
1333
|
+
yPosition += leftUpperCornerOfSchaltfeld[1];
|
|
1334
|
+
}
|
|
1335
|
+
else {
|
|
1336
|
+
return null;
|
|
1337
|
+
}
|
|
1338
|
+
for (const nsgQuerzweigqzContelem of nsgQuerzweigqzContelems) {
|
|
1339
|
+
const querzweigWrapperObject = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, {
|
|
1340
|
+
id: nsgQuerzweigqzContelem.querzweig
|
|
1341
|
+
});
|
|
1342
|
+
const netzQuerzweig = querzweigWrapperObject.object;
|
|
1343
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgQuerzweigqzContelem.querzweig })) !== null && _b !== void 0 ? _b : undefined;
|
|
1344
|
+
const querzweigDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
1345
|
+
xPosition: xPosition,
|
|
1346
|
+
yPosition: yPosition,
|
|
1347
|
+
rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgQuerzweigqzcont.ausrichtung),
|
|
1348
|
+
diagramObjectName: `DiagramObject ${nsgQuerzweigqzcont.querzweig}`,
|
|
1349
|
+
identifiedObjectUUID: cimObjectUUID
|
|
1350
|
+
});
|
|
1351
|
+
this.addExportedDiagramObjectToGraph(nsgQuerzweigqzcont.variantennr, nsgQuerzweigqzcont.querzweig, querzweigDiagramObject);
|
|
1352
|
+
resultingDiagramObjects.push(querzweigDiagramObject);
|
|
1353
|
+
/* ---------- ---------- ---------- */
|
|
1354
|
+
// BEGIN: Terminal-Export
|
|
1355
|
+
const doBackwardConnectivityNode = this.exportedDiagramObjectsGraph[nsgQuerzweigqzContelem.variantennr][netzQuerzweig.anschluss];
|
|
1356
|
+
const dopBackwardConnectivityNode = doBackwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
1357
|
+
const dopConductingEquipment = querzweigDiagramObject.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
1358
|
+
const backwardTerminalUUID = this.lookupTerminalUUID(netzQuerzweig.anschluss, nsgQuerzweigqzContelem.querzweig);
|
|
1359
|
+
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
1360
|
+
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
1361
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1362
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopBackwardConnectivityNode],
|
|
1363
|
+
terminalUuid: backwardTerminalUUID
|
|
1364
|
+
});
|
|
1365
|
+
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1366
|
+
}
|
|
1367
|
+
// END: Terminal-Export
|
|
1368
|
+
/* ---------- ---------- ---------- */
|
|
1369
|
+
}
|
|
1370
|
+
return resultingDiagramObjects;
|
|
1371
|
+
});
|
|
1372
|
+
}
|
|
1373
|
+
/**
|
|
1374
|
+
* convertSchemaNsgLKupplungRss
|
|
1375
|
+
*/
|
|
1376
|
+
convertSchemaNsgLKupplungRss(nsgLKupplungRss) {
|
|
1377
|
+
var _a, _b;
|
|
1378
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1379
|
+
const resultingDiagramObjects = [];
|
|
1380
|
+
const netzLKupplung = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.netz_lkupplung, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLKupplungRss.lkupplung });
|
|
1381
|
+
if (!netzLKupplung)
|
|
1382
|
+
return;
|
|
1383
|
+
const nsgSaabschnittAnf = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKupplungRss.variantennr, id: nsgLKupplungRss.nsgsaa_anf });
|
|
1384
|
+
if (!nsgSaabschnittAnf)
|
|
1385
|
+
return;
|
|
1386
|
+
const nsgSaabschnittEnd = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKupplungRss.variantennr, id: nsgLKupplungRss.nsgsaa_end });
|
|
1387
|
+
if (!nsgSaabschnittEnd)
|
|
1388
|
+
return;
|
|
1389
|
+
const nsgSchaltanlage = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKupplungRss.variantennr, id: nsgSaabschnittAnf.nsgsa });
|
|
1390
|
+
if (!nsgSchaltanlage)
|
|
1391
|
+
return;
|
|
1392
|
+
const coordsSlotAnf = yield this.getLeftUpperCornerOfLKupplungRssElement(nsgLKupplungRss, { slot_anf: true });
|
|
1393
|
+
const coordsSelf = yield this.getLeftUpperCornerOfLKupplungRssElement(nsgLKupplungRss, { self: true });
|
|
1394
|
+
const coordsSlotEnd = yield this.getLeftUpperCornerOfLKupplungRssElement(nsgLKupplungRss, { slot_end: true });
|
|
1395
|
+
let coordsSelfAnfDock;
|
|
1396
|
+
let coordsSelfEndDock;
|
|
1397
|
+
let coordsSelfCenter;
|
|
1398
|
+
switch (nsgLKupplungRss.ausrichtung) {
|
|
1399
|
+
case 0:
|
|
1400
|
+
coordsSelfAnfDock = [coordsSelf[0] + 16, coordsSelf[1] + 8];
|
|
1401
|
+
coordsSelfCenter = [coordsSelf[0] + 8, coordsSelf[1] + 8];
|
|
1402
|
+
coordsSelfEndDock = [coordsSelf[0], coordsSelf[1] + 8];
|
|
1403
|
+
break;
|
|
1404
|
+
case 1:
|
|
1405
|
+
coordsSelfAnfDock = [coordsSelf[0] + 8, coordsSelf[1] + 16];
|
|
1406
|
+
coordsSelfCenter = [coordsSelf[0] + 8, coordsSelf[1] + 8];
|
|
1407
|
+
coordsSelfEndDock = [coordsSelf[0] + 8, coordsSelf[1]];
|
|
1408
|
+
break;
|
|
1409
|
+
case 2:
|
|
1410
|
+
coordsSelfAnfDock = [coordsSelf[0], coordsSelf[1] + 8];
|
|
1411
|
+
coordsSelfCenter = [coordsSelf[0] + 8, coordsSelf[1] + 8];
|
|
1412
|
+
coordsSelfEndDock = [coordsSelf[0] + 16, coordsSelf[1] + 8];
|
|
1413
|
+
break;
|
|
1414
|
+
case 3:
|
|
1415
|
+
coordsSelfAnfDock = [coordsSelf[0] + 8, coordsSelf[1]];
|
|
1416
|
+
coordsSelfCenter = [coordsSelf[0] + 8, coordsSelf[1] + 8];
|
|
1417
|
+
coordsSelfEndDock = [coordsSelf[0] + 8, coordsSelf[1] + 16];
|
|
1418
|
+
break;
|
|
1419
|
+
}
|
|
1420
|
+
let bendnodeOfAnf;
|
|
1421
|
+
let bendnodeOfEnd;
|
|
1422
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1423
|
+
case 0:
|
|
1424
|
+
case 2:
|
|
1425
|
+
coordsSlotAnf[0] += 16;
|
|
1426
|
+
coordsSlotAnf[1] += 12;
|
|
1427
|
+
coordsSlotEnd[0] += 16;
|
|
1428
|
+
coordsSlotEnd[1] += 12;
|
|
1429
|
+
bendnodeOfAnf = [coordsSlotAnf[0], coordsSelfAnfDock[1]];
|
|
1430
|
+
bendnodeOfEnd = [coordsSlotEnd[0], coordsSelfEndDock[1]];
|
|
1431
|
+
break;
|
|
1432
|
+
case 1:
|
|
1433
|
+
case 3:
|
|
1434
|
+
coordsSlotAnf[0] += 12;
|
|
1435
|
+
coordsSlotAnf[1] += 16;
|
|
1436
|
+
coordsSlotEnd[0] += 12;
|
|
1437
|
+
coordsSlotEnd[1] += 16;
|
|
1438
|
+
bendnodeOfAnf = [coordsSelfAnfDock[0], coordsSlotAnf[1]];
|
|
1439
|
+
bendnodeOfEnd = [coordsSelfEndDock[0], coordsSlotEnd[1]];
|
|
1440
|
+
break;
|
|
1441
|
+
}
|
|
1442
|
+
const netzSsabs = yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_ssab, {
|
|
1443
|
+
saabschnitt: {
|
|
1444
|
+
in: [nsgSaabschnittAnf.saabschnitt, nsgSaabschnittEnd.saabschnitt]
|
|
1445
|
+
}
|
|
1446
|
+
});
|
|
1447
|
+
const lkupplungNodes = yield this.getNodesOfLKupplung(netzLKupplung);
|
|
1448
|
+
const netzSsabsIds = new Set(netzSsabs.map(arg => arg.id));
|
|
1449
|
+
const ssabConnectedNodes = lkupplungNodes.filter(elem => netzSsabsIds.has(elem.aknoten) || netzSsabsIds.has(elem.eknoten));
|
|
1450
|
+
const nodePointMap = new Map();
|
|
1451
|
+
if (lkupplungNodes.length === 1 && netzSsabsIds.has(lkupplungNodes[0].aknoten) && netzSsabsIds.has(lkupplungNodes[0].eknoten)) {
|
|
1452
|
+
const rotationValue = 360 - (nsgLKupplungRss.ausrichtung + 1 % 4) * 90;
|
|
1453
|
+
const ssabConnectedNode = ssabConnectedNodes[0];
|
|
1454
|
+
const aKnotenSsab = netzSsabs.find(arg => arg.id === ssabConnectedNode.aknoten);
|
|
1455
|
+
const eKnotenSsab = netzSsabs.find(arg => arg.id === ssabConnectedNode.eknoten);
|
|
1456
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1457
|
+
case 0:
|
|
1458
|
+
case 2:
|
|
1459
|
+
coordsSlotAnf[1] += aKnotenSsab.pos * 8;
|
|
1460
|
+
coordsSlotEnd[1] += eKnotenSsab.pos * 8;
|
|
1461
|
+
break;
|
|
1462
|
+
case 1:
|
|
1463
|
+
case 3:
|
|
1464
|
+
coordsSlotAnf[0] += aKnotenSsab.pos * 8;
|
|
1465
|
+
coordsSlotEnd[0] += eKnotenSsab.pos * 8;
|
|
1466
|
+
break;
|
|
1467
|
+
}
|
|
1468
|
+
if (yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.netz_sestarr3p, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: ssabConnectedNode.id })) {
|
|
1469
|
+
// cause 'starre Verbindungen' are modelled as junctions, there must be two points extracted
|
|
1470
|
+
// those two points are equal to the connectivity node positions and the rotation value is unnecessary
|
|
1471
|
+
const aKnotenPosition = [...coordsSlotAnf];
|
|
1472
|
+
const eKnotenPosition = [...coordsSlotEnd];
|
|
1473
|
+
const junctionCoordinates = [coordsSelfAnfDock, coordsSelfEndDock];
|
|
1474
|
+
nodePointMap.set(ssabConnectedNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoints(junctionCoordinates, null));
|
|
1475
|
+
nodePointMap.set(ssabConnectedNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(aKnotenPosition[0], aKnotenPosition[1], null));
|
|
1476
|
+
nodePointMap.set(ssabConnectedNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(eKnotenPosition[0], eKnotenPosition[1], null));
|
|
1477
|
+
}
|
|
1478
|
+
else {
|
|
1479
|
+
const aKnotenPosition = [...coordsSlotAnf];
|
|
1480
|
+
const eKnotenPosition = [...coordsSlotEnd];
|
|
1481
|
+
const switchCoordinates = [...coordsSelfCenter];
|
|
1482
|
+
nodePointMap.set(ssabConnectedNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(switchCoordinates[0], switchCoordinates[1], rotationValue));
|
|
1483
|
+
nodePointMap.set(ssabConnectedNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(aKnotenPosition[0], aKnotenPosition[1], null));
|
|
1484
|
+
nodePointMap.set(ssabConnectedNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(eKnotenPosition[0], eKnotenPosition[1], null));
|
|
1485
|
+
}
|
|
1486
|
+
const terminalAnfUUID = this.lookupTerminalUUID(ssabConnectedNode.aknoten, ssabConnectedNode.id);
|
|
1487
|
+
// if (!this.exportedTerminalUUIDs.has(terminalAnfUUID)) {
|
|
1488
|
+
this.exportedTerminalUUIDs.add(terminalAnfUUID);
|
|
1489
|
+
const terminalAnfDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1490
|
+
points: [coordsSelfAnfDock, bendnodeOfAnf, coordsSlotAnf],
|
|
1491
|
+
terminalUuid: terminalAnfUUID
|
|
1492
|
+
});
|
|
1493
|
+
resultingDiagramObjects.push(terminalAnfDiagramObject);
|
|
1494
|
+
// }
|
|
1495
|
+
const terminalEndUUID = this.lookupTerminalUUID(ssabConnectedNode.eknoten, ssabConnectedNode.id);
|
|
1496
|
+
// if (!this.exportedTerminalUUIDs.has(terminalEndUUID)) {
|
|
1497
|
+
this.exportedTerminalUUIDs.add(terminalEndUUID);
|
|
1498
|
+
const terminalEndDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1499
|
+
points: [coordsSelfEndDock, bendnodeOfEnd, coordsSlotEnd],
|
|
1500
|
+
terminalUuid: terminalEndUUID
|
|
1501
|
+
});
|
|
1502
|
+
resultingDiagramObjects.push(terminalEndDiagramObject);
|
|
1503
|
+
// }
|
|
1504
|
+
}
|
|
1505
|
+
else if (lkupplungNodes.length === 2 &&
|
|
1506
|
+
(netzSsabsIds.has(lkupplungNodes[0].aknoten) || netzSsabsIds.has(lkupplungNodes[0].eknoten)) &&
|
|
1507
|
+
(netzSsabsIds.has(lkupplungNodes[1].aknoten) || netzSsabsIds.has(lkupplungNodes[1].eknoten))) {
|
|
1508
|
+
let aKnotenSsabNode;
|
|
1509
|
+
let aKnotenSsabId;
|
|
1510
|
+
let eKnotenSsabNode;
|
|
1511
|
+
let eKnotenSsabId;
|
|
1512
|
+
let inbetweenNodeId;
|
|
1513
|
+
if (netzSsabsIds.has(lkupplungNodes[0].aknoten)) {
|
|
1514
|
+
aKnotenSsabId = lkupplungNodes[0].aknoten;
|
|
1515
|
+
aKnotenSsabNode = lkupplungNodes[0];
|
|
1516
|
+
eKnotenSsabId = lkupplungNodes[1].eknoten;
|
|
1517
|
+
eKnotenSsabNode = lkupplungNodes[1];
|
|
1518
|
+
inbetweenNodeId = lkupplungNodes[1].aknoten;
|
|
1519
|
+
}
|
|
1520
|
+
else {
|
|
1521
|
+
aKnotenSsabId = lkupplungNodes[1].aknoten;
|
|
1522
|
+
aKnotenSsabNode = lkupplungNodes[1];
|
|
1523
|
+
eKnotenSsabId = lkupplungNodes[0].eknoten;
|
|
1524
|
+
eKnotenSsabNode = lkupplungNodes[0];
|
|
1525
|
+
inbetweenNodeId = lkupplungNodes[0].aknoten;
|
|
1526
|
+
}
|
|
1527
|
+
const aKnotenSsab = netzSsabs.find(arg => arg.id === aKnotenSsabNode.aknoten);
|
|
1528
|
+
const eKnotenSsab = netzSsabs.find(arg => arg.id === eKnotenSsabNode.eknoten);
|
|
1529
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1530
|
+
case 0:
|
|
1531
|
+
case 2:
|
|
1532
|
+
coordsSlotAnf[1] += aKnotenSsab.pos * 8;
|
|
1533
|
+
coordsSlotEnd[1] += eKnotenSsab.pos * 8;
|
|
1534
|
+
break;
|
|
1535
|
+
case 1:
|
|
1536
|
+
case 3:
|
|
1537
|
+
coordsSlotAnf[0] += aKnotenSsab.pos * 8;
|
|
1538
|
+
coordsSlotEnd[0] += eKnotenSsab.pos * 8;
|
|
1539
|
+
break;
|
|
1540
|
+
}
|
|
1541
|
+
const aKnotenPosition = [...coordsSlotAnf];
|
|
1542
|
+
const eKnotenPosition = [...coordsSlotEnd];
|
|
1543
|
+
let rotationValue;
|
|
1544
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1545
|
+
case 0:
|
|
1546
|
+
case 2:
|
|
1547
|
+
rotationValue = 0;
|
|
1548
|
+
break;
|
|
1549
|
+
case 1:
|
|
1550
|
+
case 3:
|
|
1551
|
+
rotationValue = 270;
|
|
1552
|
+
break;
|
|
1553
|
+
}
|
|
1554
|
+
nodePointMap.set(aKnotenSsabNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(aKnotenPosition[0], aKnotenPosition[1], null));
|
|
1555
|
+
const terminalAnfUUID = this.lookupTerminalUUID(aKnotenSsabNode.aknoten, aKnotenSsabNode.id);
|
|
1556
|
+
// if (!this.exportedTerminalUUIDs.has(terminalAnfUUID)) {
|
|
1557
|
+
this.exportedTerminalUUIDs.add(terminalAnfUUID);
|
|
1558
|
+
const terminalAnfDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1559
|
+
points: [aKnotenPosition, aKnotenPosition],
|
|
1560
|
+
terminalUuid: terminalAnfUUID
|
|
1561
|
+
});
|
|
1562
|
+
resultingDiagramObjects.push(terminalAnfDiagramObject);
|
|
1563
|
+
// }
|
|
1564
|
+
nodePointMap.set(aKnotenSsabNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(aKnotenPosition[0], aKnotenPosition[1], rotationValue));
|
|
1565
|
+
const terminalAnfInbetweenUUID = this.lookupTerminalUUID(inbetweenNodeId, aKnotenSsabNode.id);
|
|
1566
|
+
// if (!this.exportedTerminalUUIDs.has(terminalAnfInbetweenUUID)) {
|
|
1567
|
+
this.exportedTerminalUUIDs.add(terminalAnfInbetweenUUID);
|
|
1568
|
+
const terminalAnfInbetweenDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1569
|
+
points: [aKnotenPosition, bendnodeOfAnf, coordsSelfCenter],
|
|
1570
|
+
terminalUuid: terminalAnfInbetweenUUID
|
|
1571
|
+
});
|
|
1572
|
+
resultingDiagramObjects.push(terminalAnfInbetweenDiagramObject);
|
|
1573
|
+
// }
|
|
1574
|
+
nodePointMap.set(inbetweenNodeId, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(coordsSelfCenter[0], coordsSelfCenter[1], null));
|
|
1575
|
+
const terminalEndInbetweenUUID = this.lookupTerminalUUID(inbetweenNodeId, eKnotenSsabNode.id);
|
|
1576
|
+
// if (!this.exportedTerminalUUIDs.has(terminalEndInbetweenUUID)) {
|
|
1577
|
+
this.exportedTerminalUUIDs.add(terminalEndInbetweenUUID);
|
|
1578
|
+
const terminalndInbetweenDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1579
|
+
points: [eKnotenPosition, bendnodeOfEnd, coordsSelfCenter],
|
|
1580
|
+
terminalUuid: terminalEndInbetweenUUID
|
|
1581
|
+
});
|
|
1582
|
+
resultingDiagramObjects.push(terminalndInbetweenDiagramObject);
|
|
1583
|
+
// }
|
|
1584
|
+
nodePointMap.set(eKnotenSsabNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(eKnotenPosition[0], eKnotenPosition[1], rotationValue));
|
|
1585
|
+
const terminalEndUUID = this.lookupTerminalUUID(eKnotenSsabNode.eknoten, eKnotenSsabNode.id);
|
|
1586
|
+
// if (!this.exportedTerminalUUIDs.has(terminalEndUUID)) {
|
|
1587
|
+
this.exportedTerminalUUIDs.add(terminalEndUUID);
|
|
1588
|
+
const terminalEndDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1589
|
+
points: [eKnotenPosition, eKnotenPosition],
|
|
1590
|
+
terminalUuid: terminalEndUUID
|
|
1591
|
+
});
|
|
1592
|
+
resultingDiagramObjects.push(terminalEndDiagramObject);
|
|
1593
|
+
// }
|
|
1594
|
+
nodePointMap.set(eKnotenSsabNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(eKnotenPosition[0], eKnotenPosition[1], null));
|
|
1595
|
+
}
|
|
1596
|
+
else {
|
|
1597
|
+
for (const ssabConnectedNode of ssabConnectedNodes) {
|
|
1598
|
+
const idOfSsab = netzSsabsIds.has(ssabConnectedNode.aknoten) ? ssabConnectedNode.aknoten : ssabConnectedNode.eknoten;
|
|
1599
|
+
const leftUpperCornerOfSsab = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.netz_ssab, netzSsabs.find(arg => arg.id === idOfSsab), nsgLKupplungRss.variantennr);
|
|
1600
|
+
// needed to get the correct behaviour for universal couplings
|
|
1601
|
+
const breakerNode = lkupplungNodes.find(arg => arg.aknoten === ssabConnectedNode.eknoten);
|
|
1602
|
+
if (netzSsabsIds.has(ssabConnectedNode.aknoten) && breakerNode) {
|
|
1603
|
+
// place on 'left' side of the coupling-field (but at the end of the busbar)
|
|
1604
|
+
let rotationValue;
|
|
1605
|
+
const position = [null, null];
|
|
1606
|
+
const aKnotenPosition = [null, null]; // connectivity node to busbar
|
|
1607
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1608
|
+
case 0: // left to right
|
|
1609
|
+
position[0] = coordsSlotAnf[0];
|
|
1610
|
+
position[1] = leftUpperCornerOfSsab[1];
|
|
1611
|
+
rotationValue = 0;
|
|
1612
|
+
aKnotenPosition[0] = coordsSlotAnf[0];
|
|
1613
|
+
aKnotenPosition[1] = leftUpperCornerOfSsab[1];
|
|
1614
|
+
break;
|
|
1615
|
+
case 1: // top to bottom
|
|
1616
|
+
position[0] = leftUpperCornerOfSsab[0];
|
|
1617
|
+
position[1] = coordsSlotAnf[1];
|
|
1618
|
+
rotationValue = 270;
|
|
1619
|
+
aKnotenPosition[0] = leftUpperCornerOfSsab[0];
|
|
1620
|
+
aKnotenPosition[1] = coordsSlotAnf[1];
|
|
1621
|
+
break;
|
|
1622
|
+
case 2: // right to left
|
|
1623
|
+
position[0] = coordsSlotAnf[0];
|
|
1624
|
+
position[1] = leftUpperCornerOfSsab[1];
|
|
1625
|
+
rotationValue = 0;
|
|
1626
|
+
aKnotenPosition[0] = coordsSlotAnf[0];
|
|
1627
|
+
aKnotenPosition[1] = leftUpperCornerOfSsab[1];
|
|
1628
|
+
break;
|
|
1629
|
+
case 3: // bottom to top
|
|
1630
|
+
position[0] = leftUpperCornerOfSsab[0];
|
|
1631
|
+
position[1] = coordsSlotAnf[1];
|
|
1632
|
+
rotationValue = 270;
|
|
1633
|
+
aKnotenPosition[0] = leftUpperCornerOfSsab[0];
|
|
1634
|
+
aKnotenPosition[1] = coordsSlotAnf[1];
|
|
1635
|
+
break;
|
|
1636
|
+
}
|
|
1637
|
+
nodePointMap.set(ssabConnectedNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(position[0], position[1], rotationValue));
|
|
1638
|
+
nodePointMap.set(ssabConnectedNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(aKnotenPosition[0], aKnotenPosition[1], null));
|
|
1639
|
+
}
|
|
1640
|
+
else {
|
|
1641
|
+
// place on 'right' side of the coupling-field (but at the start of the busbar)
|
|
1642
|
+
let rotationValue;
|
|
1643
|
+
const position = [null, null];
|
|
1644
|
+
const eKnotenPosition = [null, null]; // connectivity node to busbar
|
|
1645
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
1646
|
+
case 0: // left to right
|
|
1647
|
+
position[0] = coordsSlotEnd[0];
|
|
1648
|
+
position[1] = leftUpperCornerOfSsab[1];
|
|
1649
|
+
rotationValue = 0;
|
|
1650
|
+
eKnotenPosition[0] = coordsSlotEnd[0];
|
|
1651
|
+
eKnotenPosition[1] = leftUpperCornerOfSsab[1];
|
|
1652
|
+
break;
|
|
1653
|
+
case 1: // top to bottom
|
|
1654
|
+
position[0] = leftUpperCornerOfSsab[0];
|
|
1655
|
+
position[1] = coordsSlotEnd[1];
|
|
1656
|
+
rotationValue = 270;
|
|
1657
|
+
eKnotenPosition[0] = leftUpperCornerOfSsab[0];
|
|
1658
|
+
eKnotenPosition[1] = coordsSlotEnd[1];
|
|
1659
|
+
break;
|
|
1660
|
+
case 2: // right to left
|
|
1661
|
+
position[0] = coordsSlotEnd[0];
|
|
1662
|
+
position[1] = leftUpperCornerOfSsab[1];
|
|
1663
|
+
rotationValue = 0;
|
|
1664
|
+
eKnotenPosition[0] = coordsSlotEnd[0];
|
|
1665
|
+
eKnotenPosition[1] = leftUpperCornerOfSsab[1];
|
|
1666
|
+
break;
|
|
1667
|
+
case 3: // bottom to top
|
|
1668
|
+
position[0] = leftUpperCornerOfSsab[0];
|
|
1669
|
+
position[1] = coordsSlotEnd[1];
|
|
1670
|
+
rotationValue = 270;
|
|
1671
|
+
eKnotenPosition[0] = leftUpperCornerOfSsab[0];
|
|
1672
|
+
eKnotenPosition[1] = coordsSlotEnd[1];
|
|
1673
|
+
break;
|
|
1674
|
+
}
|
|
1675
|
+
nodePointMap.set(ssabConnectedNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(position[0], position[1], rotationValue));
|
|
1676
|
+
nodePointMap.set(
|
|
1677
|
+
// needed to get the correct behaviour for universal couplings
|
|
1678
|
+
netzSsabsIds.has(ssabConnectedNode.aknoten) ? ssabConnectedNode.aknoten : ssabConnectedNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(eKnotenPosition[0], eKnotenPosition[1], null));
|
|
1679
|
+
}
|
|
1680
|
+
}
|
|
1681
|
+
if (ssabConnectedNodes.length > 2) {
|
|
1682
|
+
// universal-coupling ==> breaker must be placed 'on top' of the coupling
|
|
1683
|
+
const startSsabConnectedNode = lkupplungNodes.filter(elem => netzSsabsIds.has(elem.aknoten));
|
|
1684
|
+
// if (startSsabConnectedNode.length === 1 && !nodePointMap.has(startSsabConnectedNode[0].eknoten)) {
|
|
1685
|
+
const breakerNode = lkupplungNodes.find(arg => arg.aknoten === startSsabConnectedNode[0].eknoten || arg.eknoten === startSsabConnectedNode[0].eknoten);
|
|
1686
|
+
const rotationValue = 360 - (nsgLKupplungRss.ausrichtung + 1 % 4) * 90;
|
|
1687
|
+
nodePointMap.set(breakerNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(coordsSelfCenter[0], coordsSelfCenter[1], rotationValue));
|
|
1688
|
+
nodePointMap.set(breakerNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(bendnodeOfAnf[0], bendnodeOfAnf[1], null));
|
|
1689
|
+
nodePointMap.set(breakerNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(bendnodeOfEnd[0], bendnodeOfEnd[1], null));
|
|
1690
|
+
}
|
|
1691
|
+
else {
|
|
1692
|
+
const startSsabConnectedNode = lkupplungNodes.filter(elem => netzSsabsIds.has(elem.aknoten));
|
|
1693
|
+
if (startSsabConnectedNode.length === 1 && !nodePointMap.has(startSsabConnectedNode[0].eknoten)) {
|
|
1694
|
+
const centeredNode = lkupplungNodes.find(arg => arg.aknoten === startSsabConnectedNode[0].eknoten);
|
|
1695
|
+
const rotationValue = 360 - (nsgLKupplungRss.ausrichtung + 1 % 4) * 90;
|
|
1696
|
+
nodePointMap.set(centeredNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(coordsSelfCenter[0], coordsSelfCenter[1], rotationValue));
|
|
1697
|
+
nodePointMap.set(centeredNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(bendnodeOfAnf[0], bendnodeOfAnf[1], null));
|
|
1698
|
+
nodePointMap.set(centeredNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(bendnodeOfEnd[0], bendnodeOfEnd[1], null));
|
|
1699
|
+
}
|
|
1700
|
+
}
|
|
1701
|
+
/* ---------- ---------- ---------- */
|
|
1702
|
+
// BEGIN: Terminal-Export
|
|
1703
|
+
for (const lkupplungNode of lkupplungNodes) {
|
|
1704
|
+
const doBackwardConnectivityNode = nodePointMap.get(lkupplungNode.aknoten);
|
|
1705
|
+
const doConductingEquipment = nodePointMap.get(lkupplungNode.id);
|
|
1706
|
+
const doForwardConnectivityNode = nodePointMap.get(lkupplungNode.eknoten);
|
|
1707
|
+
const dopBackwardConnectivityNode = doBackwardConnectivityNode === null || doBackwardConnectivityNode === void 0 ? void 0 : doBackwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
1708
|
+
const dopsConductingEquipment = doConductingEquipment === null || doConductingEquipment === void 0 ? void 0 : doConductingEquipment.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition]);
|
|
1709
|
+
const dopForwardConnectivityNode = doForwardConnectivityNode === null || doForwardConnectivityNode === void 0 ? void 0 : doForwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
1710
|
+
if (!dopBackwardConnectivityNode || !dopsConductingEquipment || !dopForwardConnectivityNode)
|
|
1711
|
+
continue;
|
|
1712
|
+
const backwardTerminalUUID = this.lookupTerminalUUID(lkupplungNode.aknoten, lkupplungNode.id);
|
|
1713
|
+
// if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
1714
|
+
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
1715
|
+
const terminalbackwardDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1716
|
+
cePoints: dopsConductingEquipment[0], cnPoints: dopBackwardConnectivityNode,
|
|
1717
|
+
terminalUuid: backwardTerminalUUID
|
|
1718
|
+
});
|
|
1719
|
+
resultingDiagramObjects.push(terminalbackwardDiagramObject);
|
|
1720
|
+
// }
|
|
1721
|
+
const forwardTerminalUUID = this.lookupTerminalUUID(lkupplungNode.eknoten, lkupplungNode.id);
|
|
1722
|
+
// if (!this.exportedTerminalUUIDs.has(forwardTerminalUUID)) {
|
|
1723
|
+
this.exportedTerminalUUIDs.add(forwardTerminalUUID);
|
|
1724
|
+
const terminalforwardDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1725
|
+
cePoints: dopsConductingEquipment[dopsConductingEquipment.length - 1], cnPoints: dopForwardConnectivityNode,
|
|
1726
|
+
terminalUuid: forwardTerminalUUID
|
|
1727
|
+
});
|
|
1728
|
+
resultingDiagramObjects.push(terminalforwardDiagramObject);
|
|
1729
|
+
// }
|
|
1730
|
+
}
|
|
1731
|
+
// END: Terminal-Export
|
|
1732
|
+
/* ---------- ---------- ---------- */
|
|
1733
|
+
}
|
|
1734
|
+
for (const nodePointEntry of nodePointMap.entries()) {
|
|
1735
|
+
const key = nodePointEntry[0];
|
|
1736
|
+
const value = nodePointEntry[1];
|
|
1737
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: key })) !== null && _b !== void 0 ? _b : undefined;
|
|
1738
|
+
value.identifiedObjectUUID = cimObjectUUID;
|
|
1739
|
+
resultingDiagramObjects.push(value);
|
|
1740
|
+
}
|
|
927
1741
|
return resultingDiagramObjects;
|
|
928
1742
|
});
|
|
929
1743
|
}
|
|
1744
|
+
/**
|
|
1745
|
+
* getRelPos
|
|
1746
|
+
*/
|
|
930
1747
|
getRelPos(nsgLeitung, aknoten) {
|
|
931
1748
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
932
|
-
const netzLeitung =
|
|
933
|
-
|
|
934
|
-
|
|
1749
|
+
// const netzLeitung = await this.dbObjectGraph.findObjectByKey(i7TableNames.netz_leitung,
|
|
1750
|
+
// i7SchemaKeyNames.IdOnlyKey, { id: nsgLeitung.leitung }
|
|
1751
|
+
// );
|
|
1752
|
+
// if (!netzLeitung) return;
|
|
935
1753
|
const idOfNsgKnoten = aknoten ? nsgLeitung.anschlussanf : nsgLeitung.anschlussend;
|
|
936
1754
|
const typedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
937
1755
|
variantennr: nsgLeitung.variantennr, id: idOfNsgKnoten
|
|
@@ -943,6 +1761,10 @@ class DLConverterI7 {
|
|
|
943
1761
|
const relPos = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgknotenso, object);
|
|
944
1762
|
return [relPos[0] + 32 / 2 - 2, relPos[1] + 32 / 2 - 2];
|
|
945
1763
|
}
|
|
1764
|
+
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgknotenhgue) {
|
|
1765
|
+
const relPos = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgknotenhgue, object);
|
|
1766
|
+
return [relPos[0] + 32 / 2 - 2, relPos[1] + 32 / 2 - 2];
|
|
1767
|
+
}
|
|
946
1768
|
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld) {
|
|
947
1769
|
const nsgSchaltfeld = object;
|
|
948
1770
|
const nsgSaabschnitt = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgSchaltfeld.variantennr, id: nsgSchaltfeld.nsgsaa });
|
|
@@ -979,9 +1801,16 @@ class DLConverterI7 {
|
|
|
979
1801
|
relPos[1] -= 2;
|
|
980
1802
|
return relPos;
|
|
981
1803
|
}
|
|
1804
|
+
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig) {
|
|
1805
|
+
const relPos = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig, object);
|
|
1806
|
+
return [relPos[0] + 32 / 2 - 2, relPos[1] + 32 / 2 - 2];
|
|
1807
|
+
}
|
|
982
1808
|
return [];
|
|
983
1809
|
});
|
|
984
1810
|
}
|
|
1811
|
+
/**
|
|
1812
|
+
* convertSchemaKpfeld
|
|
1813
|
+
*/
|
|
985
1814
|
convertSchemaKpfeld(nsgKpfeld) {
|
|
986
1815
|
var _a, _b;
|
|
987
1816
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -1121,15 +1950,19 @@ class DLConverterI7 {
|
|
|
1121
1950
|
const backwardTerminalUUID = this.lookupTerminalUUID(kpfeldNode.aknoten, kpfeldNode.id);
|
|
1122
1951
|
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
1123
1952
|
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
1124
|
-
const terminalDiagramObject =
|
|
1125
|
-
|
|
1953
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1954
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopBackwardConnectivityNode],
|
|
1955
|
+
terminalUuid: backwardTerminalUUID
|
|
1956
|
+
});
|
|
1126
1957
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1127
1958
|
}
|
|
1128
1959
|
const forwardTerminalUUID = this.lookupTerminalUUID(kpfeldNode.eknoten, kpfeldNode.id);
|
|
1129
1960
|
if (!this.exportedTerminalUUIDs.has(forwardTerminalUUID)) {
|
|
1130
1961
|
this.exportedTerminalUUIDs.add(forwardTerminalUUID);
|
|
1131
|
-
const terminalDiagramObject =
|
|
1132
|
-
|
|
1962
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
1963
|
+
cePoints: [...dopConductingEquipment], cnPoints: [...dopForwardConnectivityNode],
|
|
1964
|
+
terminalUuid: forwardTerminalUUID
|
|
1965
|
+
});
|
|
1133
1966
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1134
1967
|
}
|
|
1135
1968
|
}
|
|
@@ -1254,16 +2087,18 @@ class DLConverterI7 {
|
|
|
1254
2087
|
bendNode[1] = dopBackwardConnectivityNode[1];
|
|
1255
2088
|
break;
|
|
1256
2089
|
}
|
|
1257
|
-
backwardTerminalPoints = [[...
|
|
2090
|
+
backwardTerminalPoints = [[...dopConductingEquipment], bendNode, [...dopBackwardConnectivityNode]];
|
|
1258
2091
|
}
|
|
1259
2092
|
else {
|
|
1260
|
-
backwardTerminalPoints = [[...
|
|
2093
|
+
backwardTerminalPoints = [[...dopConductingEquipment], [...dopBackwardConnectivityNode]];
|
|
1261
2094
|
}
|
|
1262
2095
|
const backwardTerminalUUID = this.lookupTerminalUUID(kpfeldNode.aknoten, kpfeldNode.id);
|
|
1263
2096
|
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
1264
2097
|
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
1265
|
-
const terminalDiagramObject =
|
|
1266
|
-
|
|
2098
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2099
|
+
points: backwardTerminalPoints,
|
|
2100
|
+
terminalUuid: backwardTerminalUUID
|
|
2101
|
+
});
|
|
1267
2102
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1268
2103
|
}
|
|
1269
2104
|
let forwardTerminalPoints;
|
|
@@ -1282,16 +2117,18 @@ class DLConverterI7 {
|
|
|
1282
2117
|
bendNode[1] = dopForwardConnectivityNode[1];
|
|
1283
2118
|
break;
|
|
1284
2119
|
}
|
|
1285
|
-
forwardTerminalPoints = [[...
|
|
2120
|
+
forwardTerminalPoints = [[...dopConductingEquipment], bendNode, [...dopForwardConnectivityNode]];
|
|
1286
2121
|
}
|
|
1287
2122
|
else {
|
|
1288
|
-
forwardTerminalPoints = [[...
|
|
2123
|
+
forwardTerminalPoints = [[...dopConductingEquipment], [...dopForwardConnectivityNode]];
|
|
1289
2124
|
}
|
|
1290
2125
|
const forwardTerminalUUID = this.lookupTerminalUUID(kpfeldNode.eknoten, kpfeldNode.id);
|
|
1291
2126
|
if (!this.exportedTerminalUUIDs.has(forwardTerminalUUID)) {
|
|
1292
2127
|
this.exportedTerminalUUIDs.add(forwardTerminalUUID);
|
|
1293
|
-
const terminalDiagramObject =
|
|
1294
|
-
|
|
2128
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2129
|
+
points: forwardTerminalPoints,
|
|
2130
|
+
terminalUuid: forwardTerminalUUID
|
|
2131
|
+
});
|
|
1295
2132
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1296
2133
|
}
|
|
1297
2134
|
}
|
|
@@ -1308,6 +2145,9 @@ class DLConverterI7 {
|
|
|
1308
2145
|
return resultingDiagramObjects;
|
|
1309
2146
|
});
|
|
1310
2147
|
}
|
|
2148
|
+
/**
|
|
2149
|
+
* convertSchemaLKupplung
|
|
2150
|
+
*/
|
|
1311
2151
|
convertSchemaLKupplung(nsgLKupplung, netzLKupplung) {
|
|
1312
2152
|
var _a, _b;
|
|
1313
2153
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -1686,21 +2526,27 @@ class DLConverterI7 {
|
|
|
1686
2526
|
const doBackwardConnectivityNode = nodePointMap.get(lkupplungNode.aknoten);
|
|
1687
2527
|
const doConductingEquipment = nodePointMap.get(lkupplungNode.id);
|
|
1688
2528
|
const doForwardConnectivityNode = nodePointMap.get(lkupplungNode.eknoten);
|
|
1689
|
-
const dopBackwardConnectivityNode = doBackwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
1690
|
-
const dopsConductingEquipment = doConductingEquipment.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition]);
|
|
1691
|
-
const dopForwardConnectivityNode = doForwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
2529
|
+
const dopBackwardConnectivityNode = doBackwardConnectivityNode === null || doBackwardConnectivityNode === void 0 ? void 0 : doBackwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
2530
|
+
const dopsConductingEquipment = doConductingEquipment === null || doConductingEquipment === void 0 ? void 0 : doConductingEquipment.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition]);
|
|
2531
|
+
const dopForwardConnectivityNode = doForwardConnectivityNode === null || doForwardConnectivityNode === void 0 ? void 0 : doForwardConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
2532
|
+
if (!dopBackwardConnectivityNode || !dopsConductingEquipment || !dopForwardConnectivityNode)
|
|
2533
|
+
continue;
|
|
1692
2534
|
const backwardTerminalUUID = this.lookupTerminalUUID(lkupplungNode.aknoten, lkupplungNode.id);
|
|
1693
2535
|
if (!this.exportedTerminalUUIDs.has(backwardTerminalUUID)) {
|
|
1694
2536
|
this.exportedTerminalUUIDs.add(backwardTerminalUUID);
|
|
1695
|
-
const terminalDiagramObject =
|
|
1696
|
-
|
|
2537
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2538
|
+
cePoints: dopsConductingEquipment[0], cnPoints: dopBackwardConnectivityNode,
|
|
2539
|
+
terminalUuid: backwardTerminalUUID
|
|
2540
|
+
});
|
|
1697
2541
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1698
2542
|
}
|
|
1699
2543
|
const forwardTerminalUUID = this.lookupTerminalUUID(lkupplungNode.eknoten, lkupplungNode.id);
|
|
1700
2544
|
if (!this.exportedTerminalUUIDs.has(forwardTerminalUUID)) {
|
|
1701
2545
|
this.exportedTerminalUUIDs.add(forwardTerminalUUID);
|
|
1702
|
-
const terminalDiagramObject =
|
|
1703
|
-
|
|
2546
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2547
|
+
cePoints: dopsConductingEquipment[dopsConductingEquipment.length - 1], cnPoints: dopForwardConnectivityNode,
|
|
2548
|
+
terminalUuid: forwardTerminalUUID
|
|
2549
|
+
});
|
|
1704
2550
|
resultingDiagramObjects.push(terminalDiagramObject);
|
|
1705
2551
|
}
|
|
1706
2552
|
}
|
|
@@ -1716,6 +2562,385 @@ class DLConverterI7 {
|
|
|
1716
2562
|
return resultingDiagramObjects;
|
|
1717
2563
|
});
|
|
1718
2564
|
}
|
|
2565
|
+
/**
|
|
2566
|
+
* convertSchemaStpschiene
|
|
2567
|
+
*/
|
|
2568
|
+
convertSchemaLKondensator(nsgLKondensator) {
|
|
2569
|
+
var _a, _b;
|
|
2570
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2571
|
+
const resultingDiagramObjects = [];
|
|
2572
|
+
const leftUpperCornerOfNsgLKondensator = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsglkondensator, nsgLKondensator);
|
|
2573
|
+
const lkondensator = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.netz_lkondensator, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLKondensator.lkondensator });
|
|
2574
|
+
if (!lkondensator)
|
|
2575
|
+
return null;
|
|
2576
|
+
const pos = [...leftUpperCornerOfNsgLKondensator];
|
|
2577
|
+
const anfPos = [...leftUpperCornerOfNsgLKondensator];
|
|
2578
|
+
const endPos = [...leftUpperCornerOfNsgLKondensator];
|
|
2579
|
+
switch (nsgLKondensator.ausrichtung) {
|
|
2580
|
+
case 0: // <-- anschlussend || anschlussanf -->
|
|
2581
|
+
pos[0] += 24;
|
|
2582
|
+
pos[1] += 16;
|
|
2583
|
+
anfPos[0] += 48;
|
|
2584
|
+
anfPos[1] += 16;
|
|
2585
|
+
endPos[0] += 0;
|
|
2586
|
+
endPos[1] += 16;
|
|
2587
|
+
break;
|
|
2588
|
+
case 1:
|
|
2589
|
+
pos[0] += 16;
|
|
2590
|
+
pos[1] += 24;
|
|
2591
|
+
anfPos[0] += 16;
|
|
2592
|
+
anfPos[1] += 48;
|
|
2593
|
+
endPos[0] += 0;
|
|
2594
|
+
endPos[1] += 16;
|
|
2595
|
+
break;
|
|
2596
|
+
case 2:
|
|
2597
|
+
pos[0] += 24;
|
|
2598
|
+
pos[1] += 16;
|
|
2599
|
+
anfPos[0] += 0;
|
|
2600
|
+
anfPos[1] += 16;
|
|
2601
|
+
endPos[0] += 48;
|
|
2602
|
+
endPos[1] += 16;
|
|
2603
|
+
break;
|
|
2604
|
+
case 3:
|
|
2605
|
+
pos[0] += 16;
|
|
2606
|
+
pos[1] += 24;
|
|
2607
|
+
anfPos[0] += 0;
|
|
2608
|
+
anfPos[1] += 16;
|
|
2609
|
+
endPos[0] += 16;
|
|
2610
|
+
endPos[1] += 48;
|
|
2611
|
+
break;
|
|
2612
|
+
}
|
|
2613
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgLKondensator.lkondensator })) !== null && _b !== void 0 ? _b : undefined;
|
|
2614
|
+
const doLKondensator = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
2615
|
+
xPosition: pos[0],
|
|
2616
|
+
yPosition: pos[1],
|
|
2617
|
+
rotation: util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(nsgLKondensator.ausrichtung),
|
|
2618
|
+
diagramObjectName: `DiagramObject ${nsgLKondensator.lkondensator}`,
|
|
2619
|
+
identifiedObjectUUID: cimObjectUUID
|
|
2620
|
+
});
|
|
2621
|
+
this.addExportedDiagramObjectToGraph(nsgLKondensator.variantennr, nsgLKondensator.id, doLKondensator);
|
|
2622
|
+
resultingDiagramObjects.push(doLKondensator);
|
|
2623
|
+
/* ---------- ---------- ---------- */
|
|
2624
|
+
// BEGIN: Terminal-Export
|
|
2625
|
+
const anschlussanfTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
2626
|
+
variantennr: nsgLKondensator.variantennr, id: nsgLKondensator.anschlussanf
|
|
2627
|
+
});
|
|
2628
|
+
const anfTerminalUUID = this.lookupTerminalUUID(lkondensator.aknoten, nsgLKondensator.lkondensator);
|
|
2629
|
+
if (anschlussanfTypedResult && anfTerminalUUID) {
|
|
2630
|
+
if (!this.exportedTerminalUUIDs.has(anfTerminalUUID)) {
|
|
2631
|
+
const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussanfTypedResult.type, anschlussanfTypedResult.object);
|
|
2632
|
+
this.exportedTerminalUUIDs.add(anfTerminalUUID);
|
|
2633
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2634
|
+
cePoints: anfPos, cnPoints: connectivityNodePosition,
|
|
2635
|
+
terminalUuid: anfTerminalUUID
|
|
2636
|
+
});
|
|
2637
|
+
resultingDiagramObjects.push(terminalDiagramObject);
|
|
2638
|
+
}
|
|
2639
|
+
}
|
|
2640
|
+
const anschlussendTypedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
2641
|
+
variantennr: nsgLKondensator.variantennr, id: nsgLKondensator.anschlussend
|
|
2642
|
+
});
|
|
2643
|
+
const endTerminalUUID = this.lookupTerminalUUID(lkondensator.eknoten, nsgLKondensator.lkondensator);
|
|
2644
|
+
if (anschlussendTypedResult && endTerminalUUID) {
|
|
2645
|
+
if (!this.exportedTerminalUUIDs.has(endTerminalUUID)) {
|
|
2646
|
+
const connectivityNodePosition = yield this.getConnectivityNodePositionFor(anschlussendTypedResult.type, anschlussendTypedResult.object);
|
|
2647
|
+
this.exportedTerminalUUIDs.add(endTerminalUUID);
|
|
2648
|
+
const terminalDiagramObject = this.createTerminalDiagramObjectFromPoints({
|
|
2649
|
+
cePoints: endPos, cnPoints: connectivityNodePosition,
|
|
2650
|
+
terminalUuid: endTerminalUUID
|
|
2651
|
+
});
|
|
2652
|
+
resultingDiagramObjects.push(terminalDiagramObject);
|
|
2653
|
+
}
|
|
2654
|
+
}
|
|
2655
|
+
// const doEndConnectivityNode = this.exportedDiagramObjectsGraph[nsgLKondensator.variantennr][nsgLKondensator.anschlussend];
|
|
2656
|
+
// const dopEndConnectivityNode = doEndConnectivityNode.diagramObjectPoints.map(arg => [arg.xPosition, arg.yPosition])[0];
|
|
2657
|
+
//
|
|
2658
|
+
// const endTerminalUUID = this.lookupTerminalUUID(nsgLKondensator.anschlussend, nsgLKondensator.id);
|
|
2659
|
+
// if (!this.exportedTerminalUUIDs.has(endTerminalUUID)) {
|
|
2660
|
+
// this.exportedTerminalUUIDs.add(endTerminalUUID);
|
|
2661
|
+
// const terminalDiagramObject = DLUtilFunctions.createDiagramObjectWithPoints(
|
|
2662
|
+
// [[...dopEndConnectivityNode], [...endPos]], null
|
|
2663
|
+
// );
|
|
2664
|
+
// terminalDiagramObject.identifiedObjectUUID = endTerminalUUID;
|
|
2665
|
+
// resultingDiagramObjects.push(terminalDiagramObject);
|
|
2666
|
+
// }
|
|
2667
|
+
// END: Terminal-Export
|
|
2668
|
+
/* ---------- ---------- ---------- */
|
|
2669
|
+
return resultingDiagramObjects;
|
|
2670
|
+
});
|
|
2671
|
+
}
|
|
2672
|
+
/**
|
|
2673
|
+
* convertSchemaStpschiene
|
|
2674
|
+
*/
|
|
2675
|
+
convertSchemaStpschiene(nsgStpschiene) {
|
|
2676
|
+
var _a, _b, _c;
|
|
2677
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2678
|
+
const leftUpperCornerOfNsgStpschiene = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpschiene, nsgStpschiene);
|
|
2679
|
+
const length = nsgStpschiene.laenge;
|
|
2680
|
+
const points = [];
|
|
2681
|
+
let topLeft = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
2682
|
+
let bottomRight = new DiagramObjectPoint_1.DiagramObjectPoint();
|
|
2683
|
+
topLeft.xPosition = leftUpperCornerOfNsgStpschiene[0];
|
|
2684
|
+
topLeft.yPosition = leftUpperCornerOfNsgStpschiene[1];
|
|
2685
|
+
if (nsgStpschiene.ausrichtung % 2 === 0) {
|
|
2686
|
+
bottomRight.xPosition = leftUpperCornerOfNsgStpschiene[0] + length * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
2687
|
+
bottomRight.yPosition = leftUpperCornerOfNsgStpschiene[1];
|
|
2688
|
+
topLeft.yPosition += 4;
|
|
2689
|
+
bottomRight.yPosition += 4;
|
|
2690
|
+
}
|
|
2691
|
+
else {
|
|
2692
|
+
bottomRight.xPosition = leftUpperCornerOfNsgStpschiene[0];
|
|
2693
|
+
bottomRight.yPosition = leftUpperCornerOfNsgStpschiene[1] + length * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
2694
|
+
topLeft.xPosition += 4;
|
|
2695
|
+
bottomRight.xPosition += 4;
|
|
2696
|
+
}
|
|
2697
|
+
topLeft.sequenceNumber = 1;
|
|
2698
|
+
bottomRight.sequenceNumber = 2;
|
|
2699
|
+
points.push(topLeft, bottomRight);
|
|
2700
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgStpschiene.stpschiene })) !== null && _b !== void 0 ? _b : undefined;
|
|
2701
|
+
const connectivityNode = this.cimModelGraph.findObjectByUUID(cimObjectUUID);
|
|
2702
|
+
let junction = null;
|
|
2703
|
+
let junctionTerminal = null;
|
|
2704
|
+
if (connectivityNode) {
|
|
2705
|
+
for (const terminal of connectivityNode.terminals.values()) {
|
|
2706
|
+
if (terminal.conductingEquipment instanceof Junction_1.Junction) {
|
|
2707
|
+
junction = terminal.conductingEquipment;
|
|
2708
|
+
junctionTerminal = terminal;
|
|
2709
|
+
break;
|
|
2710
|
+
}
|
|
2711
|
+
}
|
|
2712
|
+
}
|
|
2713
|
+
if (junction && junctionTerminal && !((_c = this.config) === null || _c === void 0 ? void 0 : _c.busbarSectionAsConnectivityNode)) {
|
|
2714
|
+
// compute the position for the ConnectivityNode (the center of the BusbarSection)
|
|
2715
|
+
const centerPosition = [
|
|
2716
|
+
(topLeft.xPosition + bottomRight.xPosition) / 2,
|
|
2717
|
+
(topLeft.yPosition + bottomRight.yPosition) / 2
|
|
2718
|
+
];
|
|
2719
|
+
const doConnectivityNode = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(centerPosition[0], centerPosition[1], null);
|
|
2720
|
+
doConnectivityNode.name = `Stpschiene CN ${nsgStpschiene.stpschiene}`;
|
|
2721
|
+
doConnectivityNode.identifiedObjectUUID = cimObjectUUID;
|
|
2722
|
+
this.addExportedDiagramObjectToGraph(nsgStpschiene.variantennr, nsgStpschiene.id, doConnectivityNode);
|
|
2723
|
+
const doJunction = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), `Stpschiene ${nsgStpschiene.id}`);
|
|
2724
|
+
doJunction.identifiedObjectUUID = junction.getUUID();
|
|
2725
|
+
doJunction.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgStpschiene.ausrichtung);
|
|
2726
|
+
(0, utils_schema_1.copyDiagramObjectPoints)(doJunction, points);
|
|
2727
|
+
this.exportedTerminalUUIDs.add(junctionTerminal.getUUID());
|
|
2728
|
+
const doJunctionTerminal = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoints([[topLeft.xPosition, topLeft.yPosition], [...centerPosition]], null);
|
|
2729
|
+
doJunctionTerminal.identifiedObjectUUID = junctionTerminal.getUUID();
|
|
2730
|
+
return [doJunction, doJunctionTerminal, doConnectivityNode];
|
|
2731
|
+
}
|
|
2732
|
+
else {
|
|
2733
|
+
const doBusbarSectionAsConnectivityNode = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), `Stpschiene CN ${nsgStpschiene.id}`);
|
|
2734
|
+
doBusbarSectionAsConnectivityNode.identifiedObjectUUID = cimObjectUUID;
|
|
2735
|
+
doBusbarSectionAsConnectivityNode.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgStpschiene.ausrichtung);
|
|
2736
|
+
(0, utils_schema_1.copyDiagramObjectPoints)(doBusbarSectionAsConnectivityNode, points);
|
|
2737
|
+
this.addExportedDiagramObjectToGraph(nsgStpschiene.variantennr, nsgStpschiene.id, doBusbarSectionAsConnectivityNode);
|
|
2738
|
+
return [doBusbarSectionAsConnectivityNode];
|
|
2739
|
+
}
|
|
2740
|
+
});
|
|
2741
|
+
}
|
|
2742
|
+
/**
|
|
2743
|
+
* convertSchemaStpknoten
|
|
2744
|
+
*/
|
|
2745
|
+
convertSchemaStpknoten(nsgStpknoten) {
|
|
2746
|
+
var _a, _b;
|
|
2747
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2748
|
+
const resultingDiagramObjects = [];
|
|
2749
|
+
let leftUpperCornerOfNsgStpknoten = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpknoten, nsgStpknoten);
|
|
2750
|
+
const coords = [...leftUpperCornerOfNsgStpknoten];
|
|
2751
|
+
switch (nsgStpknoten.ausrichtung) {
|
|
2752
|
+
case 0:
|
|
2753
|
+
case 2:
|
|
2754
|
+
coords[0] += 8;
|
|
2755
|
+
coords[1] += 16;
|
|
2756
|
+
break;
|
|
2757
|
+
case 1:
|
|
2758
|
+
case 3:
|
|
2759
|
+
coords[0] += 16;
|
|
2760
|
+
coords[1] += 8;
|
|
2761
|
+
break;
|
|
2762
|
+
}
|
|
2763
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgStpknoten.knoten })) !== null && _b !== void 0 ? _b : undefined;
|
|
2764
|
+
const doStpknoten = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
2765
|
+
xPosition: coords[0],
|
|
2766
|
+
yPosition: coords[1],
|
|
2767
|
+
diagramObjectName: 'NsgStpknoten',
|
|
2768
|
+
identifiedObjectUUID: cimObjectUUID
|
|
2769
|
+
});
|
|
2770
|
+
this.addExportedDiagramObjectToGraph(nsgStpknoten.variantennr, nsgStpknoten.id, doStpknoten);
|
|
2771
|
+
resultingDiagramObjects.push(doStpknoten);
|
|
2772
|
+
// // TODO grounding
|
|
2773
|
+
// // check, if there is a ground that must be exported either
|
|
2774
|
+
// const netzKnoten1pelem = await this.dbObjectGraph.findFirstByAttributes(i7TableNames.netz_knoten1pelem, {
|
|
2775
|
+
// id: nsgStpknoten.knoten
|
|
2776
|
+
// });
|
|
2777
|
+
//
|
|
2778
|
+
// if (netzKnoten1pelem && netzKnoten1pelem.geerdet === 1) {
|
|
2779
|
+
//
|
|
2780
|
+
// }
|
|
2781
|
+
return resultingDiagramObjects;
|
|
2782
|
+
});
|
|
2783
|
+
}
|
|
2784
|
+
/**
|
|
2785
|
+
* convertSchemaStpimpedanz
|
|
2786
|
+
*/
|
|
2787
|
+
convertSchemaStpimpedanz(nsgStpimpedanz) {
|
|
2788
|
+
var _a, _b;
|
|
2789
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2790
|
+
const resultingDiagramObjects = [];
|
|
2791
|
+
let leftUpperCornerOfNsgStpimpedanz = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpimpedanz, nsgStpimpedanz);
|
|
2792
|
+
const coords = [...leftUpperCornerOfNsgStpimpedanz];
|
|
2793
|
+
/* width and height by orientation zero */
|
|
2794
|
+
const width = 32;
|
|
2795
|
+
const height = 16;
|
|
2796
|
+
switch (nsgStpimpedanz.ausrichtung) {
|
|
2797
|
+
case 0:
|
|
2798
|
+
case 2:
|
|
2799
|
+
coords[0] += (width / 2);
|
|
2800
|
+
coords[1] += (height / 2);
|
|
2801
|
+
break;
|
|
2802
|
+
case 1:
|
|
2803
|
+
case 3:
|
|
2804
|
+
coords[0] += (height / 2);
|
|
2805
|
+
coords[1] += (width / 2);
|
|
2806
|
+
break;
|
|
2807
|
+
}
|
|
2808
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgStpimpedanz.kdrossel })) !== null && _b !== void 0 ? _b : undefined;
|
|
2809
|
+
const doStpknoten = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
2810
|
+
xPosition: coords[0],
|
|
2811
|
+
yPosition: coords[1],
|
|
2812
|
+
diagramObjectName: 'NsgStpknoten',
|
|
2813
|
+
identifiedObjectUUID: cimObjectUUID
|
|
2814
|
+
});
|
|
2815
|
+
this.addExportedDiagramObjectToGraph(nsgStpimpedanz.variantennr, nsgStpimpedanz.id, doStpknoten);
|
|
2816
|
+
resultingDiagramObjects.push(doStpknoten);
|
|
2817
|
+
return resultingDiagramObjects;
|
|
2818
|
+
});
|
|
2819
|
+
}
|
|
2820
|
+
/**
|
|
2821
|
+
* convertSchemaStpschaltfeld
|
|
2822
|
+
*/
|
|
2823
|
+
convertSchemaStpschaltfeldElemente(nsgStpschaltfeld) {
|
|
2824
|
+
var _a, _b, _c, _d;
|
|
2825
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2826
|
+
const resultingDiagramObjects = [];
|
|
2827
|
+
const leftUpperCornerOfNsgStpSchaltfeld = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpschaltfeld, nsgStpschaltfeld);
|
|
2828
|
+
const nsgStpschiene = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstpschiene, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
2829
|
+
variantennr: nsgStpschaltfeld.variantennr,
|
|
2830
|
+
id: nsgStpschaltfeld.nsgstpschiene
|
|
2831
|
+
});
|
|
2832
|
+
if (!nsgStpschiene)
|
|
2833
|
+
return;
|
|
2834
|
+
if (nsgStpschaltfeld.schaltfeld !== undefined) {
|
|
2835
|
+
const schaltelement1pelem = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.netz_schaltelement1pelem, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgStpschaltfeld.schaltfeld });
|
|
2836
|
+
let bayOrientation = nsgStpschiene.ausrichtung;
|
|
2837
|
+
if (nsgStpschaltfeld.deltaausrichtung === 1) {
|
|
2838
|
+
bayOrientation = (bayOrientation + 2) % 4;
|
|
2839
|
+
}
|
|
2840
|
+
let rotationValue = null;
|
|
2841
|
+
const coordsEquipment = [...leftUpperCornerOfNsgStpSchaltfeld];
|
|
2842
|
+
const coordsConnectivityNodeBusbarSection = [...leftUpperCornerOfNsgStpSchaltfeld];
|
|
2843
|
+
const coordsConnectivityNodeBayEnd = [...leftUpperCornerOfNsgStpSchaltfeld];
|
|
2844
|
+
switch (bayOrientation) {
|
|
2845
|
+
case 0: // TOP
|
|
2846
|
+
rotationValue = 0;
|
|
2847
|
+
coordsEquipment[0] += 8;
|
|
2848
|
+
coordsEquipment[1] += 12;
|
|
2849
|
+
coordsConnectivityNodeBayEnd[0] += 8;
|
|
2850
|
+
// coordsConnectivityNodeBayEnd[1];
|
|
2851
|
+
coordsConnectivityNodeBusbarSection[0] += 8;
|
|
2852
|
+
coordsConnectivityNodeBusbarSection[1] += 20;
|
|
2853
|
+
break;
|
|
2854
|
+
case 1: // RIGHT
|
|
2855
|
+
rotationValue = 90;
|
|
2856
|
+
coordsEquipment[0] += 12;
|
|
2857
|
+
coordsEquipment[1] += 8;
|
|
2858
|
+
coordsConnectivityNodeBayEnd[0] += 24;
|
|
2859
|
+
coordsConnectivityNodeBayEnd[1] += 8;
|
|
2860
|
+
coordsConnectivityNodeBusbarSection[0] += 4;
|
|
2861
|
+
coordsConnectivityNodeBusbarSection[1] += 8;
|
|
2862
|
+
break;
|
|
2863
|
+
case 2: // BOTTOM
|
|
2864
|
+
rotationValue = 180;
|
|
2865
|
+
coordsEquipment[0] += 8;
|
|
2866
|
+
coordsEquipment[1] += 12;
|
|
2867
|
+
coordsConnectivityNodeBayEnd[0] += 8;
|
|
2868
|
+
coordsConnectivityNodeBayEnd[1] += 24;
|
|
2869
|
+
coordsConnectivityNodeBusbarSection[0] += 8;
|
|
2870
|
+
coordsConnectivityNodeBusbarSection[1] += 4;
|
|
2871
|
+
break;
|
|
2872
|
+
case 3: // LEFT
|
|
2873
|
+
rotationValue = 270;
|
|
2874
|
+
coordsEquipment[0] += 12;
|
|
2875
|
+
coordsEquipment[1] += 8;
|
|
2876
|
+
// coordsConnectivityNodeBayEnd[0];
|
|
2877
|
+
coordsConnectivityNodeBayEnd[1] += 8;
|
|
2878
|
+
coordsConnectivityNodeBusbarSection[0] += 20;
|
|
2879
|
+
coordsConnectivityNodeBusbarSection[1] += 8;
|
|
2880
|
+
break;
|
|
2881
|
+
}
|
|
2882
|
+
const equipmentUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: schaltelement1pelem.id })) !== null && _b !== void 0 ? _b : undefined;
|
|
2883
|
+
const doEquipment = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
2884
|
+
xPosition: coordsEquipment[0],
|
|
2885
|
+
yPosition: coordsEquipment[1],
|
|
2886
|
+
rotation: rotationValue,
|
|
2887
|
+
diagramObjectName: `NsgStpschaltfeld-Node ${schaltelement1pelem.id}`,
|
|
2888
|
+
identifiedObjectUUID: equipmentUUID
|
|
2889
|
+
});
|
|
2890
|
+
const connectivityNodeBayEndUUID = (_d = (_c = this.dbObjectKeyCimModelUuidGraph) === null || _c === void 0 ? void 0 : _c.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: schaltelement1pelem.eknoten })) !== null && _d !== void 0 ? _d : undefined;
|
|
2891
|
+
const doConnectivityNodeBayEnd = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint2({
|
|
2892
|
+
xPosition: coordsConnectivityNodeBayEnd[0],
|
|
2893
|
+
yPosition: coordsConnectivityNodeBayEnd[1],
|
|
2894
|
+
diagramObjectName: `ConnectivityNodeBayEnd ${schaltelement1pelem.eknoten}`,
|
|
2895
|
+
identifiedObjectUUID: connectivityNodeBayEndUUID
|
|
2896
|
+
});
|
|
2897
|
+
const doTerminal1 = this.createTerminalDiagramObjectFromPoints({
|
|
2898
|
+
cePoints: [...coordsConnectivityNodeBusbarSection], cnPoints: [...coordsEquipment],
|
|
2899
|
+
terminalUuid: this.lookupTerminalUUID(schaltelement1pelem.aknoten, schaltelement1pelem.id)
|
|
2900
|
+
});
|
|
2901
|
+
resultingDiagramObjects.push(doTerminal1);
|
|
2902
|
+
const doTerminal2 = this.createTerminalDiagramObjectFromPoints({
|
|
2903
|
+
cePoints: [...coordsConnectivityNodeBayEnd], cnPoints: [...coordsEquipment],
|
|
2904
|
+
terminalUuid: this.lookupTerminalUUID(schaltelement1pelem.eknoten, schaltelement1pelem.id)
|
|
2905
|
+
});
|
|
2906
|
+
resultingDiagramObjects.push(doTerminal2);
|
|
2907
|
+
// this.addExportedDiagramObjectToGraph(nsgStpschaltfeld.variantennr, nsgStpschaltfeld.id, doStpknoten);
|
|
2908
|
+
resultingDiagramObjects.push(doEquipment);
|
|
2909
|
+
resultingDiagramObjects.push(doConnectivityNodeBayEnd);
|
|
2910
|
+
}
|
|
2911
|
+
return resultingDiagramObjects;
|
|
2912
|
+
});
|
|
2913
|
+
}
|
|
2914
|
+
/**
|
|
2915
|
+
* convertSchemaStp*-Terminals
|
|
2916
|
+
*/
|
|
2917
|
+
convertSchemaStpTerminals(nsgStpknoten) {
|
|
2918
|
+
var _a, _b;
|
|
2919
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2920
|
+
const resultingDiagramObjects = [];
|
|
2921
|
+
const cimObjectUUID = (_b = (_a = this.dbObjectKeyCimModelUuidGraph) === null || _a === void 0 ? void 0 : _a.getCimObjectIdFromDbKey(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: nsgStpknoten.knoten })) !== null && _b !== void 0 ? _b : undefined;
|
|
2922
|
+
const doConnectivityNode = this.exportedDiagramObjectsGraph[nsgStpknoten.variantennr][nsgStpknoten.id];
|
|
2923
|
+
const connectivityNode = this.cimModelGraph.findObjectByUUID(doConnectivityNode.getIdentifiedObjectUUID());
|
|
2924
|
+
if (connectivityNode !== undefined) {
|
|
2925
|
+
for (const terminal of connectivityNode.terminals.values()) {
|
|
2926
|
+
if (this.exportedTerminalUUIDs.has(terminal.getUUID()))
|
|
2927
|
+
continue;
|
|
2928
|
+
const ceUUID = terminal.getConductingEquipmentUUID();
|
|
2929
|
+
const ceDbKeys = this.dbObjectKeyCimModelUuidGraph.getDbKeyDbFromCimObjectId(ceUUID);
|
|
2930
|
+
if (ceDbKeys.VariantenNrIdKey) {
|
|
2931
|
+
const ceDbKey = ceDbKeys.VariantenNrIdKey;
|
|
2932
|
+
const doConductingEquipment = this.exportedDiagramObjectsGraph[ceDbKey.variantennr][ceDbKey.id];
|
|
2933
|
+
}
|
|
2934
|
+
else if (ceDbKeys.IdOnlyKey) {
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2937
|
+
}
|
|
2938
|
+
else {
|
|
2939
|
+
console.log(cimObjectUUID);
|
|
2940
|
+
}
|
|
2941
|
+
return resultingDiagramObjects;
|
|
2942
|
+
});
|
|
2943
|
+
}
|
|
1719
2944
|
/* ---------- ---------- ---------- ---------- ---------- */
|
|
1720
2945
|
//
|
|
1721
2946
|
// utility functions
|
|
@@ -1729,9 +2954,15 @@ class DLConverterI7 {
|
|
|
1729
2954
|
if (type === convert_graph_keys_1.i7TableNames.nsg_nsgknotenso) {
|
|
1730
2955
|
return yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgknotenso, object);
|
|
1731
2956
|
}
|
|
2957
|
+
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgknotenhgue) {
|
|
2958
|
+
return yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgknotenhgue, object);
|
|
2959
|
+
}
|
|
1732
2960
|
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld) {
|
|
1733
2961
|
return yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld, object);
|
|
1734
2962
|
}
|
|
2963
|
+
else if (type === convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig) {
|
|
2964
|
+
return yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig, object);
|
|
2965
|
+
}
|
|
1735
2966
|
});
|
|
1736
2967
|
}
|
|
1737
2968
|
getLeftUpperCornerOf(i7ObjectType, object, variantennr) {
|
|
@@ -1743,6 +2974,13 @@ class DLConverterI7 {
|
|
|
1743
2974
|
return;
|
|
1744
2975
|
return [nsgStandort.xrel + nsgKnotenSo.xrel, nsgStandort.yrel + nsgKnotenSo.yrel];
|
|
1745
2976
|
}
|
|
2977
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgknotenhgue) {
|
|
2978
|
+
const nsgKnotenHgue = object;
|
|
2979
|
+
const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgKnotenHgue.variantennr, id: nsgKnotenHgue.nsgso });
|
|
2980
|
+
if (!nsgStandort)
|
|
2981
|
+
return;
|
|
2982
|
+
return [nsgStandort.xrel + nsgKnotenHgue.xrel, nsgStandort.yrel + nsgKnotenHgue.yrel];
|
|
2983
|
+
}
|
|
1746
2984
|
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgstandort) {
|
|
1747
2985
|
/* ---------- ---------- ---------- */
|
|
1748
2986
|
/* NsgStandort */
|
|
@@ -1908,6 +3146,203 @@ class DLConverterI7 {
|
|
|
1908
3146
|
const nsgSchaltanlageCoords = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage, nsgSchaltanlage);
|
|
1909
3147
|
return util_functions_1.DLUtilFunctions.add(nsgSaabschnittCoords, nsgSchaltanlageCoords, nsgSchaltanlage.ausrichtung % 2 === 0 ? [8, 0] : [0, 8]);
|
|
1910
3148
|
}
|
|
3149
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgstpschiene) {
|
|
3150
|
+
/* ---------- ---------- ---------- */
|
|
3151
|
+
/* NsgStpschiene */
|
|
3152
|
+
/* ---------- ---------- ---------- */
|
|
3153
|
+
const nsgStpschiene = object;
|
|
3154
|
+
const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgStpschiene.variantennr, id: nsgStpschiene.nsgso });
|
|
3155
|
+
if (!nsgStandort)
|
|
3156
|
+
return;
|
|
3157
|
+
const coords = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, nsgStandort);
|
|
3158
|
+
coords[0] += nsgStpschiene.xrel;
|
|
3159
|
+
coords[1] += nsgStpschiene.yrel;
|
|
3160
|
+
return coords;
|
|
3161
|
+
}
|
|
3162
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgtrafo2w || i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgtrafo3w) {
|
|
3163
|
+
/* ---------- ---------- ---------- */
|
|
3164
|
+
/* NsgTrafo{2w|3w}*/
|
|
3165
|
+
/* ---------- ---------- ---------- */
|
|
3166
|
+
const nsgTrafo = object;
|
|
3167
|
+
const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgTrafo.variantennr, id: nsgTrafo.nsgso });
|
|
3168
|
+
if (!nsgStandort)
|
|
3169
|
+
return;
|
|
3170
|
+
const leftUpperCornerOfNsgSo = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, nsgStandort);
|
|
3171
|
+
leftUpperCornerOfNsgSo[0] += nsgTrafo.xrel;
|
|
3172
|
+
leftUpperCornerOfNsgSo[1] += nsgTrafo.yrel;
|
|
3173
|
+
return leftUpperCornerOfNsgSo;
|
|
3174
|
+
}
|
|
3175
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgstpschaltfeld) {
|
|
3176
|
+
/* ---------- ---------- ---------- */
|
|
3177
|
+
/* NsgStpschaltfeld */
|
|
3178
|
+
/* ---------- ---------- ---------- */
|
|
3179
|
+
const nsgStpschaltfeld = object;
|
|
3180
|
+
const nsgStpschiene = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstpschiene, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
3181
|
+
variantennr: nsgStpschaltfeld.variantennr,
|
|
3182
|
+
id: nsgStpschaltfeld.nsgstpschiene
|
|
3183
|
+
});
|
|
3184
|
+
if (!nsgStpschiene)
|
|
3185
|
+
return;
|
|
3186
|
+
const leftUpperCornerOfNsgStpschiene = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpschiene, nsgStpschiene);
|
|
3187
|
+
let orientation = nsgStpschiene.ausrichtung;
|
|
3188
|
+
if (nsgStpschaltfeld.deltaausrichtung === 1) {
|
|
3189
|
+
orientation = (orientation + 2) % 4;
|
|
3190
|
+
}
|
|
3191
|
+
let position = [...leftUpperCornerOfNsgStpschiene];
|
|
3192
|
+
let schaltfeldOffset;
|
|
3193
|
+
switch (nsgStpschiene.ausrichtung) {
|
|
3194
|
+
case 0:
|
|
3195
|
+
case 1:
|
|
3196
|
+
schaltfeldOffset = nsgStpschaltfeld.slotnummer * 16;
|
|
3197
|
+
break;
|
|
3198
|
+
case 2:
|
|
3199
|
+
case 3:
|
|
3200
|
+
schaltfeldOffset = (nsgStpschiene.laenge - nsgStpschaltfeld.slotnummer - 1) * 16;
|
|
3201
|
+
break;
|
|
3202
|
+
}
|
|
3203
|
+
switch (orientation) {
|
|
3204
|
+
case 0: // TOP
|
|
3205
|
+
position[0] += schaltfeldOffset;
|
|
3206
|
+
position[1] -= nsgStpschaltfeld.hoehe - 8;
|
|
3207
|
+
break;
|
|
3208
|
+
case 1: // RIGHT
|
|
3209
|
+
position[1] += schaltfeldOffset;
|
|
3210
|
+
break;
|
|
3211
|
+
case 2: // BOTTOM
|
|
3212
|
+
position[0] += schaltfeldOffset;
|
|
3213
|
+
break;
|
|
3214
|
+
case 3: // LEFT
|
|
3215
|
+
position[0] -= nsgStpschaltfeld.hoehe - 8;
|
|
3216
|
+
position[1] += schaltfeldOffset;
|
|
3217
|
+
break;
|
|
3218
|
+
}
|
|
3219
|
+
return position;
|
|
3220
|
+
}
|
|
3221
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgstpknoten) {
|
|
3222
|
+
/* ---------- ---------- ---------- */
|
|
3223
|
+
/* NsgStpknoten */
|
|
3224
|
+
/* ---------- ---------- ---------- */
|
|
3225
|
+
const nsgStpknoten = object;
|
|
3226
|
+
let leftUpperCornerOfNsgTrafo;
|
|
3227
|
+
const nsgTrafo2w = this.dbObjectGraph.findFirstByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo2w, {
|
|
3228
|
+
anschlussanf_stp: nsgStpknoten.id,
|
|
3229
|
+
anschlussend_stp: nsgStpknoten.id
|
|
3230
|
+
}, true);
|
|
3231
|
+
if (!nsgTrafo2w) {
|
|
3232
|
+
const nsgTrafo3w = this.dbObjectGraph.findFirstByAttributes(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo3w, {
|
|
3233
|
+
anschlussanfw1: nsgStpknoten.id,
|
|
3234
|
+
anschlussanfw2: nsgStpknoten.id,
|
|
3235
|
+
anschlussanfw3: nsgStpknoten.id
|
|
3236
|
+
}, true);
|
|
3237
|
+
if (!nsgTrafo3w)
|
|
3238
|
+
return;
|
|
3239
|
+
leftUpperCornerOfNsgTrafo = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo3w, nsgTrafo3w);
|
|
3240
|
+
}
|
|
3241
|
+
else {
|
|
3242
|
+
leftUpperCornerOfNsgTrafo = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo2w, nsgTrafo2w);
|
|
3243
|
+
}
|
|
3244
|
+
if (!leftUpperCornerOfNsgTrafo)
|
|
3245
|
+
return;
|
|
3246
|
+
leftUpperCornerOfNsgTrafo[0] += nsgStpknoten.xrel;
|
|
3247
|
+
leftUpperCornerOfNsgTrafo[1] += nsgStpknoten.yrel;
|
|
3248
|
+
return leftUpperCornerOfNsgTrafo;
|
|
3249
|
+
}
|
|
3250
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgstpimpedanz) {
|
|
3251
|
+
/* ---------- ---------- ---------- */
|
|
3252
|
+
/* NsgStpimpedanz */
|
|
3253
|
+
/* ---------- ---------- ---------- */
|
|
3254
|
+
const nsgStpimpedanz = object;
|
|
3255
|
+
const nsgStpschaltfeld = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstpschaltfeld, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
3256
|
+
variantennr: nsgStpimpedanz.variantennr,
|
|
3257
|
+
id: nsgStpimpedanz.anschluss
|
|
3258
|
+
});
|
|
3259
|
+
if (!nsgStpschaltfeld)
|
|
3260
|
+
return;
|
|
3261
|
+
const coords = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstpschaltfeld, nsgStpschaltfeld);
|
|
3262
|
+
coords[0] += nsgStpimpedanz.xrel;
|
|
3263
|
+
coords[1] += nsgStpimpedanz.yrel;
|
|
3264
|
+
return coords;
|
|
3265
|
+
}
|
|
3266
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsglkondensator) {
|
|
3267
|
+
/* ---------- ---------- ---------- */
|
|
3268
|
+
/* NsgLKondensator */
|
|
3269
|
+
/* ---------- ---------- ---------- */
|
|
3270
|
+
const nsgLKondensator = object;
|
|
3271
|
+
const nsgStandort = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKondensator.variantennr, id: nsgLKondensator.nsgso });
|
|
3272
|
+
if (!nsgStandort)
|
|
3273
|
+
return;
|
|
3274
|
+
const leftUpperCornerOfNsgSo = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgstandort, nsgStandort);
|
|
3275
|
+
leftUpperCornerOfNsgSo[0] += nsgLKondensator.xrel;
|
|
3276
|
+
leftUpperCornerOfNsgSo[1] += nsgLKondensator.yrel;
|
|
3277
|
+
return leftUpperCornerOfNsgSo;
|
|
3278
|
+
}
|
|
3279
|
+
else if (i7ObjectType === convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig) {
|
|
3280
|
+
/* ---------- ---------- ---------- */
|
|
3281
|
+
/* NsgQuerzweig */
|
|
3282
|
+
/* ---------- ---------- ---------- */
|
|
3283
|
+
const nsgQuerzweig = object;
|
|
3284
|
+
const typedResult = this.dbObjectGraph.findTypedFirstByKey(convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, {
|
|
3285
|
+
variantennr: nsgQuerzweig.variantennr, id: nsgQuerzweig.bezugsobjekt
|
|
3286
|
+
});
|
|
3287
|
+
if (!typedResult)
|
|
3288
|
+
return null;
|
|
3289
|
+
const { type, object: resultObject } = typedResult;
|
|
3290
|
+
let xPosition = nsgQuerzweig.xrel;
|
|
3291
|
+
let yPosition = nsgQuerzweig.yrel;
|
|
3292
|
+
if (type === convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld) {
|
|
3293
|
+
const nsgSchaltfeld = resultObject;
|
|
3294
|
+
const leftUpperCornerOfSchaltfeld = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld, nsgSchaltfeld);
|
|
3295
|
+
return [xPosition + leftUpperCornerOfSchaltfeld[0], yPosition + leftUpperCornerOfSchaltfeld[1]];
|
|
3296
|
+
}
|
|
3297
|
+
else {
|
|
3298
|
+
return [undefined, undefined];
|
|
3299
|
+
}
|
|
3300
|
+
}
|
|
3301
|
+
return [undefined, undefined];
|
|
3302
|
+
});
|
|
3303
|
+
}
|
|
3304
|
+
getLeftUpperCornerOfLKupplungRssElement(nsgLKupplungRss, cornerOf) {
|
|
3305
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3306
|
+
if (cornerOf.slot_anf || cornerOf.slot_end) {
|
|
3307
|
+
/* ---------- ---------- ---------- */
|
|
3308
|
+
/* slot_anf || slot_end*/
|
|
3309
|
+
/* ---------- ---------- ---------- */
|
|
3310
|
+
const nsgSaabschnittId = cornerOf.slot_anf ? nsgLKupplungRss.nsgsaa_anf : nsgLKupplungRss.nsgsaa_end;
|
|
3311
|
+
const slotIndex = cornerOf.slot_anf ? nsgLKupplungRss.slot_anf : nsgLKupplungRss.slot_end;
|
|
3312
|
+
const nsgSaabschnitt = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKupplungRss.variantennr, id: nsgSaabschnittId });
|
|
3313
|
+
if (!nsgSaabschnitt)
|
|
3314
|
+
return;
|
|
3315
|
+
const leftUpperCornerOfNsgSaabschnitt = yield this.getLeftUpperCornerOf(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, nsgSaabschnitt);
|
|
3316
|
+
const nsgSchaltanlage = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgSaabschnitt.variantennr, id: nsgSaabschnitt.nsgsa });
|
|
3317
|
+
if (!nsgSchaltanlage)
|
|
3318
|
+
return;
|
|
3319
|
+
switch (nsgSchaltanlage.ausrichtung) {
|
|
3320
|
+
case 0:
|
|
3321
|
+
leftUpperCornerOfNsgSaabschnitt[0] += slotIndex * 16 - 8;
|
|
3322
|
+
leftUpperCornerOfNsgSaabschnitt[1] -= 8;
|
|
3323
|
+
break;
|
|
3324
|
+
case 1:
|
|
3325
|
+
leftUpperCornerOfNsgSaabschnitt[0] -= 8;
|
|
3326
|
+
leftUpperCornerOfNsgSaabschnitt[1] += slotIndex * 16 - 8;
|
|
3327
|
+
break;
|
|
3328
|
+
case 2:
|
|
3329
|
+
leftUpperCornerOfNsgSaabschnitt[0] += (nsgSaabschnitt.laenge - slotIndex - 1) * 16 - 8;
|
|
3330
|
+
leftUpperCornerOfNsgSaabschnitt[1] -= 8;
|
|
3331
|
+
break;
|
|
3332
|
+
case 3:
|
|
3333
|
+
leftUpperCornerOfNsgSaabschnitt[0] -= 8;
|
|
3334
|
+
leftUpperCornerOfNsgSaabschnitt[1] += (nsgSaabschnitt.laenge - slotIndex - 1) * 16 - 8;
|
|
3335
|
+
break;
|
|
3336
|
+
}
|
|
3337
|
+
return leftUpperCornerOfNsgSaabschnitt;
|
|
3338
|
+
}
|
|
3339
|
+
else if (cornerOf.self) {
|
|
3340
|
+
/* ---------- ---------- ---------- */
|
|
3341
|
+
/* self */
|
|
3342
|
+
/* ---------- ---------- ---------- */
|
|
3343
|
+
const leftUpperCornerOfSlotAnf = yield this.getLeftUpperCornerOfLKupplungRssElement(nsgLKupplungRss, { slot_anf: true });
|
|
3344
|
+
return [leftUpperCornerOfSlotAnf[0] + nsgLKupplungRss.xrel, leftUpperCornerOfSlotAnf[1] + nsgLKupplungRss.yrel];
|
|
3345
|
+
}
|
|
1911
3346
|
return [undefined, undefined];
|
|
1912
3347
|
});
|
|
1913
3348
|
}
|
|
@@ -2024,14 +3459,61 @@ class DLConverterI7 {
|
|
|
2024
3459
|
// if (!connectivityNode || !conductingEquipment) return null;
|
|
2025
3460
|
if (!connectivityNode)
|
|
2026
3461
|
return null;
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
3462
|
+
if (connectivityNode.terminals !== undefined) {
|
|
3463
|
+
const cnTerminals = [...connectivityNode.terminals.values()];
|
|
3464
|
+
for (const cnTerminal of cnTerminals) {
|
|
3465
|
+
if (cnTerminal.getConductingEquipmentUUID() === conductingEquipmentUUID) {
|
|
3466
|
+
const terminalUUID = cnTerminal.getUUID();
|
|
3467
|
+
return terminalUUID !== undefined ? terminalUUID : null;
|
|
3468
|
+
}
|
|
3469
|
+
}
|
|
3470
|
+
}
|
|
3471
|
+
// try a brute-force terminal lookup for dc terminals / pcc terminals
|
|
3472
|
+
const bruteForcedTerminalUUID = this.cimModelGraph.findTerminalUUID(conductingEquipmentUUID, connectivityNodeUUID);
|
|
3473
|
+
return bruteForcedTerminalUUID !== undefined ? bruteForcedTerminalUUID : null;
|
|
3474
|
+
}
|
|
3475
|
+
/**
|
|
3476
|
+
* returns three Uuids if those two ConductingEquipments are connected with each other
|
|
3477
|
+
* result is either [Terminal-UUID, ConnectivityNode-UUID, Terminal-UUID] or []
|
|
3478
|
+
*/
|
|
3479
|
+
findConnectionAsUuidsBetweenTwoConductingEquipments(args) {
|
|
3480
|
+
const conductingEquipment1 = this.cimModelGraph.findObjectByUUID(args.conductingEquipment1Uuid);
|
|
3481
|
+
const conductingEquipment2 = this.cimModelGraph.findObjectByUUID(args.conductingEquipment2Uuid);
|
|
3482
|
+
if (!conductingEquipment1 || !conductingEquipment2) {
|
|
3483
|
+
return [];
|
|
3484
|
+
}
|
|
3485
|
+
if (conductingEquipment1.terminals !== undefined) {
|
|
3486
|
+
const ce1Terminals = [...conductingEquipment1.terminals.values()];
|
|
3487
|
+
for (const ce1Terminal of ce1Terminals) {
|
|
3488
|
+
const connectivityNode = this.cimModelGraph.findObjectByUUID(ce1Terminal.getConnectivityNodeUUID());
|
|
3489
|
+
if (connectivityNode.terminals !== undefined) {
|
|
3490
|
+
const cnTerminals = [...connectivityNode.terminals.values()];
|
|
3491
|
+
for (const cnTerminal of cnTerminals) {
|
|
3492
|
+
const tempConductingEquipmentUuid = cnTerminal.getConductingEquipmentUUID();
|
|
3493
|
+
if (tempConductingEquipmentUuid === args.conductingEquipment2Uuid) {
|
|
3494
|
+
return [ce1Terminal.getUUID(), connectivityNode.getUUID(), cnTerminal.getUUID()];
|
|
3495
|
+
}
|
|
3496
|
+
}
|
|
3497
|
+
}
|
|
2032
3498
|
}
|
|
2033
3499
|
}
|
|
2034
|
-
return
|
|
3500
|
+
return [];
|
|
3501
|
+
}
|
|
3502
|
+
createTerminalDiagramObjectFromPoints(args) {
|
|
3503
|
+
if (args.points) {
|
|
3504
|
+
const terminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoints([...args.points], null);
|
|
3505
|
+
terminalDiagramObject.identifiedObjectUUID = args.terminalUuid;
|
|
3506
|
+
if (args.name)
|
|
3507
|
+
terminalDiagramObject.name = args.name;
|
|
3508
|
+
return terminalDiagramObject;
|
|
3509
|
+
}
|
|
3510
|
+
else {
|
|
3511
|
+
const terminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoints([[...args.cePoints], [...args.cnPoints]], null);
|
|
3512
|
+
terminalDiagramObject.identifiedObjectUUID = args.terminalUuid;
|
|
3513
|
+
if (args.name)
|
|
3514
|
+
terminalDiagramObject.name = args.name;
|
|
3515
|
+
return terminalDiagramObject;
|
|
3516
|
+
}
|
|
2035
3517
|
}
|
|
2036
3518
|
}
|
|
2037
3519
|
exports.DLConverterI7 = DLConverterI7;
|