refactor: Kettenfoerderer als Seitenansicht mit Beschriftung und Hoehenmass, Draufsicht als eigener Hilfsblock KF2D_n
- Hauptblock KF_n: flache, ungedrehte Seitenansicht mit Beschriftung und Hoehenmass; nur er wird exportiert - Draufsicht KF_2D als getrennter Hilfsblock KF2D_n (projizierte Laenge, frei verschiebbar, per KF_EDIT regenerierbar), Verknuepfung ueber XDATA-Schluessel - L_KF_mm = waagerechte Laenge, Sivas-Zeile ohne Laenge, Export nur KF_<Ziffern> - ensure-block-loaded: Block ohne ILS-Datei (KF_2D) nicht mehr als fehlend melden - Layer kettenfoerderer_beschriftung, Dispatcher-Zweig KF2D_*, Sprachdateien und Unit-Tests angepasst Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
+12
-4
@@ -313,8 +313,8 @@ def kettenfoerderer_signature(block):
|
||||
Merkmale wuerden schon hier dieselbe Gruppe ergeben. Sonst wuerde dort
|
||||
"anzahl" addiert, waehrend 353 unveraendert stehen bliebe.
|
||||
|
||||
Die Laenge des Zwischenstuecks (L_KF_mm) ist eine FOLGE der Einbauhoehe und
|
||||
steht darum nicht eigens im Schluessel.
|
||||
Die waagerechte Laenge (L_KF_mm) ist eine FOLGE der Einbauhoehe (und des
|
||||
Winkels) und steht darum nicht eigens im Schluessel.
|
||||
"""
|
||||
attribs = block.get("attribs", {})
|
||||
return (
|
||||
@@ -702,7 +702,11 @@ def process_blocks(blocks, anzahl_weichen_ils=0):
|
||||
# 359/360/391) gingen dabei verloren. Anders als das Geruest werden
|
||||
# BAUGLEICHE Foerderer zu einer Zeile zusammengefasst, weil Merkmal
|
||||
# 353 genau diese Stueckzahl verlangt.
|
||||
if matches_any(bname, BLOCKPATTERNS.get("pattern_kettenfoerderer", [])):
|
||||
# Nur echte Foerderer "KF_<n>": das Muster KF_* erfasst sonst auch
|
||||
# lose Bausteine (KF_UM_26, KF_2D). Der Hilfsblock KF2D_<n> passt nicht
|
||||
# aufs Muster und wird nie exportiert.
|
||||
if (matches_any(bname, BLOCKPATTERNS.get("pattern_kettenfoerderer", []))
|
||||
and re.fullmatch(r"KF_\d+", bname, re.IGNORECASE)):
|
||||
sig = kettenfoerderer_signature(block)
|
||||
if sig not in kettenfoerderer_groups:
|
||||
kettenfoerderer_groups[sig] = {"block": block, "ids": [], "anzahl": 0}
|
||||
@@ -996,7 +1000,11 @@ def process_blocks(blocks, anzahl_weichen_ils=0):
|
||||
"bezeichnung": attribs.get("Bezeichnung", ""),
|
||||
"dispgruppe": 20,
|
||||
"anzahl": gruppe["anzahl"],
|
||||
"laenge_mm": attribs.get("L_KF_mm", ""),
|
||||
# Bewusst LEER: Sivas berechnet ZL, EL und die Kettenlaenge selbst, aus
|
||||
# dem Kettenfoerderer wird nur die Hoehe (360) uebernommen. L_KF_mm
|
||||
# (waagerechte Laenge des Foerderers) steht als Attribut am Block,
|
||||
# geht aber nicht in die Sivas-Zeile.
|
||||
"laenge_mm": "",
|
||||
"ids": gruppe["ids"],
|
||||
"details": build_kettenfoerderer_details(block, gruppe["anzahl"]),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user