[CHANGE] GEFAELLESTRECKE_LINIENZUG-Streckengruppen per Doppelklick editierbar machen

Bisher brach GEFAELLESTRECKE_EDIT bei jeder Streckengruppe (TYP "Streckengruppe", d.h. mit mindestens einem Bogen) mit "Nur einfache Gefaellestrecken..." ab - Grund war nicht fehlende Technik, sondern dass gf-linienzug-modus schlicht keine Edit-XDATA schrieb (anders als Modus 1/2 ueber SSG_GF_EDIT).

Neue XDATA-App SSG_GF_LZ (gf-lz-xdata-schreiben/-lesen in Lisp/Gefaellestrecke.lsp) sichert die Segmentliste (Typ/hz/Laenge/Winkel/Seite je Segment, bereits laengenfertig) + den Baustartpunkt - Serialisierung per gf-segmente->string/gf-string->segmente, Chunking ueber die bestehenden ssg-sepliste-chunk-string/-split-feld/-explode-chars-Helfer aus ssg_ks_insert.lsp (wiederverwendet statt dupliziert).

Neue Funktion gf-linienzug-rebuild: baut die Kette am selben Startpunkt neu, AS-/EIN-Element und Gefaellewinkel bleiben ueber dieselben zwei Dialoge wie beim Bauen editierbar (gf-dialog-linienzug-aus-ein/-winkel, jetzt mit prefill-Parameter fuer den Edit-Fall statt Defaults) - die Segmentlaengen/-form selbst nicht (dafuer bleibt GEFAELLESTRECKE_LINIENZUG als Neubau). c:GEFAELLESTRECKE_EDIT dispatcht vor der bisherigen TYP-Sperre: Streckengruppe MIT SSG_GF_LZ-XDATA -> neuer Rebuild-Pfad, Streckengruppe OHNE (Altbestand/VF-Kombi) -> bleibt wie bisher abgewiesen. Alter Block wird erst NACH erfolgreichem Neuaufbau geloescht.

doc/variofoerderer.md um den Edit-Ablauf ergaenzt.

Manuell in BricsCAD getestet (Doppelklick auf Linienzug-Streckengruppe, beide Dialoge vorbelegt, Neuaufbau, erneuter Doppelklick auf das Ergebnis) - laeuft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 13:16:55 +02:00
parent a9cdc127d9
commit 01fb2d29f2
4 changed files with 418 additions and 28 deletions
+19
View File
@@ -280,6 +280,25 @@ Konsole zurueckzufallen.
Kontrolle in der Zeichnung stehen:
![GF aus Linienzug - fertige Strecke neben der Ausgangslinie](images/gf-linienzug3.png)
**Bearbeiten (`c:GEFAELLESTRECKE_EDIT`):** Doppelklick auf einen per
Linienzug gebauten `GF_n`-Block (TEILEART `"Streckengruppe"`, enthaelt
mindestens einen Bogen) dispatcht auf `gf-linienzug-rebuild` statt auf den
einfachen Gefaellestrecke-Dialog — der kennt keine Segmentliste/Boegen und
wuerde beim Neuaufbau die Bogengeometrie verlieren. Die Segmentliste
(Typ/Fahrtrichtung/Laenge/Winkel/Seite je Segment, bereits laengenfertig)
UND der Baustartpunkt stehen als eigene XDATA (App `SSG_GF_LZ`,
`gf-lz-xdata-schreiben`/`-lesen`, variable Laenge + Chunking wie die
Sepliste-XDATA in `ssg_ks_insert.lsp`) auf dem Block — ohne sie bleibt eine
Streckengruppe wie zuvor nicht editierbar (Meldung "Nur einfache
Gefaellestrecken..."). Der Edit-Ablauf nutzt dieselben zwei Dialoge wie das
Bauen (`gf-dialog-linienzug-aus-ein`/`-winkel`), diesmal mit den aktuellen
Attributen (`WINKEL_AS`/`SEITE_AS`/`WINKEL_ES`/`SEITE_ES`) vorbelegt statt
mit Defaults — AS-/ES-Element und Gefaellewinkel bleiben damit nachtraeglich
aenderbar, die Segmentlaengen/-form (Geraden, Boegen) selbst nicht (dafuer
muss die Kette per `GEFAELLESTRECKE_LINIENZUG` neu gebaut werden). Baut am
selben Startpunkt neu und loescht den alten Block erst NACH erfolgreichem
Neuaufbau.
---
## 5. VF Linienzug — Kette (Modus 1, frei zeichnend)