feat: Eingang/Ausgang-Symbole als eigene CSV-Zeile + in TrackIds

Die Materialfluss-Ein-/Ausgangssymbole (Bloecke Eingang_<DIM>/Ausgang_<DIM>,
eingefuegt ueber ils-insert-station) erscheinen jetzt NUR im CSV-Export als
eigene TeileArt-Zeile ("Eingang"/"Ausgang", Merkmale wie BTMT). Wie
Separator/AS/ES nehmen sie als freie Umlauf-Punkte (KREISEL_UMLAUF_TEILEARTEN)
an der TrackIds-Spalte teil und tauchen so auch auf Kreiseln auf, auf deren
Bahn sie liegen. Der Sivas-Export schliesst sie bewusst aus.

- cfg/export.cfg: pattern_eingang/pattern_ausgang
- Lisp/export.lsp: csv:collect-export-blocks sammelt beide Muster
- Lisp/ssg_id.lsp: ssg-id-collect-blocks erfasst sie (ssg-id-check-all fuellt
  das nachgetragene ID-ATTDEF, dokumentiert in data/ils/allocations.json)
- lib/export_csv.py: Klassifikations-Zweige Eingang/Ausgang
- lib/export_neighbors.py: KREISEL_UMLAUF_TEILEARTEN um Eingang/Ausgang erweitert
- lib/export_sivas.py: Eingang/Ausgang uebersprungen (kein Sivas-Eintrag)
- Tests: test_export_eingang_ausgang.py + Kreisel-Umlauf-Test

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-09-16 11:55:57 +02:00
co-authored by Claude Opus 4.8
parent 52b0699862
commit 1d082ccde7
10 changed files with 247 additions and 5 deletions
+13
View File
@@ -37,6 +37,17 @@
# in den Summierungszaehlern "Anzahl aller BTBeladung"/"Anzahl aller
# Abwurfstationen" der ILS-Automation-Zeile).
#
# pattern_eingang/pattern_ausgang: Eingangs-/Ausgangssymbole des Material-
# flusses (siehe ils-insert-station in SSG_LIB_Commands.lsp, Bloecke
# Eingang_<DIM>/Ausgang_<DIM>). NUR fuer den CSV-Export: export_csv.py fuehrt
# sie als eigene TeileArt-Zeilen ("Eingang"/"Ausgang", Merkmale wie BTMT) UND
# als frei platzierte Umlauf-Punkte auf einem Kreisel (KREISEL_UMLAUF_TEILEARTEN
# in lib/export_neighbors.py), damit sie - wie Separator/AS/ES - in die
# "TrackIds"-Spalte gelangen. export_sivas.py schliesst sie bewusst aus (kein
# Sivas-Eintrag). Voraussetzung fuer eine stabile TeileId ist ein ID-ATTDEF in
# den DWGs (ssg-id-check-all fuellt es vor jedem Export, siehe
# ssg-id-collect-blocks in ssg_id.lsp).
#
# pattern_geruest: Geruest-Baugruppen (GeruestInsert.lsp, GR_<id>_<timestamp>).
# Eigenstaendig wie BTMT, kein ANZAHL_*-Attribut an einem Carrier - export_csv.py
# UND export_sivas.py fuehren sie als eigene TeileArt-Zeilen.
@@ -54,6 +65,8 @@ pattern_separator= Separator_SP*, S-LP*
pattern_scanner= Scanner*
pattern_btmt_beladung= BTMT-Beladung*
pattern_btmt_entladung= SC_Entladung*
pattern_eingang= Eingang*
pattern_ausgang= Ausgang*
pattern_geruest= GR_*
pattern_ks_subblocks= KS_EIN, KS_AUS, K1, K2, K3, K4