export_csv: VF_n/GF_n-Einzelelemente zu Foerdereinheit/Gefaelleeinheit gruppieren
Die Einzelteil-Proxy-Zeilen (Boegen, Streckenelemente, Umlenk-/Motorstation) aus der letzten Session sind fuer den Normalfall zu granular. Standardmaessig (*csv-export-alle-elemente* = nil) fasst csv:unitmark-aktualisieren sie jetzt zu je einer "Foerdereinheit"/"Gefaelleeinheit"-Zeile pro zusammenhaengendem VF-/GF-Abschnitt einer Kette zusammen, mit einem persistenten Rechteck-Marker (ZZ_UNIT_MARKER, analog ZZ_ASES_MARKER) auf der Bounding-Box-Vereinigung aller enthaltenen Elemente. Der bisherige Rohdaten-Export bleibt ueber (csv:export-alle-elemente-an) weiterhin verfuegbar. Einheiten-Grenzen kommen rein export-seitig aus der sepliste (SEP/AS/ES in echter Bau-Reihenfolge) plus dem bereits vorhandenen SSG_SEP_TYP je Separator - eine bauzeitige Markierung in vf_linienzug.lsp/vf_standard.lsp/ vf_etage.lsp waere deutlich invasiver gewesen (3 unabhaengige Baupfade ohne gemeinsamen Einstiegspunkt). csv:sepliste-partition (Lauflaengen-Kodierung ueber die typisierte sepliste) und csv:element-unit-zuordnung (Zuordnung der gesammelten Elemente per Kettenrichtungs-Projektion statt der nachweislich unzuverlaessigen csv:nested-welt-records-Listenreihenfolge) sind reine, dateifrei getestete Funktionen. Korrigiert nebenbei eine falsche Annahme: L_VF_m/L_GF_m zaehlen pro Segment, nicht pro Einheit - die tatsaechliche Einheiten-Anzahl kommt nur aus der sepliste-Typfolge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f751a90076
commit
e7643bf181
+26
-5
@@ -76,16 +76,36 @@
|
||||
# Gefaellestrecken-Segmente, Umlenk-/Motorstation). Wie pattern_schleuselement
|
||||
# liegen sie NICHT als eigener top-level INSERT vor, sondern verpackt in der
|
||||
# Wrapper-Blockdefinition - die Muster dienen der SUCHE dort
|
||||
# (csv:nested-welt-records). Exportiert wird eine TEMPORAERE Kopie des
|
||||
# jeweiligen Original-Blocks (csv:element-proxies-erzeugen, wie bei
|
||||
# Separator/pattern_separator), die nach dem Export wieder geloescht wird.
|
||||
# Vario_Kurve_* ist laut Code-Kommentar (vf_linienzug.lsp) aktuell nirgends
|
||||
# im Projekt tatsaechlich eingefuegt - nur zur Vollstaendigkeit gelistet.
|
||||
# (csv:nested-welt-records). Eine TEMPORAERE Kopie des jeweiligen Original-
|
||||
# Blocks wird IMMER erzeugt (csv:element-proxies-erzeugen, wie bei Separator/
|
||||
# pattern_separator - liefert die Positionsdaten fuer die Gruppierung unten)
|
||||
# und nach dem Export IMMER wieder geloescht; als EIGENE Export-Zeile
|
||||
# erscheinen sie aber NUR, wenn *csv-export-alle-elemente* (export.lsp) auf T
|
||||
# gesetzt ist. Im Default (nil, gruppierter Modus) fasst
|
||||
# csv:unitmark-aktualisieren sie stattdessen zu Foerdereinheit-/
|
||||
# Gefaelleeinheit-Zeilen zusammen (siehe pattern_unit_marker). Vario_Kurve_*
|
||||
# ist laut Code-Kommentar (vf_linienzug.lsp) als "nirgends im Projekt
|
||||
# tatsaechlich eingefuegt" dokumentiert - in der Praxis kommt es doch vor
|
||||
# (siehe reale HundM05-Exporte), das Muster bleibt darum wirksam.
|
||||
# Staustrecke_SP_1000_mm wird beim Bau per Laenge NICHT-UNIFORM skaliert
|
||||
# (insert-inclined-scaled-block) - csv:get-k-kos-strings beruecksichtigt das
|
||||
# beim Lesen von K1/K2 (sx/sy/sz-Parameter). export_sivas.py schliesst diese
|
||||
# vier Muster wie Separator/Scanner aus (Stueckzahl steckt schon in den
|
||||
# GF_Bogen_*/VF_Bogen_*/ANZAHL_VF/ANZAHL_GF-Attributen des Wrappers).
|
||||
#
|
||||
# pattern_unit_marker: der Marker, den der Export je zusammenhaengendem
|
||||
# Foerderer-Abschnitt ("Foerdereinheit") bzw. Gefaelle-Abschnitt
|
||||
# ("Gefaelleeinheit") einer VF_n/GF_n-Kette setzt (ZZ_UNIT_MARKER, ein
|
||||
# Rechteck auf der Bounding-Box-Vereinigung aller enthaltenen Boegen/
|
||||
# Streckenelemente/Umlenk-/Motorstation-Mitglieder, csv:unitmark-
|
||||
# aktualisieren in Lisp/export.lsp). Bleibt wie ZZ_ASES_MARKER dauerhaft in
|
||||
# der Zeichnung stehen und behaelt seine ID ueber Exportlaeufe hinweg
|
||||
# (Attribute ID/ZUORDNUNG/TYP/LFDNR/LAENGE_m/ANZAHL_BOEGEN/K1/K2, alle
|
||||
# unsichtbar). Nur aktiv im gruppierten Modus (*csv-export-alle-elemente* =
|
||||
# nil) - im Rohdaten-Modus werden keine neuen Marker angelegt, verwaiste
|
||||
# Marker (z.B. nach einem Wechsel gruppiert->roh) werden aber immer
|
||||
# aufgeraeumt. export_sivas.py schliesst dieses Muster wie die vier
|
||||
# pattern_nested_*-Muster aus (Stueckzahl steckt in ANZAHL_VF/ANZAHL_GF).
|
||||
# ============================================================
|
||||
|
||||
[blockpattern]
|
||||
@@ -109,6 +129,7 @@ pattern_nested_bogen= Gefaellebogen_*, Vario_Bogen_*, Vario_Kurve_*
|
||||
pattern_nested_streckenelement= Staustrecke_SP_1000_mm*
|
||||
pattern_nested_umlenkstation= Vario_Umlenkstation_*
|
||||
pattern_nested_motorstation= Vario_Motorstation_*
|
||||
pattern_unit_marker= ZZ_UNIT_MARKER*
|
||||
pattern_ks_subblocks= KS_EIN, KS_AUS, K1, K2, K3, K4
|
||||
|
||||
[python]
|
||||
|
||||
Reference in New Issue
Block a user