K2 für die Bögen werden jetzt richtig gesetzt
This commit is contained in:
+15
-50
@@ -33,6 +33,7 @@ import ezdxf
|
||||
|
||||
from utils import (
|
||||
ROW_GROUPS, TEXT_HEIGHT, TEXT_MARGIN, CROSS_SIZE, ROW_LABEL_WIDTH,
|
||||
SWITCH_FILTERS,
|
||||
build_row_layout, import_element_as_block, draw_cross,
|
||||
)
|
||||
|
||||
@@ -225,59 +226,23 @@ def horizontal_midpoint_insertion(doc):
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Schalter-Definitionen: (Label, JSON-Datei, Filter, Einfuegepunkt-Funktion)
|
||||
# Filter kommen aus SWITCH_FILTERS in utils.py.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
_INSERTION_FUNCS = {
|
||||
"boegen": boegen_insertion_point,
|
||||
"weichen45": weichen_insertion_point,
|
||||
"weichen90": weichen_insertion_point,
|
||||
"weichenkoerper": weichenkoerper_insertion_point,
|
||||
"weichen_parallel": weichenkoerper_insertion_point,
|
||||
"sternweiche": horizontal_midpoint_insertion,
|
||||
"delta": horizontal_midpoint_insertion,
|
||||
"dreifachweiche": horizontal_midpoint_insertion,
|
||||
}
|
||||
|
||||
SWITCH_DEFS = {
|
||||
"boegen": (
|
||||
"Boegen",
|
||||
"omniflo_boegen.json",
|
||||
lambda item: True,
|
||||
boegen_insertion_point,
|
||||
),
|
||||
"weichen45": (
|
||||
"Weichen 45 Grad",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["KurvenWinkel"] == 45
|
||||
and item["WeichenTyp"] not in ("Dreifachweiche", "Deltaweiche"),
|
||||
weichen_insertion_point,
|
||||
),
|
||||
"weichen90": (
|
||||
"Weichen 90 Grad",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["KurvenWinkel"] == 90
|
||||
and item["WeichenTyp"] not in ("Dreifachweiche", "Deltaweiche"),
|
||||
weichen_insertion_point,
|
||||
),
|
||||
"weichenkoerper": (
|
||||
"Weichenkoerper",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["KurvenWinkel"] == 22.5,
|
||||
weichenkoerper_insertion_point,
|
||||
),
|
||||
"weichen_parallel": (
|
||||
"Weichen Parallel",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["KurvenWinkel"] == 0 and item["WeichenTyp"] != "Sternweiche",
|
||||
weichenkoerper_insertion_point,
|
||||
),
|
||||
"sternweiche": (
|
||||
"Sternweiche",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["WeichenTyp"] == "Sternweiche",
|
||||
horizontal_midpoint_insertion,
|
||||
),
|
||||
"delta": (
|
||||
"Deltaweichen",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["WeichenTyp"] == "Deltaweiche",
|
||||
horizontal_midpoint_insertion,
|
||||
),
|
||||
"dreifachweiche": (
|
||||
"Dreifachweichen",
|
||||
"omniflo_weichen.json",
|
||||
lambda item: item["WeichenTyp"] == "Dreifachweiche",
|
||||
horizontal_midpoint_insertion,
|
||||
),
|
||||
key: (*SWITCH_FILTERS[key], _INSERTION_FUNCS[key])
|
||||
for key in SWITCH_FILTERS
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user