4.2 KiB
set_einfuegepunkt
Setzt den Einfuegepunkt ($INSBASE) von Omniflo DXF-Dateien anhand geometrischer Kriterien.
Aufruf
bin\set_einfuegepunkt.bat [--schalter] [--number SIVASNR]
Das Batch-Skript ruft setenv.bat auf und startet lib/set_einfuegepkt.py mit den uebergebenen Argumenten.
Datenquellen
| Pfad | Inhalt |
|---|---|
data/json/omniflo_boegen.json |
Liste aller Boegen mit Sivasnr, ProfilTyp, Radius, KurvenWinkel etc. |
data/json/omniflo_weichen.json |
Liste aller Weichen mit Sivasnr, ProfilTyp, WeichenTyp, KurvenWinkel etc. |
data/omniflo/*.dxf |
Die DXF-Quelldateien (je Sivasnr eine Datei) |
Die JSON-Dateien liefern die IDs (Sivasnr) und Metadaten zur Filterung. Die DXF-Dateien enthalten die Geometrie (Linien, Boegen), aus der der Einfuegepunkt berechnet wird.
Ablauf
- JSON-Datei einlesen und nach Schalter-Kriterien filtern
- Fuer jede gefilterte Sivasnr die DXF-Datei aus
data/omniflo/laden - Einfuegepunkt gemaess Typ-Kriterium geometrisch berechnen
$INSBASEim DXF-Header setzen und Datei nachresults/speichern
Schalter
--boegen
Alle Eintraege aus omniflo_boegen.json (27 Items, KurvenWinkel 22.5/45/67.5/90/180).
Kriterium: Schnittpunkt der Tangenten am Anfangs- und Endpunkt der Bogenkurve. Bei 180-Grad-Boegen wird der Mittelpunkt zwischen Start und Ende verwendet.
--weichen45
Einzel-, Doppel- und Dreiwegeweichen mit KurvenWinkel 45 (32 Items).
Kriterium: Schnittpunkt der laengsten vertikalen Linie mit der Tangente am oberen Bogenpunkt. Bei mehreren Boegen wird der mit dem hoechsten Y-Wert gewaehlt.
--weichen90
Einzel-, Doppel- und Dreiwegeweichen mit KurvenWinkel 90 (24 Items).
Kriterium: Wie --weichen45.
--weichenkoerper
Alle Weichen mit KurvenWinkel 22.5 (8 Items: Einzel-/Doppel-/Dreiwegeweiche).
Kriterium: Schnittpunkt der laengsten Diagonale mit der laengsten vertikalen Linie (Konvergenzpunkt aller Linien).
--weichen-parallel
Einzel-, Doppel- und Dreiwegeweichen mit KurvenWinkel 0, ohne Sternweiche (8 Items).
Kriterium: Wie --weichenkoerper.
--delta
Deltaweichen (1 Item).
Kriterium: Mittelpunkt der laengsten horizontalen Linie.
--dreifachweiche
Dreifachweichen (6 Items).
Kriterium: Mittelpunkt der laengsten horizontalen Linie.
--sternweiche
Sternweiche (1 Item).
Kriterium: Zentrum, berechnet als Mittelpunkt der laengsten horizontalen Linie (entspricht dem Schnittpunkt der horizontalen und vertikalen Mittelachse).
--number SIVASNR
Optionaler Filter: nur die angegebene 9-stellige Sivasnr verarbeiten. Kombinierbar mit jedem Typ-Schalter.
--show-omniflo
Erzeugt eine Uebersichts-DXF (results/omniflo_uebersicht.dxf) mit allen Omniflo-Elementen. Die Elemente werden in Reihen nach Typ gruppiert angezeigt. Jedes Element erhaelt:
- Den Dateinamen als Beschriftung oberhalb
- Ein rotes Kreuz am Einfuegepunkt
- Eine blaue Linie vom Einfuegepunkt zum tiefsten Punkt des Elements
Abdeckung
Alle 107 Items (27 Boegen + 80 Weichen) sind exklusiv genau einem Schalter zugeordnet. Keine Ueberlappungen, keine Luecken.
Uebersicht aller Schalter
| Schalter | Items | WeichenTyp | KurvenWinkel | Einfuegepunkt-Kriterium |
|---|---|---|---|---|
--boegen |
27 | - | 22.5, 45, 67.5, 90, 180 | Tangentenschnittpunkt am Bogen (180: Mittelpunkt) |
--weichen45 |
32 | Einzel-, Doppel-, Dreiwegeweiche | 45 | Tangente oberer Bogenpunkt x laengste Vertikale |
--weichen90 |
24 | Einzel-, Doppel-, Dreiwegeweiche | 90 | Tangente oberer Bogenpunkt x laengste Vertikale |
--weichenkoerper |
8 | Einzel-, Doppel-, Dreiwegeweiche | 22.5 | Laengste Diagonale x laengste Vertikale |
--weichen-parallel |
8 | Einzel-, Doppel-, Dreiwegeweiche | 0 | Laengste Diagonale x laengste Vertikale |
--dreifachweiche |
6 | Dreifachweiche | 90 | Mittelpunkt laengste Horizontale |
--delta |
1 | Deltaweiche | 90 | Mittelpunkt laengste Horizontale |
--sternweiche |
1 | Sternweiche | 0 | Zentrum (Mittelpunkt laengste Horizontale) |
| Gesamt | 107 |
Umgebungsvariablen
Werden durch bin/setenv.bat gesetzt:
| Variable | Verwendung |
|---|---|
DXFM_DATA |
Pfad zu data/ (JSON + DXF Quelldateien) |
DXFM_RESULTS |
Pfad zu results/ (Ausgabe) |