[ADD] AS/ES-Koordinatensysteme als K1/K2 exportieren + Kollision/Schleuselemente daran ausrichten
Export (Lisp/export.lsp): - Neue csv:vfgf-k-kos-strings leitet fuer VF_n/GF_n-Wrapper K1 (AS/KS_EIN) und K2 (ES/KS_AUS) aus den verschachtelten AS_Element/ES_Element ab (via ssg-collect-nested-inserts) und schreibt sie wie K1-K4 als Positions-String. Bisher waren die K-Spalten fuer Strecken leer. Kollisionspruefung Kreisel<->GF/VF (lib/export_neighbors.py): - compute_neighbor_ids testet Strecken (GF/VF UND "ILS 2.0 Strecke - Modul") nicht mehr ueber die grosse Wrapper-Box, sondern ueber je eine kleine feste Box an der AS- (K1) und ES-Position (K2). Fallback auf Wrapper-Box, wenn K1/K2 fehlen (Altbestand). Schleuselement-Positionen (lib/export_neighbors.py): - compute_strecke_kreisel_schleus setzt Aus-/Einschleuselement ans AS/ES-KOS, um eine halbe Box entlang der Foerderachse nach aussen versetzt (AS: davor, ES: dahinter) - realistischer als der bisherige Kreiselrand-Punkt. Keine Magic Numbers (cfg/export.cfg [Boundingbox]): - element_box_laenge/breite/hoehe_mm (250/100/30) ersetzen die WEICHE_BOX_*- Konstanten; gelesen von load_element_box_mm und an alle Rechenfunktionen durchgereicht (WEICHE_BOX_* nur noch dokumentierter Fallback). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -142,6 +142,21 @@ debug_log=1
|
||||
# nicht gesetzt.
|
||||
bb_minimum_height_mm=1
|
||||
|
||||
# Feste Bounding-Box-Masse (mm) der synthetischen, beim Export erzeugten
|
||||
# Elemente OHNE eigene Zeichnungsgeometrie: der ILS-Weichen an Kreisel-
|
||||
# Beruehrpunkten sowie der ILS-Ein-/Ausschleuselemente an den GF/VF-Strecken-
|
||||
# enden (lib/export_neighbors.py: compute_kreisel_touch_switches /
|
||||
# compute_strecke_kreisel_schleus). Dieselben Masse dienen als feste
|
||||
# Kollisionsbox der AS/ES-Elemente bei der Nachbarschaftspruefung Kreisel<->
|
||||
# GF/VF (compute_neighbor_ids, statt der grossen Wrapper-Box).
|
||||
# LAENGE liegt QUER zur Foerder-/Kreiselachse, BREITE laengs (siehe
|
||||
# _oriented_box_aabb). Der Halbe-Box-Versatz der Schleuselemente gegenueber
|
||||
# dem AS/ES-Koordinatensystem betraegt BREITE/2 entlang der Foerderachse.
|
||||
# Defaults (falls nicht gesetzt): 250 / 100 / 30.
|
||||
element_box_laenge_mm=250
|
||||
element_box_breite_mm=100
|
||||
element_box_hoehe_mm=30
|
||||
|
||||
[Kreisel]
|
||||
# Kreisel-Durchmesser (Antriebs-/Spannstation AN8/SP8) in mm. Quelle der
|
||||
# Wahrheit ist data/json/component_defaults.json ("kreisel"."durchmesser",
|
||||
|
||||
Reference in New Issue
Block a user