Vorlage für Erzeugung der Props Datei für den RDC korrigiert.

This commit is contained in:
2025-07-14 11:25:12 +02:00
124 changed files with 2048 additions and 1823 deletions
+109 -15
View File
@@ -25,15 +25,17 @@ def modify_json_values(json_file):
json.dump(data, f, indent=2, ensure_ascii=False)
print("All changes saved!")
def process_einzelweiche_items(data,WeichenKoerperWidth, WeichenkProfileWidth,BogenProfileWidth, WeichenGerade): # Filter matching items
def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth, BogenProfileWidth, WeichenGerade):
# Filter matching items with additional Sivasnr check
filtered_items = [
item for item in data
if (item.get("SivasnrTEF") is None and
item.get("KurvenRichtung") == 1 and
item.get("Schaltungstyp") == "M")
item.get("Schaltungstyp") == "M" and
str(item.get("Sivasnr", "")).isdigit())
]
print(f"Found {len(filtered_items)} matching records")
print(f"Found {len(filtered_items)} matching records with numeric Sivasnr")
print("="*50)
# Process each item
@@ -123,8 +125,38 @@ def process_einzelweiche_items(data,WeichenKoerperWidth, WeichenkProfileWidth,Bo
BogenProfileWidth/2 * math.sin(angle_rad), 3)
print(f"OFWeiche_CP3_y_mm calculated update: {item['OFWeiche_CP3_y_mm']}")
# 1. Find similar items with Schaltungstyp=P (update all CP points)
# NEW: First find exact ProfilTyp matches and update them
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.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",
"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 = 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)
if "S" in current_profil:
prefix = current_profil.rsplit(" ", 1)[0]
@@ -140,7 +172,6 @@ def process_einzelweiche_items(data,WeichenKoerperWidth, WeichenkProfileWidth,Bo
for similar in similar_items_p:
print(f"Updating similar item: {similar['ProfilTyp']} (Sivasnr: {similar['Sivasnr']})")
# Update all fields including CP points
fields_to_copy = [
"OFWeiche_center_line_width_mm",
@@ -259,17 +290,17 @@ def process_einzelweiche_items(data,WeichenKoerperWidth, WeichenkProfileWidth,Bo
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
def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
# Filter Doppelweiche type items with numeric Sivasnr check
filtered_items = [
item for item in data
if (item.get("WeichenTyp") == "Doppelweiche" and
item.get("Schaltungstyp") == "M" and
item.get("SivasnrTEF") is None)
item.get("SivasnrTEF") is None and
str(item.get("Sivasnr", "")).isdigit())
]
print(f"\n\nFound {len(filtered_items)} Doppelweiche type records")
print(f"\n\nFound {len(filtered_items)} Doppelweiche type records with numeric Sivasnr")
print("="*50)
# Process each Doppelweiche item
@@ -351,8 +382,39 @@ def process_doppelweiche_items(data,BogenProfileWidth, WeichenGerade):
item["OFWeiche_CP3_y_mm"] = item["OFWeiche_CP2_y_mm"]
print(f"OFWeiche_CP3_y_mm set: {item['OFWeiche_CP3_y_mm']}")
# 1. Find similar items (D-type P-type)
# NEW: First find exact ProfilTyp matches and update them
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.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",
"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 = 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)
if "S D" in current_profil:
d_p_profil = current_profil.replace("MIT M", "MIT P")
@@ -454,10 +516,10 @@ def process_doppelweiche_items(data,BogenProfileWidth, WeichenGerade):
print(f" {field}: {old_val}{similar[field]}")
# Add CP4 point (T-type specific)
similar["OFWeiche_CP4_x_mm"] = round(item["Objekt_width_mm"]/2, 3)
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(item["Objekt_height_mm"] - WeichenGerade, 3)
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
@@ -494,7 +556,7 @@ def process_doppelweiche_items(data,BogenProfileWidth, WeichenGerade):
similar_t_p[field] = similar[field]
print(f" {field}: {old_val}{similar_t_p[field]}")
# Add save confirmation prompt
# 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")
@@ -511,7 +573,8 @@ def process_deltaweiche_items(data, WeichenkProfileWidth):
item for item in data
if (item.get("WeichenTyp") == "Dreifachweiche" and
item.get("Schaltungstyp") == "M" and
item.get("SivasnrTEF") is None)
item.get("SivasnrTEF") is None)and
str(item.get("Sivasnr", "")).isdigit()
]
print(f"\n\nFound {len(filtered_items)} deltaweiche type records")
@@ -572,7 +635,38 @@ def process_deltaweiche_items(data, WeichenkProfileWidth):
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
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.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",
"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 = 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")
@@ -45,6 +45,52 @@
}
]
},
{
"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,
"Objekt_width_px": 1581.91,
"Objekt_height_px": 2702.346,
"calculated_SVG_width_px": 585.384,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.398599,
"scale_factor_RD_Width": 1.70828,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp1",
"x": 872.075,
"y": 496.504,
"direction": 0.0
},
{
"id": "cp2",
"x": 872.075,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp3",
"x": 35.547,
"y": 20.808,
"direction": 315
}
]
},
{
"Sivasnr": 834372002,
"ProfilTyp": "WEICHE S 45°-L-350/700, KPL. MIT P",
@@ -711,6 +757,52 @@
}
]
},
{
"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,
"Objekt_width_px": 2849.433,
"Objekt_height_px": 2725.87,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 956.636,
"scale_factor": 1.326404,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.04533,
"connectionPoints": [
{
"id": "cp1",
"x": 928.979,
"y": 500.849,
"direction": 0.0
},
{
"id": "cp2",
"x": 928.979,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp3",
"x": 0.0,
"y": 29.173,
"direction": 270
}
]
},
{
"Sivasnr": 834372028,
"ProfilTyp": "WEICHE S 90°-L-700/700, KPL. MIT P",
@@ -933,6 +1025,52 @@
}
]
},
{
"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,
"Objekt_width_px": 1037.817,
"Objekt_height_px": 2833.869,
"calculated_SVG_width_px": 366.219,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.333689,
"scale_factor_RD_Width": 2.730607,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp1",
"x": 805.005,
"y": 519.872,
"direction": 0.0
},
{
"id": "cp2",
"x": 805.005,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp3",
"x": 76.623,
"y": 0.0,
"direction": 360
}
]
},
{
"Sivasnr": 834372048,
"ProfilTyp": "WEICHE S PARALLEL-L-200/750, KPL. MIT P",
@@ -1117,6 +1255,52 @@
}
]
},
{
"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,
"Objekt_width_px": 2759.084,
"Objekt_height_px": 2702.346,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 979.436,
"scale_factor": 1.369839,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.020996,
"connectionPoints": [
{
"id": "cp1",
"x": 500.001,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 20.38,
"y": 20.808,
"direction": 315
},
{
"id": "cp3",
"x": 979.621,
"y": 20.808,
"direction": 45
}
]
},
{
"Sivasnr": 834372101,
"ProfilTyp": "WEICHE S D 45°-350/700, KPL. MIT P",
@@ -1564,6 +1748,52 @@
}
]
},
{
"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,
"Objekt_width_px": 5294.093,
"Objekt_height_px": 2725.836,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 514.883,
"scale_factor": 0.713909,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.942189,
"connectionPoints": [
{
"id": "cp1",
"x": 500.0,
"y": 999.999,
"direction": 180.0
},
{
"id": "cp2",
"x": 0.0,
"y": 29.173,
"direction": 270
},
{
"id": "cp3",
"x": 1000.0,
"y": 29.173,
"direction": 90
}
]
},
{
"Sivasnr": 834372110,
"ProfilTyp": "WEICHE S D 90°-700/700, KPL. MIT P",
@@ -1713,6 +1943,52 @@
}
]
},
{
"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,
"Objekt_width_px": 1670.894,
"Objekt_height_px": 2833.869,
"calculated_SVG_width_px": 589.616,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.333689,
"scale_factor_RD_Width": 1.696019,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp1",
"x": 500.0,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 47.592,
"y": 0.0,
"direction": 360
},
{
"id": "cp3",
"x": 952.408,
"y": 0.0,
"direction": 0
}
]
},
{
"Sivasnr": 834372116,
"ProfilTyp": "WEICHE S D PARALLEL-200/750, KPL. MIT P",
@@ -1813,6 +2089,60 @@
}
]
},
{
"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,
"Objekt_width_px": 2759.084,
"Objekt_height_px": 2702.346,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 979.436,
"scale_factor": 1.369839,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.020996,
"connectionPoints": [
{
"id": "cp4",
"x": 500.001,
"y": 496.504,
"direction": 90.0
},
{
"id": "cp1",
"x": 500.001,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 20.38,
"y": 20.808,
"direction": 315
},
{
"id": "cp3",
"x": 979.621,
"y": 20.808,
"direction": 45
}
]
},
{
"Sivasnr": 834372201,
"ProfilTyp": "WEICHE S T 45°-350/700, KPL. MIT P",
@@ -2308,6 +2638,60 @@
}
]
},
{
"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,
"Objekt_width_px": 5294.093,
"Objekt_height_px": 2725.836,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 514.883,
"scale_factor": 0.713909,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.942189,
"connectionPoints": [
{
"id": "cp4",
"x": 500.0,
"y": 500.843,
"direction": 90.0
},
{
"id": "cp1",
"x": 500.0,
"y": 999.999,
"direction": 180.0
},
{
"id": "cp2",
"x": 0.0,
"y": 29.173,
"direction": 270
},
{
"id": "cp3",
"x": 1000.0,
"y": 29.173,
"direction": 90
}
]
},
{
"Sivasnr": 834372210,
"ProfilTyp": "WEICHE S T 90°-700/700, KPL. MIT P",
@@ -2473,6 +2857,60 @@
}
]
},
{
"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,
"Objekt_width_px": 1670.894,
"Objekt_height_px": 2833.869,
"calculated_SVG_width_px": 589.616,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.333689,
"scale_factor_RD_Width": 1.696019,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp4",
"x": 500.0,
"y": 519.872,
"direction": 90.0
},
{
"id": "cp1",
"x": 500.0,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 47.592,
"y": 0.0,
"direction": 360
},
{
"id": "cp3",
"x": 952.408,
"y": 0.0,
"direction": 0
}
]
},
{
"Sivasnr": 834372216,
"ProfilTyp": "WEICHE S T PARALLEL-200/750, KPL. MIT P",
@@ -2573,6 +3011,52 @@
}
]
},
{
"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,
"Objekt_width_px": 5293.046,
"Objekt_height_px": 2848.915,
"calculated_SVG_width_px": 1000.0,
"calculated_SVG_height_px": 538.237,
"scale_factor": 0.71405,
"scale_factor_RD_Width": 1,
"scale_factor_RD_Height": 1.857918,
"connectionPoints": [
{
"id": "cp1",
"x": 500.0,
"y": 0.0,
"direction": 0
},
{
"id": "cp2",
"x": 0.0,
"y": 928.967,
"direction": 270
},
{
"id": "cp3",
"x": 1000.0,
"y": 928.967,
"direction": 90
}
]
},
{
"Sivasnr": 834372401,
"ProfilTyp": "WEICHE S C DELTA 1400/700, KPL. MIT P",
@@ -2816,6 +3300,102 @@
}
]
},
{
"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",
"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": 834342011,
"ProfilTyp": "WEICHENKOERPER S -L-, KPL. MIT M",
@@ -2862,6 +3442,52 @@
}
]
},
{
"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,
"Objekt_width_px": 659.455,
"Objekt_height_px": 1360.62,
"calculated_SVG_width_px": 484.672,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 2.777778,
"scale_factor_RD_Width": 2.063251,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp1",
"x": 693.126,
"y": 0.0,
"direction": 0.0
},
{
"id": "cp2",
"x": 693.126,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp3",
"x": 111.404,
"y": 22.367,
"direction": 337.5
}
]
},
{
"Sivasnr": 834342001,
"ProfilTyp": "WEICHENKOERPER S -R-, KPL. MIT M",
@@ -3046,6 +3672,52 @@
}
]
},
{
"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,
"Objekt_width_px": 914.174,
"Objekt_height_px": 1315.463,
"calculated_SVG_width_px": 694.945,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 2.873134,
"scale_factor_RD_Width": 1.438963,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp1",
"x": 500.002,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 80.363,
"y": 23.134,
"direction": 337.5
},
{
"id": "cp3",
"x": 919.633,
"y": 23.134,
"direction": 22.5
}
]
},
{
"Sivasnr": 834342101,
"ProfilTyp": "WEICHENKOERPER S D, KPL. MIT P",
@@ -3111,7 +3783,7 @@
"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,
"Objekt_width_px": 914.174,
"Objekt_height_px": 1360.62,
"calculated_SVG_width_px": 671.881,
@@ -3123,7 +3795,61 @@
{
"id": "cp4",
"x": 500.002,
"y": -33.189,
"y": 0.0,
"direction": 90.0
},
{
"id": "cp1",
"x": 500.002,
"y": 1000.0,
"direction": 180.0
},
{
"id": "cp2",
"x": 80.363,
"y": 55.556,
"direction": 337.5
},
{
"id": "cp3",
"x": 919.632,
"y": 55.556,
"direction": 22.5
}
]
},
{
"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,
"Objekt_width_px": 914.174,
"Objekt_height_px": 1360.62,
"calculated_SVG_width_px": 671.881,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 2.777778,
"scale_factor_RD_Width": 1.488359,
"scale_factor_RD_Height": 1,
"connectionPoints": [
{
"id": "cp4",
"x": 500.002,
"y": 0.0,
"direction": 90.0
},
{
@@ -3165,7 +3891,7 @@
"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,
"Objekt_width_px": 914.174,
"Objekt_height_px": 1360.62,
"calculated_SVG_width_px": 671.881,
@@ -3177,7 +3903,7 @@
{
"id": "cp4",
"x": 500.002,
"y": -33.189,
"y": 0.0,
"direction": 90.0
},
{