neuer Schalter Switch hinzugefügt

This commit is contained in:
2026-09-10 13:17:09 +02:00
parent 4bab45705d
commit 04f9ba456c
2 changed files with 641 additions and 1 deletions
+20 -1
View File
@@ -153,6 +153,24 @@ bidirectional and reported as a warning. `--doc` additionally cross-checks
stated `Anzahl_Separator`/`Anzahl_Scanner` counts against what was actually
attached.
`--track` builds a second, finer-grained graph instead of (in addition to) the
one above: Separator, Ausschleus-/Einschleuselement and Weiche each become
their own node (they supply no node in the graph described above), showing
the actual branch/merge/crossing topology between Kreisel rather than just the
mechanical objects. See `doc/track.md` for the derivation rules and its
tested-against-`mubea_export.csv` findings; short version:
- **Ausschleuselement** → 1 incoming (Kreisel-side) → 2 outgoing (continues
on the Kreisel-Bahn *and* branches onto the Strecke) — a fork.
- **Einschleuselement** → 2 incoming (from the Strecke *and* continuing on
the Kreisel-Bahn) → 1 outgoing — a merge.
- **Weiche** → 4-way crossing between two Kreisel (in/out on each side, from
`Drehrichtung` via the existing `_weiche_lane_roles`).
- A Kreisel-Bahn with no separator resolvable to a specific position (or with
several that aren't chained to each other in the export) is drawn as a
dashed **placeholder** node rather than guessed — the intended hand-off
point for a later geometry-based ordering pass (not implemented yet).
| Switch | Argument | Default | Meaning |
|---|---|---|---|
| `--file` | `NAME` | `export.csv` | CSV input file, resolved against `%SKEL_DATA%`, or a full path. |
@@ -162,11 +180,12 @@ attached.
| `--connect` | — | off | Also write the topology as `<name>_connect.ini` (item/flow level): `[…nodes]` (Kreisel lanes, Strecke, Gefällestrecke), `[…connections]` with a `kind` per edge (`normal`/`umlauf`/`weiche`/`einschleusung`/`ausschleusung`), and `[…externals]` — the BTMT entry/exit if present, otherwise the open lane-ends listed as entry candidates. A hand-editable bridge into the TRO step, styled after `doc/TRO_Katalog/connect.ini`. |
| `--show-bbs` | — | off | Also write `<name>_bbs.svg`: a plain 2-D top-down view of every CSV row (not just flow nodes — Separator/Scanner/Ein-/Ausschleuselement too), one axis-aligned rectangle per row from the `Position` column (its center, X/Y) and the `Boundingbox` column (its width/depth, X/Y — the Z extent is ignored), with the row's `Bezeichnung` centered in it. No rotation, no Graphviz — hand-built SVG; the `viewBox` stays in plant millimetres (Y flipped so plant "up" renders as screen "up") but the printed page size is scaled to DIN A3 (landscape or portrait, whichever matches the layout's aspect ratio) instead of the plant's real-world extent. Larger objects are drawn first so small ones (Separator, Scanner, …) stay visible on top. |
| `--show-kx` | — | off | Only valid together with `--show-bbs` (else exit 1). Additionally draw each object's connection coordinate systems K1K4 into the `_bbs.svg`: the K1K4 columns are 12-char base64 strings (three 24-bit fixed-point values `x,y,z`, factor 10, `csv:trans-encode` in `dxfmakros/Lisp/export.lsp`) decoded to a plant-mm X/Y. Each present K-point is drawn as a small red cross (two lines) with a small `K1`…`K4` label, and consecutive points are joined `K1→K2→K3→K4` by a blue line. Empty K columns are skipped, so an object with only K1/K2 gets two crosses and one link. |
| `--track` | — | off | Additionally write the finer Separator/Ausschleus/Einschleus/Weiche graph described above (`<name>_track.dot`, and `<name>_track.svg` with `--tosvg`). Does not change the normal `_material_flow.*` output. See `doc/track.md`. |
**Output** (in `%SKEL_RESULTS%`): `<name>_material_flow.dot` (always, with `pos`
attributes when `--use-cords` was used), `<name>_material_flow.svg` (with `--tosvg`),
`<name>_material_flow.md` (with `--doc`), `<name>_connect.ini` (with `--connect`),
`<name>_bbs.svg` (with `--show-bbs`).
`<name>_bbs.svg` (with `--show-bbs`), `<name>_track.dot` / `<name>_track.svg` (with `--track`).
**Exit codes:** `0` ok · `1` input/CLI error · `2` SVG rendering failed
(Graphviz).