TRO-Typen an Kreisel-Beruehrpunkten (lib/kreisel_junctions.py, derive_tros Schritt 3c): jeder Kreisel als Stadion-Form mit Laufrichtung; jeder gleichlaufende Beruehrpunkt ist eine Weiche (exportierte ILS Weiche oder abgeleitet W<a>_<b>), Beruehrpunkte derselben Umlenkung bilden einen Knoten. Ein Separator steuert ihn, wenn er in Laufrichtung unmittelbar davor liegt (keine andere Weiche dazwischen). Typ = Separatoren x Weichen. export.csv: 1Sep1Swi (9/1, 9/8, 8/7), 2Sep1Swi (7/2), 2Sep2Swi (2/3/4), 3Sep2Swi (4/5/6). Neuer Katalogtyp 3Sep2Swi (nicht aus SCL belegt). Gegenlaeufige Beruehrpunkte (Mubea, Dematic) bleiben bei der alten Regel; Mubea/HundM05/Dematic unveraendert, Showroom 0018+0019 jetzt 2Sep1Swi. material_flow --track: Mouseover je Knoten mit Zugehoerigkeit zu Kreisel/VF/GF (Zuordnung, TrackIds-Kette, Lage laut Geometrie), Weiche mit beiden Kreiseln, Be-/Entladung mit ihrem Kreisel; Widersprueche mit "!". Zahlenwerte (Toleranzen, Schwellen, Massstaebe, Groessen) aus allen lib-Modulen nach cfg/parameter.ini (lib/parameter.py, Abschnitt je Modul, Ueberschreiben je Anlage ueber %SKEL_CFG%/parameter.ini). Ausgaben aller Anlagen bytegleich. tro_flow.py: Docstrings mit Parametern/Rueckgabe, fehlende Typangaben. Geprueft: 90 Tests gruen; tro_flow/material_flow/scl_skeleton auf 5 CSVs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
179 lines
6.5 KiB
INI
179 lines
6.5 KiB
INI
; ================================================================
|
|
; parameter.ini - Zahlenwerte der Bibliotheken in lib/
|
|
; ================================================================
|
|
; Gelesen von lib/parameter.py. Ein Abschnitt je Modul, der Schluessel ist
|
|
; der Name der Konstanten im Modul in Kleinbuchstaben:
|
|
; [kreisel_junctions] contact_tolerance -> CONTACT_TOLERANCE
|
|
;
|
|
; Diese Datei ist die versionierte Grunddatei und muss vollstaendig sein -
|
|
; fehlt ein Schluessel, bricht das Programm ab (kein Ersatzwert im Code).
|
|
; Eine weitere parameter.ini in %SKEL_CFG% (falls SKEL_CFG woanders hin
|
|
; zeigt) ueberschreibt einzelne Werte fuer eine Anlage.
|
|
;
|
|
; Laengen in mm, Winkel in Grad, sofern nicht anders angegeben.
|
|
; Werte, die das Ergebnis der Ableitung aendern (Toleranzen, Schwellen),
|
|
; nur mit Begruendung und Vergleich der Ausgaben aller Anlagen aendern.
|
|
; ================================================================
|
|
|
|
|
|
[kreisel_junctions]
|
|
; Hoechster Abstand zweier Kreisel-Umlaeufe, der noch als Beruehrung gilt.
|
|
contact_tolerance = 50.0
|
|
|
|
; Hoechster Abstand eines Separators vom Umlauf, damit er auf ihm liegt.
|
|
; Auch die Grenze fuer "liegt auf Kreisel" im Mouseover von
|
|
; material_flow.py --track.
|
|
separator_tolerance = 100.0
|
|
|
|
; Hoechster Abstand einer exportierten ILS Weiche von ihrem Beruehrpunkt.
|
|
weiche_tolerance = 300.0
|
|
|
|
; Abtastschritt beim Suchen des Beruehrpunkts.
|
|
sample_step = 10.0
|
|
|
|
; Mindestanzahl Abtastpunkte je Umlauf, auch bei sehr kleinen Kreiseln.
|
|
min_samples = 8
|
|
|
|
; Bei tangentialer Beruehrung sind viele Abtastpunkte fast gleich nah: alle
|
|
; bis zu diesem Mehrabstand ueber dem naechsten gehen in den Mittelpunkt ein.
|
|
contact_tie = 1.0
|
|
|
|
; Ein Beruehrbereich, der laenger ist, liegt nicht an einem Punkt an (zwei
|
|
; parallele Bahnen nebeneinander) - Hinweis statt Weiche.
|
|
max_contact_length = 500.0
|
|
|
|
; Ein Punkt bis zu diesem Abstand vor dem Ende der Geraden zaehlt schon zur
|
|
; Umlenkung. Zwei Kreisel, deren Umlenkungen sich beruehren, tun das oft genau
|
|
; am Uebergang Gerade/Halbkreis (export.csv: Kreisel 5 an Kreisel 6 und 4).
|
|
end_tolerance = 100.0
|
|
|
|
; Radius, wenn die Boundingbox ihn nicht liefert (schraeg liegender Kreisel).
|
|
default_radius = 400.0
|
|
|
|
; Halbe Schrittweite fuer die Laufrichtung an einer Stelle des Umlaufs
|
|
; (Differenz zweier Punkte davor und dahinter).
|
|
direction_step = 1.0
|
|
|
|
; Gleichlauf am Beruehrpunkt: Mindest-Kosinus des Winkels zwischen beiden
|
|
; Laufrichtungen (0.5 = hoechstens 60 Grad). Darunter "gegenlaeufig".
|
|
gleichlauf_min_cos = 0.5
|
|
|
|
|
|
[tro_flow]
|
|
; Ab dieser Anzahl zusammenhaengender Schwerkraftlinien (Gefaellestrecke mit
|
|
; je einem Separator) wird ein Speicherblock (PinStore_Auto) angenommen.
|
|
min_store_lanes = 2
|
|
|
|
; Mindest-Hoehenverlust auf dem vorangehenden TrackIds-Segment, damit ein
|
|
; Separator auf einer "Strecke" trotzdem als 1Sep statt Vario gilt (siehe
|
|
; _incoming_drop). Muss nur "horizontal" gefuehrte, aber tatsaechlich
|
|
; Gefaelle-Segmente erwischen (HundM05 Separator 0035: -104mm auf 3,8m), nicht
|
|
; das Rauschen eines echten flachen VF-Laufs (HundM05 Separator 0036: +26mm
|
|
; auf 0,5m). 30mm liegt bewusst weit unter dem Befund und ueber dem Rauschen.
|
|
gefaelle_drop_mm = 30.0
|
|
|
|
; Zeichnungsmassstab fuer --use-cords in pt/mm: Graphviz rechnet in Punkt, die
|
|
; Anlage in Millimeter. Seit die Symbole eine feste Groesse haben, reichen
|
|
; 0.1 pt/mm: ~11 x 20 m Anlage ergeben etwa 1100 x 2000 pt. Vorher 0.25
|
|
; (riesige Zeichnung, Symbole und Schrift verschwanden; Review 2026-10-01).
|
|
coord_scale = 0.1
|
|
|
|
; Zu-/Ablaufpfeil einer Station in der lagerichtigen Zeichnung: feste Laenge
|
|
; ab dem angehaengten TRO (siehe _station_positionen).
|
|
coord_pfeil_laenge = 1300
|
|
|
|
; Groesste Luecke zwischen zwei benachbarten Knotenkoordinaten je Achse in der
|
|
; lagerichtigen Zeichnung; groessere Leerstrecken werden auf diesen Wert
|
|
; gekuerzt (Review 2026-10-01). --true-scale schaltet das ab.
|
|
coord_max_luecke = 1500
|
|
|
|
; Abstand der Legende rechts neben der Anlage.
|
|
legend_margin = 3000
|
|
|
|
; Oberkante der Legende so weit unter der Anlagenoberkante.
|
|
legend_drop = 1000
|
|
|
|
|
|
[tro_ids]
|
|
; Abstand zwischen Eintrag der ID-Datei und Separator, bis zu dem ein TRO als
|
|
; wiedergefunden gilt (Standard fuer --id-tolerance). Separatoren derselben
|
|
; Bahn liegen deutlich weiter auseinander; ein verschobenes Bauteil faellt so
|
|
; als "neu" auf.
|
|
default_tolerance = 100.0
|
|
|
|
|
|
[material_flow]
|
|
; Max. Abstand, ab dem ein generisches Eingang/Ausgang-Symbol als
|
|
; "deckungsgleich" mit einer BTMT-Station gilt und verschluckt wird. Die
|
|
; beobachteten Paare liegen bei 256-431 mm, echte getrennte Stationen >1000 mm.
|
|
station_merge_mm = 600.0
|
|
|
|
; Ab dieser Anzahl paralleler Gefaellestrecken zwischen denselben zwei
|
|
; Kreisel-Bahnen werden sie im Materialfluss-Diagramm zu einem Block
|
|
; zusammengefasst - sonst wird eine grosse Linienbank unlesbar breit.
|
|
min_gefaelle_group = 2
|
|
|
|
; Zeichnungsmassstab fuer --use-cords in pt/mm. Achtung: tro_flow nutzt seit
|
|
; Review 2026-10-01 0.1 - beide Graphen haben damit verschiedene Massstaebe.
|
|
coord_scale = 0.25
|
|
|
|
; Die beiden Bahnen (L/R) eines Kreisels teilen sich eine Position; im
|
|
; lagerichtigen Layout so weit versetzen, damit sie nicht uebereinander liegen.
|
|
lane_nudge_mm = 350.0
|
|
|
|
; Legende im lagerichtigen Layout so weit unterhalb der Anlage.
|
|
legend_offset_mm = 3000.0
|
|
|
|
; Legende (--show-bbs): Kaestchen- und Schriftgroesse.
|
|
bbs_legend_box_mm = 250.0
|
|
bbs_legend_font_mm = 180.0
|
|
|
|
; --show-bbs: Rand um die Anlage herum und minimale Schriftgroesse.
|
|
bbs_margin_mm = 500.0
|
|
bbs_min_font_mm = 40.0
|
|
|
|
; Anschlusspunkte K1-K4 (--show-kx): Groesse des Kreuzes und der Beschriftung.
|
|
kx_cross_mm = 120.0
|
|
kx_font_mm = 90.0
|
|
|
|
; --chain-graph: Hoechstgroesse der Zeichenflaeche, Rand und Titelhoehe (px).
|
|
chain_max_w = 1400.0
|
|
chain_max_h = 850.0
|
|
chain_margin = 70.0
|
|
chain_title_h = 60.0
|
|
|
|
|
|
[dxf_registration]
|
|
; Rastergroesse der Abstimmung.
|
|
vote_grid = 100.0
|
|
|
|
; So viele Kandidaten der Abstimmung werden ausgeglichen und bewertet.
|
|
vote_candidates = 6
|
|
|
|
; Nur Paare bis zu diesem Abstand gehen in den Ausgleich ein (exakte Treffer).
|
|
fit_tol = 50.0
|
|
|
|
; Punkte gelten als zugeordnet, wenn sie nach der Verschiebung so nah liegen.
|
|
default_match_tol = 600.0
|
|
|
|
; So viele exakte Treffer muessen es mindestens sein.
|
|
min_inliers = 5
|
|
|
|
; Ab dieser Drehung (Grad) wird gewarnt.
|
|
rotation_warn_deg = 0.05
|
|
|
|
|
|
[tro_annotate]
|
|
; Zeichnungsgroessen, wenn nicht per --marker-size/--text-height angegeben.
|
|
default_marker = 300.0
|
|
default_text = 220.0
|
|
|
|
; Restfehler des Lagebezugs, ab dem er abgelehnt wird.
|
|
default_max_residual = 600.0
|
|
|
|
|
|
[e_planning]
|
|
; Zulaessige Abweichung vom Sollabstand (soll_mm), wenn eine Regel in
|
|
; e_planning.ini kein toleranz_mm angibt.
|
|
toleranz_mm = 150.0
|