Update die Props für Vorlage bei Weichen
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Einfach 22.5° rechts M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Einfach 22.5° rechts P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Einfach 22.5° links M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Einfach 22.5° links P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 350/700 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 350/700 links P",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 350/700 rechts M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 350/700 rechts P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 400/750 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 400/750 links P",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 400/750 rechts M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 400/750 rechts P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 500/600 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"icon": "SSG/shapes/img/Weiche_90_500_600_L_P_834372022_32px.png",
|
||||
"iconBig": "SSG/shapes/img/Weiche_90_500_600_L_P_834372022_64px.png",
|
||||
"srcSVG": "SSG/shapes/svg/834372022.xml",
|
||||
"src3D": "SSG/shapes/obj/834372022.stl",
|
||||
"width": 2092.989,
|
||||
"height": 2347.965,
|
||||
"depth": 415.748,
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"icon": "SSG/shapes/img/Weiche_90_500_600_R_M_834372024_32px.png",
|
||||
"iconBig": "SSG/shapes/img/Weiche_90_500_600_R_M_834372024_64px.png",
|
||||
"srcSVG": "SSG/shapes/svg/834372024.xml",
|
||||
"src3D": "SSG/shapes/obj/834372024.stl",
|
||||
"width": 2092.989,
|
||||
"height": 2347.965,
|
||||
"depth": 415.748,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 700/700 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 700/700 links P",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 700/700 rechts M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 700/700 rechts P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach Parallel 200/750 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach Parallel 200/750 links P",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach Parallel 200/750 rechs M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach Parallel 200/750 rechs P",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 45° 350/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 45° 350/700 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 45° 400/750 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 45° 400/750 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 90° 500/600 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 90° 500/600 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 90° 700/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 90° 700/700 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel Parallel 200/750 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel Parallel 200/750 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 45° 350/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 45° 350/700 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 45° 400/750 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 45° 400/750 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 90° 500/600 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 90° 500/600 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 90° 700/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 90° 700/700 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege Parallel 200/750 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege Parallel 200/750 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Delta 1400/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Delta 1400/700 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Delta 1600/800 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Delta 1600/800 P",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Star 1400/1400 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Delta 1400/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -25,7 +25,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 0.0,
|
||||
"direction": 0,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 45° 350/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Doppel 90° 700/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 45° 350/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 45.0,
|
||||
"direction": 45,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Dreiwege 90° 700/700 M",
|
||||
"family": "OFWeiche",
|
||||
@@ -44,7 +44,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 90.0,
|
||||
"direction": 90,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 45° 350/700 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 315.0,
|
||||
"direction": 315,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach 90° 700/700 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -63,7 +63,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 270.0,
|
||||
"direction": 270,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Einfach Parallel 200/750 links M",
|
||||
"family": "OFWeiche",
|
||||
@@ -62,7 +62,7 @@
|
||||
"zMin": "",
|
||||
"zMax": "",
|
||||
"zStep": "",
|
||||
"direction": 360.0,
|
||||
"direction": 360,
|
||||
"linkClass": "Omniflo",
|
||||
"label": "",
|
||||
"isDimension": true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Doppel 22.5° M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Dreiwege 22.5° M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"shapeMode": 0,
|
||||
"name": "Weichenkörper Einfach 22.5° links M",
|
||||
"family": "OFWeiche",
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<path d="m374.79 301.2v11.395" stroke-width="1px" />
|
||||
<path d="m504.57 371.95h11.373" stroke-width="1px" />
|
||||
</g>
|
||||
<path d="m510.26 469.44 14.499-4.179" style="stroke:none;fill:none;" />
|
||||
<path d="m510.26 469.44 14.499-4.179" style="stroke:none;fill:none;" stroke-width="1px" />
|
||||
</g>
|
||||
</svg>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -12,7 +12,7 @@
|
||||
<path d="m476.64 422.45 47.77-114.87" stroke-width="1px" />
|
||||
<path d="m686.71 201.8v17.672" stroke-width="1px" />
|
||||
</g>
|
||||
<path d="m454.15 456.21 22.486 6.482" style="stroke:none;fill:none;" />
|
||||
<path d="m454.15 456.21 22.486 6.482" style="stroke:none;fill:none;" stroke-width="1px" />
|
||||
</g>
|
||||
</svg>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -1,6 +1,7 @@
|
||||
import json
|
||||
import math
|
||||
import os
|
||||
|
||||
def modify_json_values(json_file):
|
||||
# Constant definitions
|
||||
WeichenKoerperWidth = 32.5437
|
||||
@@ -11,19 +12,15 @@ def modify_json_values(json_file):
|
||||
# Read JSON file
|
||||
with open(json_file, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
process_einzelweiche_items(data,WeichenKoerperWidth, WeichenkProfileWidth,BogenProfileWidth, WeichenGerade)
|
||||
|
||||
process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade)
|
||||
|
||||
process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth, BogenProfileWidth, WeichenGerade)
|
||||
process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade)
|
||||
process_deltaweiche_items(data, WeichenkProfileWidth)
|
||||
# Ask for save confirmation
|
||||
save_choice = input("\nSave all changes? (Press Enter to save, 'n' to cancel): ").lower()
|
||||
if save_choice == 'n':
|
||||
print("All changes discarded")
|
||||
else:
|
||||
with open(json_file, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, indent=2, ensure_ascii=False)
|
||||
print("All changes saved!")
|
||||
|
||||
# Save changes without confirmation
|
||||
with open(json_file, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, indent=2, ensure_ascii=False)
|
||||
print("All changes saved automatically!")
|
||||
|
||||
def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth, BogenProfileWidth, WeichenGerade):
|
||||
# Filter matching items with additional Sivasnr check
|
||||
@@ -36,60 +33,21 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
]
|
||||
|
||||
print(f"Found {len(filtered_items)} matching records with numeric Sivasnr")
|
||||
print("="*50)
|
||||
|
||||
# Process each item
|
||||
for idx, item in enumerate(filtered_items, 1):
|
||||
print(f"\nItem {idx}:")
|
||||
print(f"Sivasnr: {item['Sivasnr']}")
|
||||
print(f"ProfilTyp: {item['ProfilTyp']}")
|
||||
print(f"Schaltungstyp: {item['Schaltungstyp']}")
|
||||
|
||||
# Process OFWeiche_center_line_width_mm
|
||||
current_value = item.get("OFWeiche_center_line_width_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_width_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_width_mm"]
|
||||
item["OFWeiche_center_line_width_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_width_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
else:
|
||||
print("Skipping modification")
|
||||
|
||||
# Process OFWeiche_center_line_height_mm
|
||||
current_value = item.get("OFWeiche_center_line_height_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_height_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_height_mm"]
|
||||
item["OFWeiche_center_line_height_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_height_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
else:
|
||||
print("Skipping modification")
|
||||
|
||||
for item in filtered_items:
|
||||
# Calculate related values
|
||||
if (item["OFWeiche_center_line_width_mm"] is not None and
|
||||
item["OFWeiche_center_line_height_mm"] is not None):
|
||||
|
||||
angle_rad = math.radians(item["KurvenWinkel"])
|
||||
|
||||
# Calculate and print basic values
|
||||
old_width = item.get("Objekt_width_mm")
|
||||
item["Objekt_width_mm"] = round(WeichenKoerperWidth+
|
||||
# Calculate basic values
|
||||
item["Objekt_width_mm"] = round(WeichenKoerperWidth +
|
||||
(BogenProfileWidth/2 * math.cos(angle_rad)) +
|
||||
item["OFWeiche_center_line_width_mm"] +
|
||||
WeichenkProfileWidth/2, 3)
|
||||
print(f"\nObjekt_width_mm calculated update: {old_width} → {item['Objekt_width_mm']}")
|
||||
|
||||
old_height = item.get("Objekt_height_mm")
|
||||
if item["KurvenWinkel"] == 22.5:
|
||||
item["Objekt_height_mm"] = round(
|
||||
item["OFWeiche_center_line_height_mm"], 3)
|
||||
@@ -97,46 +55,34 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
item["Objekt_height_mm"] = round(
|
||||
(BogenProfileWidth/2 * math.sin(angle_rad)) +
|
||||
item["OFWeiche_center_line_height_mm"], 3)
|
||||
print(f"Objekt_height_mm calculated update: {old_height} → {item['Objekt_height_mm']}")
|
||||
|
||||
# Calculate and print CP point coordinates
|
||||
old_cp1x = item.get("OFWeiche_CP1_x_mm")
|
||||
# Calculate CP point coordinates
|
||||
item["OFWeiche_CP1_x_mm"] = round(
|
||||
(BogenProfileWidth/2 * math.cos(angle_rad)) +
|
||||
item["OFWeiche_center_line_width_mm"], 3)
|
||||
print(f"OFWeiche_CP1_x_mm calculated update: {old_cp1x} → {item['OFWeiche_CP1_x_mm']}")
|
||||
|
||||
old_cp1y = item.get("OFWeiche_CP1_y_mm")
|
||||
item["OFWeiche_CP1_y_mm"] = round(
|
||||
item["Objekt_height_mm"] - WeichenGerade, 3)
|
||||
print(f"OFWeiche_CP1_y_mm calculated update: {old_cp1y} → {item['OFWeiche_CP1_y_mm']}")
|
||||
|
||||
item["OFWeiche_CP2_x_mm"] = round(item["OFWeiche_CP1_x_mm"], 3)
|
||||
print(f"OFWeiche_CP2_x_mm set: {item['OFWeiche_CP2_x_mm']}")
|
||||
|
||||
item["OFWeiche_CP2_y_mm"] = round(item["Objekt_height_mm"], 3)
|
||||
print(f"OFWeiche_CP2_y_mm set: {item['OFWeiche_CP2_y_mm']}")
|
||||
|
||||
item["OFWeiche_CP3_x_mm"] = round(
|
||||
BogenProfileWidth/2 * math.cos(angle_rad), 3)
|
||||
print(f"OFWeiche_CP3_x_mm calculated update: {item['OFWeiche_CP3_x_mm']}")
|
||||
|
||||
item["OFWeiche_CP3_y_mm"] = round(
|
||||
BogenProfileWidth/2 * math.sin(angle_rad), 3)
|
||||
print(f"OFWeiche_CP3_y_mm calculated update: {item['OFWeiche_CP3_y_mm']}")
|
||||
|
||||
# NEW: First find exact ProfilTyp matches and update them
|
||||
# Update items with identical ProfilTyp
|
||||
current_profil = item["ProfilTyp"]
|
||||
exact_matches = [x for x in data
|
||||
if x["ProfilTyp"] == current_profil and
|
||||
x is not item and # Exclude the current item
|
||||
x is not item and
|
||||
x.get("SivasnrTEF") is None]
|
||||
|
||||
if exact_matches:
|
||||
print(f"\nFound {len(exact_matches)} items with identical ProfilTyp")
|
||||
for match in exact_matches:
|
||||
print(f"Updating identical ProfilTyp item: {match['Sivasnr']}")
|
||||
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
@@ -151,12 +97,9 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
old_val = match.get(field)
|
||||
match[field] = item[field]
|
||||
print(f" {field}: {old_val} → {match[field]}")
|
||||
else:
|
||||
print("No similar items with identical ProfilTyp found")
|
||||
# 1. Find similar items with Schaltungstyp=P (update all CP points)
|
||||
|
||||
# Find similar items with Schaltungstyp=P
|
||||
if "S" in current_profil:
|
||||
prefix = current_profil.rsplit(" ", 1)[0]
|
||||
|
||||
@@ -167,13 +110,65 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "P"]
|
||||
|
||||
if similar_items_p:
|
||||
print(f"\nFound {len(similar_items_p)} similar items with Schaltungstyp=P")
|
||||
for similar in similar_items_p:
|
||||
print(f"Updating similar item: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
|
||||
for similar in similar_items_p:
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
# Update all fields including CP points
|
||||
fields_to_copy = [
|
||||
for field in fields_to_copy:
|
||||
similar[field] = item[field]
|
||||
|
||||
# Find L→R similar items with KurvenRichtung=2
|
||||
if "S" in current_profil and "-L-" in current_profil:
|
||||
r_profil = current_profil.replace("-L-", "-R-")
|
||||
|
||||
similar_items_r = [x for x in data
|
||||
if x["ProfilTyp"] == r_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("KurvenRichtung") == 2 and
|
||||
x.get("Schaltungstyp") == "M"]
|
||||
|
||||
for similar in similar_items_r:
|
||||
# Copy basic values
|
||||
base_fields = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm"
|
||||
]
|
||||
|
||||
for field in base_fields:
|
||||
similar[field] = item[field]
|
||||
|
||||
# Calculate R-type specific CP points
|
||||
similar["OFWeiche_CP1_x_mm"] = round(WeichenKoerperWidth+WeichenkProfileWidth/2, 3)
|
||||
similar["OFWeiche_CP1_y_mm"] = round(item["Objekt_height_mm"] - WeichenGerade, 3)
|
||||
similar["OFWeiche_CP2_x_mm"] = similar["OFWeiche_CP1_x_mm"]
|
||||
similar["OFWeiche_CP2_y_mm"] = round(item["Objekt_height_mm"], 3)
|
||||
similar["OFWeiche_CP3_x_mm"] = round(
|
||||
similar["OFWeiche_CP1_x_mm"] + item["OFWeiche_center_line_width_mm"], 3)
|
||||
similar["OFWeiche_CP3_y_mm"] = round(
|
||||
BogenProfileWidth/2 * math.sin(angle_rad), 3)
|
||||
|
||||
# Find P-type counterparts for this R-type item
|
||||
r_p_profil = r_profil.replace("MIT M", "MIT P")
|
||||
|
||||
similar_items_r_p = [x for x in data
|
||||
if x["ProfilTyp"] == r_p_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "P"]
|
||||
|
||||
for similar_r_p in similar_items_r_p:
|
||||
fields_to_copy_r_p = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
@@ -186,110 +181,9 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
old_val = similar.get(field)
|
||||
similar[field] = item[field]
|
||||
print(f" {field}: {old_val} → {similar[field]}")
|
||||
|
||||
else:
|
||||
print("No similar items with Schaltungstyp=P found")
|
||||
|
||||
# 2. Find L→R similar items with KurvenRichtung=2
|
||||
if "S" in current_profil and "-L-" in current_profil:
|
||||
r_profil = current_profil.replace("-L-", "-R-")
|
||||
|
||||
similar_items_r = [x for x in data
|
||||
if x["ProfilTyp"] == r_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("KurvenRichtung") == 2 and
|
||||
x.get("Schaltungstyp") == "M"]
|
||||
|
||||
if similar_items_r:
|
||||
print(f"\nFound {len(similar_items_r)} L→R similar items (KurvenRichtung=2)")
|
||||
for similar in similar_items_r:
|
||||
print(f"Updating R-type similar item: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
|
||||
|
||||
# Copy basic values
|
||||
base_fields = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm"
|
||||
]
|
||||
|
||||
for field in base_fields:
|
||||
old_val = similar.get(field)
|
||||
similar[field] = item[field]
|
||||
print(f" {field}: {old_val} → {similar[field]}")
|
||||
|
||||
# Calculate and print R-type specific CP points
|
||||
old_cp1x = similar.get("OFWeiche_CP1_x_mm")
|
||||
similar["OFWeiche_CP1_x_mm"] = round(WeichenKoerperWidth+WeichenkProfileWidth/2, 3)
|
||||
print(f" OFWeiche_CP1_x_mm (R-type): {old_cp1x} → {similar['OFWeiche_CP1_x_mm']}")
|
||||
|
||||
old_cp1y = similar.get("OFWeiche_CP1_y_mm")
|
||||
similar["OFWeiche_CP1_y_mm"] = round(item["Objekt_height_mm"] - WeichenGerade, 3)
|
||||
print(f" OFWeiche_CP1_y_mm (R-type): {old_cp1y} → {similar['OFWeiche_CP1_y_mm']}")
|
||||
|
||||
similar["OFWeiche_CP2_x_mm"] = similar["OFWeiche_CP1_x_mm"]
|
||||
print(f" OFWeiche_CP2_x_mm (R-type): Set to {similar['OFWeiche_CP2_x_mm']}")
|
||||
|
||||
old_cp2y = similar.get("OFWeiche_CP2_y_mm")
|
||||
similar["OFWeiche_CP2_y_mm"] = round(item["Objekt_height_mm"], 3)
|
||||
print(f" OFWeiche_CP2_y_mm (R-type): {old_cp2y} → {similar['OFWeiche_CP2_y_mm']}")
|
||||
|
||||
old_cp3x = similar.get("OFWeiche_CP3_x_mm")
|
||||
similar["OFWeiche_CP3_x_mm"] = round(
|
||||
similar["OFWeiche_CP1_x_mm"] + item["OFWeiche_center_line_width_mm"], 3)
|
||||
print(f" OFWeiche_CP3_x_mm (R-type): {old_cp3x} → {similar['OFWeiche_CP3_x_mm']}")
|
||||
|
||||
old_cp3y = similar.get("OFWeiche_CP3_y_mm")
|
||||
similar["OFWeiche_CP3_y_mm"] = round(
|
||||
BogenProfileWidth/2 * math.sin(angle_rad), 3)
|
||||
print(f" OFWeiche_CP3_y_mm (R-type): {old_cp3y} → {similar['OFWeiche_CP3_y_mm']}")
|
||||
|
||||
# 3. Find P-type counterparts for this R-type item
|
||||
r_p_profil = r_profil.replace("MIT M", "MIT P")
|
||||
|
||||
similar_items_r_p = [x for x in data
|
||||
if x["ProfilTyp"] == r_p_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "P"]
|
||||
|
||||
if similar_items_r_p:
|
||||
print(f"\nFound {len(similar_items_r_p)} R-type P-type counterparts")
|
||||
for similar_r_p in similar_items_r_p:
|
||||
print(f"Updating R-type P-type counterpart: {similar_r_p['ProfilTyp']} (Sivasnr: {similar_r_p['Sivasnr']})")
|
||||
|
||||
fields_to_copy_r_p = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in fields_to_copy_r_p:
|
||||
old_val = similar_r_p.get(field)
|
||||
similar_r_p[field] = similar[field]
|
||||
print(f" {field}: {old_val} → {similar_r_p[field]}")
|
||||
for field in fields_to_copy_r_p:
|
||||
similar_r_p[field] = similar[field]
|
||||
|
||||
save_choice = input(f"Confirm update for this item? (Enter to confirm, 'n' to cancel): ").lower()
|
||||
if save_choice == 'n':
|
||||
print("Update for this item cancelled")
|
||||
# Restore original values
|
||||
for field in fields_to_copy_r_p:
|
||||
if field in similar_r_p:
|
||||
similar_r_p[field] = old_val
|
||||
else:
|
||||
print("No R-type P-type counterparts found")
|
||||
else:
|
||||
print("No L→R similar items found")
|
||||
def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
|
||||
# Filter Doppelweiche type items with numeric Sivasnr check
|
||||
filtered_items = [
|
||||
@@ -300,100 +194,45 @@ def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
|
||||
str(item.get("Sivasnr", "")).isdigit())
|
||||
]
|
||||
|
||||
print(f"\n\nFound {len(filtered_items)} Doppelweiche type records with numeric Sivasnr")
|
||||
print("="*50)
|
||||
print(f"\nFound {len(filtered_items)} Doppelweiche type records with numeric Sivasnr")
|
||||
|
||||
# Process each Doppelweiche item
|
||||
for idx, item in enumerate(filtered_items, 1):
|
||||
print(f"\nDoppelweiche item {idx}:")
|
||||
print(f"Sivasnr: {item['Sivasnr']}")
|
||||
print(f"ProfilTyp: {item['ProfilTyp']}")
|
||||
print(f"Schaltungstyp: {item['Schaltungstyp']}")
|
||||
print(f"KurvenWinkel: {item['KurvenWinkel']}")
|
||||
|
||||
# Process OFWeiche_center_line_width_mm
|
||||
current_value = item.get("OFWeiche_center_line_width_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_width_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_width_mm"]
|
||||
item["OFWeiche_center_line_width_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_width_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
else:
|
||||
print("Skipping modification")
|
||||
|
||||
# Process OFWeiche_center_line_height_mm
|
||||
current_value = item.get("OFWeiche_center_line_height_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_height_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_height_mm"]
|
||||
item["OFWeiche_center_line_height_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_height_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
else:
|
||||
print("Skipping modification")
|
||||
|
||||
for item in filtered_items:
|
||||
# Calculate related values
|
||||
if (item["OFWeiche_center_line_width_mm"] is not None and
|
||||
item["OFWeiche_center_line_height_mm"] is not None):
|
||||
|
||||
angle_rad = math.radians(item["KurvenWinkel"])
|
||||
|
||||
# Calculate and print basic values (Doppelweiche specific formula)
|
||||
old_width = item.get("Objekt_width_mm")
|
||||
# Calculate basic values (Doppelweiche specific formula)
|
||||
item["Objekt_width_mm"] = round(
|
||||
(BogenProfileWidth/2 * math.cos(angle_rad)) +
|
||||
item["OFWeiche_center_line_width_mm"] +
|
||||
BogenProfileWidth/2 * math.cos(angle_rad), 3)
|
||||
print(f"\nObjekt_width_mm calculated update: {old_width} → {item['Objekt_width_mm']}")
|
||||
|
||||
old_height = item.get("Objekt_height_mm")
|
||||
item["Objekt_height_mm"] = round(
|
||||
(BogenProfileWidth/2 * math.sin(angle_rad)) +
|
||||
item["OFWeiche_center_line_height_mm"], 3)
|
||||
print(f"Objekt_height_mm calculated update: {old_height} → {item['Objekt_height_mm']}")
|
||||
|
||||
# Calculate and print CP point coordinates (Doppelweiche specific formula)
|
||||
# Calculate CP point coordinates (Doppelweiche specific formula)
|
||||
item["OFWeiche_CP1_x_mm"] = round(item["Objekt_width_mm"]/2, 3)
|
||||
print(f"OFWeiche_CP1_x_mm calculated update: {item['OFWeiche_CP1_x_mm']}")
|
||||
|
||||
item["OFWeiche_CP1_y_mm"] = round(item["Objekt_height_mm"], 3)
|
||||
print(f"OFWeiche_CP1_y_mm calculated update: {item['OFWeiche_CP1_y_mm']}")
|
||||
|
||||
item["OFWeiche_CP2_x_mm"] = round(BogenProfileWidth/2 * math.cos(angle_rad), 3)
|
||||
print(f"OFWeiche_CP2_x_mm calculated update: {item['OFWeiche_CP2_x_mm']}")
|
||||
|
||||
item["OFWeiche_CP2_y_mm"] = round(BogenProfileWidth/2 * math.sin(angle_rad), 3)
|
||||
print(f"OFWeiche_CP2_y_mm calculated update: {item['OFWeiche_CP2_y_mm']}")
|
||||
|
||||
item["OFWeiche_CP3_x_mm"] = round(
|
||||
BogenProfileWidth/2 * math.cos(angle_rad) +
|
||||
item["OFWeiche_center_line_width_mm"], 3)
|
||||
print(f"OFWeiche_CP3_x_mm calculated update: {item['OFWeiche_CP3_x_mm']}")
|
||||
|
||||
item["OFWeiche_CP3_y_mm"] = item["OFWeiche_CP2_y_mm"]
|
||||
print(f"OFWeiche_CP3_y_mm set: {item['OFWeiche_CP3_y_mm']}")
|
||||
|
||||
# NEW: First find exact ProfilTyp matches and update them
|
||||
# Update items with identical ProfilTyp
|
||||
current_profil = item["ProfilTyp"]
|
||||
exact_matches = [x for x in data
|
||||
if x["ProfilTyp"] == current_profil and
|
||||
x is not item and # Exclude the current item
|
||||
x is not item and
|
||||
x.get("SivasnrTEF") is None]
|
||||
|
||||
if exact_matches:
|
||||
print(f"\nFound {len(exact_matches)} items with identical ProfilTyp")
|
||||
for match in exact_matches:
|
||||
print(f"Updating identical ProfilTyp item: {match['Sivasnr']}")
|
||||
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
@@ -408,13 +247,9 @@ def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
old_val = match.get(field)
|
||||
match[field] = item[field]
|
||||
print(f" {field}: {old_val} → {match[field]}")
|
||||
else:
|
||||
print("No similar items with identical ProfilTyp found")
|
||||
|
||||
# 1. Find similar items (D-type P-type)
|
||||
# Find similar items (D-type P-type)
|
||||
if "S D" in current_profil:
|
||||
d_p_profil = current_profil.replace("MIT M", "MIT P")
|
||||
|
||||
@@ -422,33 +257,24 @@ def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
|
||||
if x["ProfilTyp"] == d_p_profil and
|
||||
x.get("SivasnrTEF") is None]
|
||||
|
||||
if similar_items_d_p:
|
||||
print(f"\nFound {len(similar_items_d_p)} D-type P-type similar items")
|
||||
for similar in similar_items_d_p:
|
||||
print(f"Updating D-type P-type similar item: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
|
||||
|
||||
# Update all fields
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
old_val = similar.get(field)
|
||||
similar[field] = item[field]
|
||||
print(f" {field}: {old_val} → {similar[field]}")
|
||||
else:
|
||||
print("No D-type P-type similar items found")
|
||||
for similar in similar_items_d_p:
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
similar[field] = item[field]
|
||||
|
||||
# 2. Find similar items (T-type M-type)
|
||||
# Find similar items (T-type M-type)
|
||||
if "S D" in current_profil:
|
||||
t_m_profil = current_profil.replace("S D", "S T")
|
||||
|
||||
@@ -457,170 +283,88 @@ def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "M"]
|
||||
|
||||
if similar_items_t_m:
|
||||
print(f"\nFound {len(similar_items_t_m)} T-type M-type similar items")
|
||||
for similar in similar_items_t_m:
|
||||
print(f"Updating T-type M-type similar item: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
|
||||
if similar["KurvenWinkel"] == 22.5:
|
||||
print("Detected KurvenWinkel=22.5, applying special handling")
|
||||
for similar in similar_items_t_m:
|
||||
if similar["KurvenWinkel"] == 22.5:
|
||||
# Special handling for KurvenWinkel=22.5
|
||||
similar["OFWeiche_center_line_width_mm"] = item["OFWeiche_center_line_width_mm"]
|
||||
similar["OFWeiche_center_line_height_mm"] = WeichenGerade
|
||||
similar["Objekt_width_mm"] = item["Objekt_width_mm"]
|
||||
similar["Objekt_height_mm"] = WeichenGerade
|
||||
similar["OFWeiche_CP1_x_mm"] = item["OFWeiche_CP1_x_mm"]
|
||||
similar["OFWeiche_CP1_y_mm"] = similar["Objekt_height_mm"]
|
||||
similar["OFWeiche_CP2_x_mm"] = item["OFWeiche_CP2_x_mm"]
|
||||
similar["OFWeiche_CP2_y_mm"] = 20
|
||||
similar["OFWeiche_CP3_x_mm"] = item["OFWeiche_CP3_x_mm"]
|
||||
similar["OFWeiche_CP3_y_mm"] = 20
|
||||
else:
|
||||
# Update basic fields
|
||||
base_fields = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in base_fields:
|
||||
similar[field] = item[field]
|
||||
|
||||
# Add CP4 point (T-type specific)
|
||||
similar["OFWeiche_CP4_x_mm"] = round(similar["Objekt_width_mm"]/2, 3)
|
||||
similar["OFWeiche_CP4_y_mm"] = round(similar["Objekt_height_mm"] - WeichenGerade, 3)
|
||||
|
||||
# Find T-type P-type counterparts
|
||||
t_p_profil = t_m_profil.replace("MIT M", "MIT P")
|
||||
|
||||
similar_items_t_p = [x for x in data
|
||||
if x["ProfilTyp"] == t_p_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "P"]
|
||||
|
||||
for similar_t_p in similar_items_t_p:
|
||||
fields_to_copy_t_p = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm",
|
||||
"OFWeiche_CP4_x_mm",
|
||||
"OFWeiche_CP4_y_mm"
|
||||
]
|
||||
|
||||
# Special handling logic
|
||||
similar["OFWeiche_center_line_width_mm"] = item["OFWeiche_center_line_width_mm"]
|
||||
print(f" OFWeiche_center_line_width_mm: → {similar['OFWeiche_center_line_width_mm']}")
|
||||
|
||||
similar["OFWeiche_center_line_height_mm"] = WeichenGerade
|
||||
print(f" OFWeiche_center_line_height_mm: → {WeichenGerade}")
|
||||
|
||||
similar["Objekt_width_mm"] = item["Objekt_width_mm"]
|
||||
print(f" Objekt_width_mm: → {similar['Objekt_width_mm']}")
|
||||
|
||||
similar["Objekt_height_mm"] = WeichenGerade
|
||||
print(f" Objekt_height_mm: → {WeichenGerade}")
|
||||
|
||||
similar["OFWeiche_CP1_x_mm"] = item["OFWeiche_CP1_x_mm"]
|
||||
print(f" OFWeiche_CP1_x_mm: → {similar['OFWeiche_CP1_x_mm']}")
|
||||
|
||||
similar["OFWeiche_CP1_y_mm"] = similar["Objekt_height_mm"]
|
||||
print(f" OFWeiche_CP1_y_mm: → {similar['OFWeiche_CP1_y_mm']}")
|
||||
|
||||
similar["OFWeiche_CP2_x_mm"] = item["OFWeiche_CP2_x_mm"]
|
||||
print(f" OFWeiche_CP2_x_mm: → {similar['OFWeiche_CP2_x_mm']}")
|
||||
|
||||
similar["OFWeiche_CP2_y_mm"] = 20
|
||||
print(f" OFWeiche_CP2_y_mm: → 20")
|
||||
|
||||
similar["OFWeiche_CP3_x_mm"] = item["OFWeiche_CP3_x_mm"]
|
||||
print(f" OFWeiche_CP3_x_mm: → {similar['OFWeiche_CP3_x_mm']}")
|
||||
|
||||
similar["OFWeiche_CP3_y_mm"] = 20
|
||||
print(f" OFWeiche_CP3_y_mm: → 20")
|
||||
|
||||
else:
|
||||
# Update basic fields
|
||||
base_fields = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
for field in base_fields:
|
||||
old_val = similar.get(field)
|
||||
similar[field] = item[field]
|
||||
print(f" {field}: {old_val} → {similar[field]}")
|
||||
|
||||
# Add CP4 point (T-type specific)
|
||||
similar["OFWeiche_CP4_x_mm"] = round(similar["Objekt_width_mm"]/2, 3)
|
||||
print(f" OFWeiche_CP4_x_mm added: {similar['OFWeiche_CP4_x_mm']}")
|
||||
|
||||
similar["OFWeiche_CP4_y_mm"] = round(similar["Objekt_height_mm"] - WeichenGerade, 3)
|
||||
print(f" OFWeiche_CP4_y_mm added: {similar['OFWeiche_CP4_y_mm']}")
|
||||
|
||||
# 3. Find T-type P-type counterparts
|
||||
t_p_profil = t_m_profil.replace("MIT M", "MIT P")
|
||||
|
||||
similar_items_t_p = [x for x in data
|
||||
if x["ProfilTyp"] == t_p_profil and
|
||||
x.get("SivasnrTEF") is None and
|
||||
x.get("Schaltungstyp") == "P"]
|
||||
|
||||
if similar_items_t_p:
|
||||
print(f"\nFound {len(similar_items_t_p)} T-type P-type counterparts")
|
||||
for similar_t_p in similar_items_t_p:
|
||||
print(f"Updating T-type P-type counterpart: {similar_t_p['ProfilTyp']} (Sivasnr: {similar_t_p['Sivasnr']})")
|
||||
|
||||
# Update all fields including CP4 point
|
||||
fields_to_copy_t_p = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm",
|
||||
"OFWeiche_CP4_x_mm",
|
||||
"OFWeiche_CP4_y_mm"
|
||||
]
|
||||
|
||||
for field in fields_to_copy_t_p:
|
||||
old_val = similar_t_p.get(field)
|
||||
similar_t_p[field] = similar[field]
|
||||
print(f" {field}: {old_val} → {similar_t_p[field]}")
|
||||
|
||||
# Add save confirmation prompt
|
||||
save_choice = input(f"Confirm update for this item? (Enter to confirm, 'n' to cancel): ").lower()
|
||||
if save_choice == 'n':
|
||||
print("Update for this item cancelled")
|
||||
# Restore original values
|
||||
for field in fields_to_copy_t_p:
|
||||
similar_t_p[field] = old_val
|
||||
else:
|
||||
print("No T-type P-type counterparts found")
|
||||
else:
|
||||
print("No T-type M-type similar items found")
|
||||
for field in fields_to_copy_t_p:
|
||||
similar_t_p[field] = similar[field]
|
||||
|
||||
def process_deltaweiche_items(data, WeichenkProfileWidth):
|
||||
# Filter deltaweiche type items
|
||||
filtered_items = [
|
||||
item for item in data
|
||||
if (item.get("WeichenTyp") == "Dreifachweiche" and
|
||||
item.get("Schaltungstyp") == "M" and
|
||||
item.get("SivasnrTEF") is None)and
|
||||
str(item.get("Sivasnr", "")).isdigit()
|
||||
]
|
||||
item for item in data
|
||||
if (item.get("WeichenTyp") == "Dreifachweiche" and
|
||||
item.get("Schaltungstyp") == "M" and
|
||||
item.get("SivasnrTEF") is None and
|
||||
str(item.get("Sivasnr", "")).isdigit())
|
||||
]
|
||||
|
||||
print(f"\n\nFound {len(filtered_items)} deltaweiche type records")
|
||||
print("="*50)
|
||||
print(f"\nFound {len(filtered_items)} deltaweiche type records")
|
||||
|
||||
for idx, item in enumerate(filtered_items, 1):
|
||||
print(f"\ndeltaweiche item {idx}:")
|
||||
print(f"Sivasnr: {item['Sivasnr']}")
|
||||
print(f"ProfilTyp: {item['ProfilTyp']}")
|
||||
|
||||
# Interactive modification of OFWeiche_center_line_width_mm
|
||||
current_value = item.get("OFWeiche_center_line_width_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_width_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_width_mm"]
|
||||
item["OFWeiche_center_line_width_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_width_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
|
||||
# Interactive modification of OFWeiche_center_line_height_mm
|
||||
current_value = item.get("OFWeiche_center_line_height_mm")
|
||||
print(f"\nCurrent OFWeiche_center_line_height_mm: {current_value}")
|
||||
choice = input("Modify? (y to modify, Enter to skip): ").lower()
|
||||
if choice == 'y':
|
||||
new_value = input(f"Enter new value (current: {current_value}): ")
|
||||
try:
|
||||
old_value = item["OFWeiche_center_line_height_mm"]
|
||||
item["OFWeiche_center_line_height_mm"] = round(float(new_value), 3) if new_value.lower() != 'null' else None
|
||||
print(f"Value updated: {old_value} → {item['OFWeiche_center_line_height_mm']}")
|
||||
except ValueError:
|
||||
print("Invalid input, keeping original value")
|
||||
|
||||
for item in filtered_items:
|
||||
# Calculate related values
|
||||
if (item["OFWeiche_center_line_width_mm"] is not None and
|
||||
item["OFWeiche_center_line_height_mm"] is not None):
|
||||
|
||||
# Calculate basic dimensions
|
||||
item["Objekt_width_mm"] = round(item["OFWeiche_center_line_width_mm"], 3)
|
||||
print(f"\nObjekt_width_mm calculated update: {item['Objekt_width_mm']}")
|
||||
|
||||
item["Objekt_height_mm"] = round(WeichenkProfileWidth/2 + item["OFWeiche_center_line_height_mm"]+32.5437, 3)
|
||||
print(f"Objekt_height_mm calculated update: {item['Objekt_height_mm']}")
|
||||
|
||||
# Calculate control points
|
||||
item["OFWeiche_CP1_x_mm"] = round(item["Objekt_width_mm"]/2, 3)
|
||||
@@ -629,25 +373,16 @@ def process_deltaweiche_items(data, WeichenkProfileWidth):
|
||||
item["OFWeiche_CP2_y_mm"] = round(item["OFWeiche_center_line_height_mm"], 3)
|
||||
item["OFWeiche_CP3_x_mm"] = round(item["OFWeiche_center_line_width_mm"], 3)
|
||||
item["OFWeiche_CP3_y_mm"] = item["OFWeiche_CP2_y_mm"]
|
||||
print(f"OFWeiche_CP1_x_mm: {item['OFWeiche_CP1_x_mm']}")
|
||||
print(f"OFWeiche_CP1_y_mm: {item['OFWeiche_CP1_y_mm']}")
|
||||
print(f"OFWeiche_CP2_x_mm: {item['OFWeiche_CP2_x_mm']}")
|
||||
print(f"OFWeiche_CP2_y_mm: {item['OFWeiche_CP2_y_mm']}")
|
||||
print(f"OFWeiche_CP3_x_mm: {item['OFWeiche_CP3_x_mm']}")
|
||||
print(f"OFWeiche_CP3_y_mm: {item['OFWeiche_CP3_y_mm']}")
|
||||
|
||||
# NEW: First find exact ProfilTyp matches and update them
|
||||
|
||||
# Update items with identical ProfilTyp
|
||||
current_profil = item["ProfilTyp"]
|
||||
exact_matches = [x for x in data
|
||||
if x["ProfilTyp"] == current_profil and
|
||||
x is not item and # Exclude the current item
|
||||
x is not item and
|
||||
x.get("SivasnrTEF") is None]
|
||||
|
||||
if exact_matches:
|
||||
print(f"\nFound {len(exact_matches)} items with identical ProfilTyp")
|
||||
for match in exact_matches:
|
||||
print(f"Updating identical ProfilTyp item: {match['Sivasnr']}")
|
||||
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
@@ -662,11 +397,8 @@ def process_deltaweiche_items(data, WeichenkProfileWidth):
|
||||
]
|
||||
|
||||
for field in fields_to_copy:
|
||||
old_val = match.get(field)
|
||||
match[field] = item[field]
|
||||
print(f" {field}: {old_val} → {match[field]}")
|
||||
else:
|
||||
print("No similar items with identical ProfilTyp found")
|
||||
|
||||
# Find similar items (P-type)
|
||||
if "WEICHE S C DELTA" in item["ProfilTyp"]:
|
||||
similar_profil = item["ProfilTyp"].replace("KPL. MIT M", "KPL. MIT P")
|
||||
@@ -675,39 +407,22 @@ def process_deltaweiche_items(data, WeichenkProfileWidth):
|
||||
if x["ProfilTyp"] == similar_profil and
|
||||
x.get("SivasnrTEF") is None]
|
||||
|
||||
if similar_items:
|
||||
print(f"\nFound {len(similar_items)} similar P-type items")
|
||||
for similar in similar_items:
|
||||
print(f"\nUpdating: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
|
||||
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
print("\nUpdating:")
|
||||
for field in fields_to_copy:
|
||||
print(f" {field}: {similar.get(field)} → {item[field]}")
|
||||
similar[field] = item[field] # Actually update the similar item's value
|
||||
for similar in similar_items:
|
||||
fields_to_copy = [
|
||||
"OFWeiche_center_line_width_mm",
|
||||
"OFWeiche_center_line_height_mm",
|
||||
"Objekt_width_mm",
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm"
|
||||
]
|
||||
|
||||
choice = input("\nConfirm update for this item? (Enter to confirm/n to cancel): ").lower()
|
||||
if choice == 'n':
|
||||
print("Update for this item cancelled")
|
||||
for field in fields_to_copy:
|
||||
similar[field] = similar[field]
|
||||
else:
|
||||
print("Update for this item confirmed")
|
||||
|
||||
else:
|
||||
print("No similar P-type items found")
|
||||
for field in fields_to_copy:
|
||||
similar[field] = item[field]
|
||||
|
||||
if __name__ == "__main__":
|
||||
json_path = os.environ.get("JSON_PATH", "JSON")
|
||||
|
||||
@@ -18,6 +18,25 @@
|
||||
"OFWeiche_CP3_x_mm": 14.878,
|
||||
"OFWeiche_CP3_y_mm": 14.878
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheEinfach45",
|
||||
"ProfilTyp": "WEICHE S 45°-L-350/700, KPL. MIT M",
|
||||
"WeichenTyp": "Einzelweiche",
|
||||
"KurvenWinkel": 45,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 350.129,
|
||||
"OFWeiche_center_line_height_mm": 700.123,
|
||||
"Objekt_width_mm": 418.55,
|
||||
"Objekt_height_mm": 715.001,
|
||||
"OFWeiche_CP1_x_mm": 365.007,
|
||||
"OFWeiche_CP1_y_mm": 355.001,
|
||||
"KurvenRichtung": 1,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 365.007,
|
||||
"OFWeiche_CP2_y_mm": 715.001,
|
||||
"OFWeiche_CP3_x_mm": 14.878,
|
||||
"OFWeiche_CP3_y_mm": 14.878
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372002,
|
||||
"ProfilTyp": "WEICHE S 45°-L-350/700, KPL. MIT P",
|
||||
@@ -360,6 +379,25 @@
|
||||
"OFWeiche_CP3_x_mm": 0.0,
|
||||
"OFWeiche_CP3_y_mm": 21.04
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheEinfach90",
|
||||
"ProfilTyp": "WEICHE S 90°-L-700/700, KPL. MIT M",
|
||||
"WeichenTyp": "Einzelweiche",
|
||||
"KurvenWinkel": 90,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 700.374,
|
||||
"OFWeiche_center_line_height_mm": 700.185,
|
||||
"Objekt_width_mm": 753.918,
|
||||
"Objekt_height_mm": 721.225,
|
||||
"OFWeiche_CP1_x_mm": 700.374,
|
||||
"OFWeiche_CP1_y_mm": 361.225,
|
||||
"KurvenRichtung": 1,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 700.374,
|
||||
"OFWeiche_CP2_y_mm": 721.225,
|
||||
"OFWeiche_CP3_x_mm": 0.0,
|
||||
"OFWeiche_CP3_y_mm": 21.04
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372028,
|
||||
"ProfilTyp": "WEICHE S 90°-L-700/700, KPL. MIT P",
|
||||
@@ -474,6 +512,25 @@
|
||||
"OFWeiche_CP3_x_mm": 21.04,
|
||||
"OFWeiche_CP3_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheParallelEinfach",
|
||||
"ProfilTyp": "WEICHE S PARALLEL-L-200/750, KPL. MIT M",
|
||||
"WeichenTyp": "Einzelweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 200.007,
|
||||
"OFWeiche_center_line_height_mm": 749.8,
|
||||
"Objekt_width_mm": 274.591,
|
||||
"Objekt_height_mm": 749.8,
|
||||
"OFWeiche_CP1_x_mm": 221.047,
|
||||
"OFWeiche_CP1_y_mm": 389.8,
|
||||
"KurvenRichtung": 1,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 221.047,
|
||||
"OFWeiche_CP2_y_mm": 749.8,
|
||||
"OFWeiche_CP3_x_mm": 21.04,
|
||||
"OFWeiche_CP3_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372048,
|
||||
"ProfilTyp": "WEICHE S PARALLEL-L-200/750, KPL. MIT P",
|
||||
@@ -550,6 +607,25 @@
|
||||
"OFWeiche_CP3_x_mm": 715.136,
|
||||
"OFWeiche_CP3_y_mm": 14.878
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheDoppel45",
|
||||
"ProfilTyp": "WEICHE S D 45°-350/700, KPL. MIT M",
|
||||
"WeichenTyp": "Doppelweiche",
|
||||
"KurvenWinkel": 45,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 700.258,
|
||||
"OFWeiche_center_line_height_mm": 700.123,
|
||||
"Objekt_width_mm": 730.013,
|
||||
"Objekt_height_mm": 715.001,
|
||||
"OFWeiche_CP1_x_mm": 365.007,
|
||||
"OFWeiche_CP1_y_mm": 715.001,
|
||||
"KurvenRichtung": 3,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 14.878,
|
||||
"OFWeiche_CP2_y_mm": 14.878,
|
||||
"OFWeiche_CP3_x_mm": 715.136,
|
||||
"OFWeiche_CP3_y_mm": 14.878
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372101,
|
||||
"ProfilTyp": "WEICHE S D 45°-350/700, KPL. MIT P",
|
||||
@@ -835,6 +911,25 @@
|
||||
"OFWeiche_CP3_x_mm": 1400.739,
|
||||
"OFWeiche_CP3_y_mm": 21.04
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheDoppel90",
|
||||
"ProfilTyp": "WEICHE S D 90°-700/700, KPL. MIT M",
|
||||
"WeichenTyp": "Doppelweiche",
|
||||
"KurvenWinkel": 90,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.739,
|
||||
"OFWeiche_center_line_height_mm": 700.176,
|
||||
"Objekt_width_mm": 1400.739,
|
||||
"Objekt_height_mm": 721.216,
|
||||
"OFWeiche_CP1_x_mm": 700.37,
|
||||
"OFWeiche_CP1_y_mm": 721.216,
|
||||
"KurvenRichtung": 3,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 0.0,
|
||||
"OFWeiche_CP2_y_mm": 21.04,
|
||||
"OFWeiche_CP3_x_mm": 1400.739,
|
||||
"OFWeiche_CP3_y_mm": 21.04
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372110,
|
||||
"ProfilTyp": "WEICHE S D 90°-700/700, KPL. MIT P",
|
||||
@@ -930,6 +1025,25 @@
|
||||
"OFWeiche_CP3_x_mm": 421.054,
|
||||
"OFWeiche_CP3_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheParallelDoppel",
|
||||
"ProfilTyp": "WEICHE S D PARALLEL-200/750, KPL. MIT M",
|
||||
"WeichenTyp": "Doppelweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 400.014,
|
||||
"OFWeiche_center_line_height_mm": 749.8,
|
||||
"Objekt_width_mm": 442.094,
|
||||
"Objekt_height_mm": 749.8,
|
||||
"OFWeiche_CP1_x_mm": 221.047,
|
||||
"OFWeiche_CP1_y_mm": 749.8,
|
||||
"KurvenRichtung": 3,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 21.04,
|
||||
"OFWeiche_CP2_y_mm": 0.0,
|
||||
"OFWeiche_CP3_x_mm": 421.054,
|
||||
"OFWeiche_CP3_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372116,
|
||||
"ProfilTyp": "WEICHE S D PARALLEL-200/750, KPL. MIT P",
|
||||
@@ -970,6 +1084,27 @@
|
||||
"OFWeiche_CP4_x_mm": 365.007,
|
||||
"OFWeiche_CP4_y_mm": 355.001
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheDreiwege45",
|
||||
"ProfilTyp": "WEICHE S T 45°-350/700, KPL. MIT M",
|
||||
"WeichenTyp": "Dreiwegeweiche",
|
||||
"KurvenWinkel": 45,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 700.258,
|
||||
"OFWeiche_center_line_height_mm": 700.123,
|
||||
"Objekt_width_mm": 730.013,
|
||||
"Objekt_height_mm": 715.001,
|
||||
"OFWeiche_CP1_x_mm": 365.007,
|
||||
"OFWeiche_CP1_y_mm": 715.001,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 14.878,
|
||||
"OFWeiche_CP2_y_mm": 14.878,
|
||||
"OFWeiche_CP3_x_mm": 715.136,
|
||||
"OFWeiche_CP3_y_mm": 14.878,
|
||||
"OFWeiche_CP4_x_mm": 365.007,
|
||||
"OFWeiche_CP4_y_mm": 355.001
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372201,
|
||||
"ProfilTyp": "WEICHE S T 45°-350/700, KPL. MIT P",
|
||||
@@ -1267,6 +1402,27 @@
|
||||
"OFWeiche_CP4_x_mm": 700.37,
|
||||
"OFWeiche_CP4_y_mm": 361.216
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheDreiwege90",
|
||||
"ProfilTyp": "WEICHE S T 90°-700/700, KPL. MIT M",
|
||||
"WeichenTyp": "Dreiwegeweiche",
|
||||
"KurvenWinkel": 90,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.739,
|
||||
"OFWeiche_center_line_height_mm": 700.176,
|
||||
"Objekt_width_mm": 1400.739,
|
||||
"Objekt_height_mm": 721.216,
|
||||
"OFWeiche_CP1_x_mm": 700.37,
|
||||
"OFWeiche_CP1_y_mm": 721.216,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 0.0,
|
||||
"OFWeiche_CP2_y_mm": 21.04,
|
||||
"OFWeiche_CP3_x_mm": 1400.739,
|
||||
"OFWeiche_CP3_y_mm": 21.04,
|
||||
"OFWeiche_CP4_x_mm": 700.37,
|
||||
"OFWeiche_CP4_y_mm": 361.216
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372210,
|
||||
"ProfilTyp": "WEICHE S T 90°-700/700, KPL. MIT P",
|
||||
@@ -1366,6 +1522,27 @@
|
||||
"OFWeiche_CP4_x_mm": 221.047,
|
||||
"OFWeiche_CP4_y_mm": 389.8
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeicheParallelDreiwege",
|
||||
"ProfilTyp": "WEICHE S T PARALLEL-200/750, KPL. MIT M",
|
||||
"WeichenTyp": "Dreiwegeweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 400.014,
|
||||
"OFWeiche_center_line_height_mm": 749.8,
|
||||
"Objekt_width_mm": 442.094,
|
||||
"Objekt_height_mm": 749.8,
|
||||
"OFWeiche_CP1_x_mm": 221.047,
|
||||
"OFWeiche_CP1_y_mm": 749.8,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 21.04,
|
||||
"OFWeiche_CP2_y_mm": 0.0,
|
||||
"OFWeiche_CP3_x_mm": 421.054,
|
||||
"OFWeiche_CP3_y_mm": 0.0,
|
||||
"OFWeiche_CP4_x_mm": 221.047,
|
||||
"OFWeiche_CP4_y_mm": 389.8
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372216,
|
||||
"ProfilTyp": "WEICHE S T PARALLEL-200/750, KPL. MIT P",
|
||||
@@ -1406,6 +1583,25 @@
|
||||
"OFWeiche_CP3_x_mm": 1400.462,
|
||||
"OFWeiche_CP3_y_mm": 700.237
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFDeltaWeiche",
|
||||
"ProfilTyp": "WEICHE S C DELTA 1400/700, KPL. MIT M",
|
||||
"WeichenTyp": "Dreifachweiche",
|
||||
"KurvenWinkel": 90,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.462,
|
||||
"OFWeiche_center_line_height_mm": 700.237,
|
||||
"Objekt_width_mm": 1400.462,
|
||||
"Objekt_height_mm": 753.781,
|
||||
"OFWeiche_CP1_x_mm": 700.231,
|
||||
"OFWeiche_CP1_y_mm": 0,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 0,
|
||||
"OFWeiche_CP2_y_mm": 700.237,
|
||||
"OFWeiche_CP3_x_mm": 1400.462,
|
||||
"OFWeiche_CP3_y_mm": 700.237
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372401,
|
||||
"ProfilTyp": "WEICHE S C DELTA 1400/700, KPL. MIT P",
|
||||
@@ -1541,6 +1737,27 @@
|
||||
"OFWeiche_CP4_x_mm": 0,
|
||||
"OFWeiche_CP4_y_mm": 700.221
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372421,
|
||||
"ProfilTyp": "WEICHE S C STAR 1400/1400, KPL. MIT P",
|
||||
"WeichenTyp": "Sternweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.442,
|
||||
"OFWeiche_center_line_height_mm": 1400.442,
|
||||
"Objekt_width_mm": 1400.442,
|
||||
"Objekt_height_mm": 1400.442,
|
||||
"OFWeiche_CP1_x_mm": 700.221,
|
||||
"OFWeiche_CP1_y_mm": 0,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 1400.442,
|
||||
"OFWeiche_CP2_y_mm": 700.221,
|
||||
"OFWeiche_CP3_x_mm": 700.221,
|
||||
"OFWeiche_CP3_y_mm": 1400.442,
|
||||
"OFWeiche_CP4_x_mm": 0,
|
||||
"OFWeiche_CP4_y_mm": 700.221
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834342011,
|
||||
"ProfilTyp": "WEICHENKOERPER S -L-, KPL. MIT M",
|
||||
@@ -1560,6 +1777,25 @@
|
||||
"OFWeiche_CP3_x_mm": 19.438,
|
||||
"OFWeiche_CP3_y_mm": 8.052
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeichenkoerperEinfach",
|
||||
"ProfilTyp": "WEICHENKOERPER S -L-, KPL. MIT M",
|
||||
"WeichenTyp": "Einzelweiche",
|
||||
"KurvenWinkel": 22.5,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 101.5,
|
||||
"OFWeiche_center_line_height_mm": 360,
|
||||
"Objekt_width_mm": 174.482,
|
||||
"Objekt_height_mm": 360,
|
||||
"OFWeiche_CP1_x_mm": 120.938,
|
||||
"OFWeiche_CP1_y_mm": 0.0,
|
||||
"KurvenRichtung": 1,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 120.938,
|
||||
"OFWeiche_CP2_y_mm": 360,
|
||||
"OFWeiche_CP3_x_mm": 19.438,
|
||||
"OFWeiche_CP3_y_mm": 8.052
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834342001,
|
||||
"ProfilTyp": "WEICHENKOERPER S -R-, KPL. MIT M",
|
||||
@@ -1636,6 +1872,25 @@
|
||||
"OFWeiche_CP3_x_mm": 222.438,
|
||||
"OFWeiche_CP3_y_mm": 8.052
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeichenkoerperDoppel",
|
||||
"ProfilTyp": "WEICHENKOERPER S D, KPL. MIT M",
|
||||
"WeichenTyp": "Doppelweiche",
|
||||
"KurvenWinkel": 22.5,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 203,
|
||||
"OFWeiche_center_line_height_mm": 340,
|
||||
"Objekt_width_mm": 241.877,
|
||||
"Objekt_height_mm": 348.052,
|
||||
"OFWeiche_CP1_x_mm": 120.939,
|
||||
"OFWeiche_CP1_y_mm": 348.052,
|
||||
"KurvenRichtung": 3,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 19.438,
|
||||
"OFWeiche_CP2_y_mm": 8.052,
|
||||
"OFWeiche_CP3_x_mm": 222.438,
|
||||
"OFWeiche_CP3_y_mm": 8.052
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834342101,
|
||||
"ProfilTyp": "WEICHENKOERPER S D, KPL. MIT P",
|
||||
@@ -1674,7 +1929,28 @@
|
||||
"OFWeiche_CP3_x_mm": 222.438,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP4_x_mm": 120.939,
|
||||
"OFWeiche_CP4_y_mm": -11.948
|
||||
"OFWeiche_CP4_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFWeichenkoerperDreiwege",
|
||||
"ProfilTyp": "WEICHENKOERPER S T, KPL. MIT M",
|
||||
"WeichenTyp": "Dreiwegeweiche",
|
||||
"KurvenWinkel": 22.5,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 203,
|
||||
"OFWeiche_center_line_height_mm": 360.0,
|
||||
"Objekt_width_mm": 241.877,
|
||||
"Objekt_height_mm": 360.0,
|
||||
"OFWeiche_CP1_x_mm": 120.939,
|
||||
"OFWeiche_CP1_y_mm": 360.0,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 19.438,
|
||||
"OFWeiche_CP2_y_mm": 20,
|
||||
"OFWeiche_CP3_x_mm": 222.438,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP4_x_mm": 120.939,
|
||||
"OFWeiche_CP4_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834342201,
|
||||
@@ -1695,6 +1971,6 @@
|
||||
"OFWeiche_CP3_x_mm": 222.438,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP4_x_mm": 120.939,
|
||||
"OFWeiche_CP4_y_mm": -11.948
|
||||
"OFWeiche_CP4_y_mm": 0.0
|
||||
}
|
||||
]
|
||||
@@ -3300,60 +3300,12 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sivasnr": "OFStarWeiche",
|
||||
"ProfilTyp": "WEICHE S C STAR 1400/1400, KPL. MIT M",
|
||||
"WeichenTyp": "Sternweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.442,
|
||||
"OFWeiche_center_line_height_mm": 1400.442,
|
||||
"Objekt_width_mm": 1400.442,
|
||||
"Objekt_height_mm": 1400.442,
|
||||
"OFWeiche_CP1_x_mm": 700.221,
|
||||
"OFWeiche_CP1_y_mm": 0,
|
||||
"KurvenRichtung": 7,
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP2_x_mm": 1400.442,
|
||||
"OFWeiche_CP2_y_mm": 700.221,
|
||||
"OFWeiche_CP3_x_mm": 700.221,
|
||||
"OFWeiche_CP3_y_mm": 1400.442,
|
||||
"OFWeiche_CP4_x_mm": 0,
|
||||
"OFWeiche_CP4_y_mm": 700.221,
|
||||
"Objekt_width_px": 5292.971,
|
||||
"Objekt_height_px": 5292.971,
|
||||
"calculated_SVG_width_px": 1000.0,
|
||||
"calculated_SVG_height_px": 1000.0,
|
||||
"scale_factor": 0.71406,
|
||||
"scale_factor_RD_Width": 1,
|
||||
"scale_factor_RD_Height": 1.0,
|
||||
"connectionPoints": [
|
||||
{
|
||||
"id": "cp1",
|
||||
"x": 500.0,
|
||||
"y": 0.0,
|
||||
"direction": 0
|
||||
},
|
||||
{
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 500.0,
|
||||
"direction": 270
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"x": 500.0,
|
||||
"y": 1000.0,
|
||||
"direction": 90
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372421,
|
||||
"ProfilTyp": "WEICHE S C STAR 1400/1400, KPL. MIT P",
|
||||
"WeichenTyp": "Sternweiche",
|
||||
"KurvenWinkel": 0,
|
||||
"Schaltungstyp": "P",
|
||||
"Schaltungstyp": "M",
|
||||
"OFWeiche_center_line_width_mm": 1400.442,
|
||||
"OFWeiche_center_line_height_mm": 1400.442,
|
||||
"Objekt_width_mm": 1400.442,
|
||||
|
||||
Reference in New Issue
Block a user