Omniflo Single Pattern funktion

This commit is contained in:
2025-09-30 17:24:42 +02:00
19 changed files with 99 additions and 99 deletions
Binary file not shown.
@@ -33,7 +33,7 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
@@ -52,7 +52,7 @@
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
@@ -33,7 +33,7 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
@@ -52,7 +52,7 @@
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
@@ -32,7 +32,7 @@
},
{
"id": "cp2",
"x": 187.049,
"x": 186.794,
"y": 17.334,
"z": 0.0,
"xMin": "",
@@ -51,7 +51,7 @@
},
{
"id": "cp4",
"x": 892.894,
"x": 891.31,
"y": 447.899,
"z": 0.0,
"xMin": "",
@@ -1,4 +1,4 @@
{
{
"shapeMode": 0,
"name": "Star 1400/1400 M",
"family": "OFWeiche",
@@ -25,7 +25,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 180,
"direction": 180.0,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -44,7 +44,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 0,
"direction": 270,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -63,7 +63,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 0,
"direction": 90,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -82,7 +82,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 0,
"direction": 0.0,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -43,7 +43,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 0,
"direction": 270,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -62,7 +62,7 @@
"zMin": "",
"zMax": "",
"zStep": "",
"direction": 0,
"direction": 90,
"linkClass": "Omniflo",
"label": "",
"isDimension": true
@@ -34,7 +34,7 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
@@ -53,7 +53,7 @@
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"z": 0.0,
"xMin": "",
"xMax": "",
+2 -2
View File
@@ -38289,7 +38289,7 @@ me.x
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET Id="RDK:20657451" VarRef="ShapeList[&quot;id=&quot;+ID].GefaellestreckeDefinition.Beschreibung">
<SET Id="RDK:20657451" VarRef="ShapeList[&quot;id=&quot;+ID].GefaelleDefinition.Beschreibung">
<EXP><![CDATA[$=$Shape_Prototype.family+" :"+Shape_Prototype.IDCounter]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
@@ -62544,4 +62544,4 @@ me.x
</PROFILES_DATA>
<BOM_DATA />
</EXTERNAL_DATA>
</PROCESS>
</PROCESS>
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 1000.000 538.236" version="1.1" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" width="1000.000" height="538.236" space="preserve" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="0.373152px" transform="matrix(2.6799 0 0 2.6799 -872.10 -759.95)" vector-effect="non-scaling-stroke">
<path d="M598.933,328.672 A106.58,106.58 0 0,0 542.823,384.782" />
<path d="M481.177,384.782 A106.58,106.58 0 0,0 425.067,328.672" />
<path d="M 698.576 292.249 L 698.576 303.44" />
<path d="M 506.405 484.422 L 517.595 484.422" />
<path d="M 512 458.866 L 512 484.422" />
<path d="M 325.424 297.845 L 698.576 297.845" />
<path d="M 512 458.866 L 542.823 384.782" />
<path d="M 598.933 328.672 L 673.027 297.845" />
<path d="M 481.177 384.782 L 512 458.866" />
<path d="M 350.973 297.845 L 425.067 328.672" />
<path d="M 325.424 292.249 L 325.424 303.44" />
<path d="M 694.465 283.578 L 694.465 297.845" />
<path d="M 329.535 283.578 L 329.535 297.845" />
<g fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="0.289672px" transform="matrix(3.4522 0 0 3.4522 -788.11 -921.56)" vector-effect="non-scaling-stroke">
<path d="M440.613,301.957 A82.7361,82.736 0 0,0 397.056,345.514" />
<path d="M349.201,345.514 A82.7361,82.736 0 0,0 305.643,301.957" />
<path d="M 373.128 403.024 L 373.128 422.863" />
<path d="M 228.292 278.026 L 517.964 278.026" />
<path d="M 373.128 403.024 L 397.056 345.514" />
<path d="M 440.613 301.957 L 498.131 278.026" />
<path d="M 349.201 345.514 L 373.128 403.024" />
<path d="M 248.126 278.026 L 305.643 301.957" />
<path d="M 514.773 266.951 L 514.773 278.026" style="stroke:none;fill:none;" />
<path d="M 231.484 266.951 L 231.484 278.026" style="stroke:none;fill:none;" />
<path d="M 517.964 273.682 L 517.964 282.369" />
<path d="M 228.292 273.682 L 228.292 282.369" />
<path d="M 368.785 422.863 L 377.472 422.863" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 1000.000 538.236" version="1.1" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" width="1000.000" height="538.236" space="preserve" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="#1bff38" stroke-linecap="square" stroke-width="0.373152px" transform="matrix(2.6799 0 0 2.6799 -872.10 -759.95)" vector-effect="non-scaling-stroke">
<path d="M598.933,328.672 A106.58,106.58 0 0,0 542.823,384.782" />
<path d="M481.177,384.782 A106.58,106.58 0 0,0 425.067,328.672" />
<path d="M 698.576 292.249 L 698.576 303.44" />
<path d="M 506.405 484.422 L 517.595 484.422" />
<path d="M 512 458.866 L 512 484.422" />
<path d="M 325.424 297.845 L 698.576 297.845" />
<path d="M 512 458.866 L 542.823 384.782" />
<path d="M 598.933 328.672 L 673.027 297.845" />
<path d="M 481.177 384.782 L 512 458.866" />
<path d="M 350.973 297.845 L 425.067 328.672" />
<path d="M 325.424 292.249 L 325.424 303.44" />
<path d="M 694.465 283.578 L 694.465 297.845" />
<path d="M 329.535 283.578 L 329.535 297.845" />
<g fill="none" stroke="#1bff38" stroke-linecap="square" stroke-width="0.289672px" transform="matrix(3.4522 0 0 3.4522 -788.11 -921.56)" vector-effect="non-scaling-stroke">
<path d="M440.613,301.957 A82.7361,82.736 0 0,0 397.056,345.514" />
<path d="M349.201,345.514 A82.7361,82.736 0 0,0 305.643,301.957" />
<path d="M 373.128 403.024 L 373.128 422.863" />
<path d="M 228.292 278.026 L 517.964 278.026" />
<path d="M 373.128 403.024 L 397.056 345.514" />
<path d="M 440.613 301.957 L 498.131 278.026" />
<path d="M 349.201 345.514 L 373.128 403.024" />
<path d="M 248.126 278.026 L 305.643 301.957" />
<path d="M 514.773 266.951 L 514.773 278.026" style="stroke:none;fill:none;" />
<path d="M 231.484 266.951 L 231.484 278.026" style="stroke:none;fill:none;" />
<path d="M 517.964 273.682 L 517.964 282.369" />
<path d="M 228.292 273.682 L 228.292 282.369" />
<path d="M 368.785 422.863 L 377.472 422.863" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -7,18 +7,18 @@
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(255,255,0)" stroke-width="0.1" >
<polyline points="698.576,303.44 698.576,292.249 " />
<polyline points="517.595,484.422 506.405,484.422 " />
<polyline points="512,458.866 512,484.422 " />
<polyline points="325.424,297.845 698.576,297.845 " />
<path d="M598.933,328.672 A106.58,106.58 0 0,0 542.823,384.782 " />
<path d="M481.177,384.782 A106.58,106.58 0 0,0 425.067,328.672 " />
<polyline points="542.823,384.782 512,458.866 " />
<polyline points="598.933,328.672 673.027,297.845 " />
<polyline points="481.177,384.782 512,458.866 " />
<polyline points="425.067,328.672 350.973,297.845 " />
<polyline points="325.424,303.44 325.424,292.249 " />
<polyline points="694.465,283.578 694.465,297.845 " />
<polyline points="329.535,283.578 329.535,297.845 " />
<polyline points="373.128,403.024 373.128,422.863 " />
<polyline points="228.292,278.026 517.964,278.026 " />
<path d="M440.613,301.957 A82.7361,82.7361 0 0,0 397.056,345.514 " />
<path d="M349.201,345.514 A82.7361,82.7361 0 0,0 305.643,301.957 " />
<polyline points="397.056,345.514 373.128,403.024 " />
<polyline points="440.613,301.957 498.131,278.026 " />
<polyline points="349.201,345.514 373.128,403.024 " />
<polyline points="305.643,301.957 248.126,278.026 " />
<polyline points="514.773,266.951 514.773,278.026 " />
<polyline points="231.484,266.951 231.484,278.026 " />
<polyline points="517.964,282.369 517.964,273.682 " />
<polyline points="228.292,282.369 228.292,273.682 " />
<polyline points="368.785,422.863 377.472,422.863 " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -217,7 +217,7 @@ def process_doppelweiche_items(data, BogenProfileWidth, WeichenGerade):
item["OFWeiche_CP1_y_mm"] = round(item["Objekt_height_mm"], 4)
item["OFWeiche_CP2_x_mm"] = round(round(BogenProfileWidth/2,7) * cos_value, 4)
if item["KurvenWinkel"] == 22.5:
item["OFWeiche_CP2_y_mm"] =20
item["OFWeiche_CP2_y_mm"] =round(round(BogenProfileWidth/2,7) * sin_value, 4)
else:
item["OFWeiche_CP2_y_mm"] = round(round(BogenProfileWidth/2,7) * sin_value, 4)
item["OFWeiche_CP3_x_mm"] = round(round(BogenProfileWidth/2,7) * cos_value + item["OFWeiche_center_line_width_mm"], 4)
@@ -237,8 +237,8 @@ def process_json_file(input_file, output_file):
cp4_y = round(item["OFWeiche_CP4_y_mm"] * scale*scale_RD_H, 3)
cp1_dir = 180
cp2_dir = round(360 - kurven_winkel, 1)
cp3_dir = round(kurven_winkel, 1)
cp2_dir = 270
cp3_dir = 90
cp4_dir = 0
connection_points.extend([
@@ -69,8 +69,8 @@ def process_lr_file(filepath, filename, stats):
# Print all straight paths
print("\n 🔍 All straight path details:")
for line in straight_lines:
print(f" Path{line['index']}: ({line['p1'][0]:.2f},{line['p1'][1]:.2f})→"
f"({line['p2'][0]:.2f},{line['p2'][1]:.2f}) length={line['length']:.4f}mm")
print(f" Path{line['index']}: ({line['p1'][0]:.3f},{line['p1'][1]:.3f})→"
f"({line['p2'][0]:.3f},{line['p2'][1]:.3f}) length={line['length']:.4f}mm")
# Group by length
length_groups = group_lines_by_length(straight_lines)
@@ -81,8 +81,8 @@ def process_lr_file(filepath, filename, stats):
for group in perfect_pairs:
print(f" ┌ Length group ({group[0]['length']:.4f}mm, 2 paths)")
for line in group:
print(f" │ Path{line['index']}: ({line['p1'][0]:.2f},{line['p1'][1]:.2f})→"
f"({line['p2'][0]:.2f},{line['p2'][1]:.2f})")
print(f" │ Path{line['index']}: ({line['p1'][0]:.3f},{line['p1'][1]:.3f})→"
f"({line['p2'][0]:.3f},{line['p2'][1]:.3f})")
print("" + "" * 40)
if len(perfect_pairs) == 1:
@@ -130,8 +130,8 @@ def process_delta_file(filepath, filename, stats):
# Print all straight paths
print("\n 🔍 All straight path details:")
for line in straight_lines:
print(f" Path{line['index']}: ({line['p1'][0]:.2f},{line['p1'][1]:.2f})→"
f"({line['p2'][0]:.2f},{line['p2'][1]:.2f}) length={line['length']:.4f}mm")
print(f" Path{line['index']}: ({line['p1'][0]:.3f},{line['p1'][1]:.3f})→"
f"({line['p2'][0]:.3f},{line['p2'][1]:.3f}) length={line['length']:.4f}mm")
# Group by length
length_groups = group_lines_by_length(straight_lines)
@@ -142,8 +142,8 @@ def process_delta_file(filepath, filename, stats):
for group in perfect_triples:
print(f" ┌ Length group ({group[0]['length']:.4f}mm, 3 paths)")
for line in group:
print(f" │ Path{line['index']}: ({line['p1'][0]:.2f},{line['p1'][1]:.2f})→"
f"({line['p2'][0]:.2f},{line['p2'][1]:.2f})")
print(f" │ Path{line['index']}: ({line['p1'][0]:.3f},{line['p1'][1]:.3f})→"
f"({line['p2'][0]:.3f},{line['p2'][1]:.3f})")
print("" + "" * 40)
if len(perfect_triples) == 1:
@@ -202,8 +202,8 @@ def find_straight_lines(root):
'index': i,
'element': path,
'length': round(length, 4), # Keep 4 decimal places
'p1': (round(p1[0], 2), round(p1[1], 2)), # Coordinates rounded to 2 decimals
'p2': (round(p2[0], 2), round(p2[1], 2))
'p1': (round(p1[0], 3), round(p1[1], 3)), # Coordinates rounded to 2 decimals
'p2': (round(p2[0], 3), round(p2[1], 3))
})
return lines
@@ -1203,9 +1203,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20
"OFWeiche_CP3_y_mm": 8.0517
},
{
"Sivasnr": "OFWeichenkoerperDoppel",
@@ -1222,9 +1222,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20
"OFWeiche_CP3_y_mm": 8.0517
},
{
"Sivasnr": 834342101,
@@ -1241,9 +1241,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20
"OFWeiche_CP3_y_mm": 8.0517
},
{
"Sivasnr": 834342200,
@@ -2625,13 +2625,13 @@
"id": "cp2",
"x": 0.0,
"y": 500.0,
"direction": 360
"direction": 270
},
{
"id": "cp3",
"x": 1000.0,
"y": 500.0,
"direction": 0
"direction": 90
},
{
"id": "cp4",
@@ -2679,13 +2679,13 @@
"id": "cp2",
"x": 0.0,
"y": 500.0,
"direction": 360
"direction": 270
},
{
"id": "cp3",
"x": 1000.0,
"y": 500.0,
"direction": 0
"direction": 90
},
{
"id": "cp4",
@@ -2940,9 +2940,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20,
"OFWeiche_CP3_y_mm": 8.0517,
"Objekt_width_px": 914.1804,
"Objekt_height_px": 1315.471,
"calculated_SVG_width_px": 694.9453257,
@@ -2960,13 +2960,13 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"direction": 337.5
},
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"direction": 22.5
}
]
@@ -2986,9 +2986,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20,
"OFWeiche_CP3_y_mm": 8.0517,
"Objekt_width_px": 914.1804,
"Objekt_height_px": 1315.471,
"calculated_SVG_width_px": 694.9453257,
@@ -3006,13 +3006,13 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"direction": 337.5
},
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"direction": 22.5
}
]
@@ -3032,9 +3032,9 @@
"OFWeiche_CP1_x_mm": 120.9385,
"OFWeiche_CP1_y_mm": 348.0517,
"OFWeiche_CP2_x_mm": 19.4385,
"OFWeiche_CP2_y_mm": 20,
"OFWeiche_CP2_y_mm": 8.0517,
"OFWeiche_CP3_x_mm": 222.4385,
"OFWeiche_CP3_y_mm": 20,
"OFWeiche_CP3_y_mm": 8.0517,
"Objekt_width_px": 914.1804,
"Objekt_height_px": 1315.471,
"calculated_SVG_width_px": 694.9453257,
@@ -3052,13 +3052,13 @@
{
"id": "cp2",
"x": 80.365,
"y": 57.463,
"y": 23.134,
"direction": 337.5
},
{
"id": "cp3",
"x": 919.635,
"y": 57.463,
"y": 23.134,
"direction": 22.5
}
]
@@ -13,7 +13,7 @@
"TEFWeiche_center_line_height_mm": 722.5864,
"OFWeiche_CP1_x_mm": 442.8527,
"OFWeiche_CP1_y_mm": 715.0010,
"OFWeiche_CP2_x_mm": 92.8502,
"OFWeiche_CP2_x_mm": 92.7237,
"OFWeiche_CP2_y_mm": 14.8776,
"OFWeiche_CP4_x_mm": 442.8527,
"OFWeiche_CP4_y_mm": 355.0010,
@@ -65,7 +65,7 @@
"OFWeiche_CP1_y_mm": 764.8776,
"OFWeiche_CP2_x_mm": 39.0827,
"OFWeiche_CP2_y_mm": 14.8776,
"OFWeiche_CP4_x_mm": 439.8627,
"OFWeiche_CP4_x_mm": 439.0827,
"OFWeiche_CP4_y_mm": 404.8776,
"TEFWeiche_CPL1_x_mm": 339.0727,
"TEFWeiche_CPL1_y_mm": 903.9492,
@@ -13,7 +13,7 @@
"TEFWeiche_center_line_height_mm": 722.5864,
"OFWeiche_CP1_x_mm": 442.8527,
"OFWeiche_CP1_y_mm": 715.001,
"OFWeiche_CP2_x_mm": 92.8502,
"OFWeiche_CP2_x_mm": 92.7237,
"OFWeiche_CP2_y_mm": 14.8776,
"OFWeiche_CP4_x_mm": 442.8527,
"OFWeiche_CP4_y_mm": 355.001,
@@ -40,7 +40,7 @@
},
{
"id": "cp2",
"x": 187.049,
"x": 186.794,
"y": 17.334,
"direction": 315,
"linkClass": "Omniflo"
@@ -153,7 +153,7 @@
"OFWeiche_CP1_y_mm": 764.8776,
"OFWeiche_CP2_x_mm": 39.0827,
"OFWeiche_CP2_y_mm": 14.8776,
"OFWeiche_CP4_x_mm": 439.8627,
"OFWeiche_CP4_x_mm": 439.0827,
"OFWeiche_CP4_y_mm": 404.8776,
"TEFWeiche_CPL1_x_mm": 339.0727,
"TEFWeiche_CPL1_y_mm": 903.9492,
@@ -185,7 +185,7 @@
},
{
"id": "cp4",
"x": 892.894,
"x": 891.31,
"y": 447.899,
"direction": 0,
"linkClass": "Omniflo"