Files
dxfmakros/doc/tools.md
T

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

  1. JSON-Datei einlesen und nach Schalter-Kriterien filtern
  2. Fuer jede gefilterte Sivasnr die DXF-Datei aus data/omniflo/ laden
  3. Einfuegepunkt gemaess Typ-Kriterium geometrisch berechnen
  4. $INSBASE im DXF-Header setzen und Datei nach results/ 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)