[REFACTOR] VF-Linienzug: GF-Abhaengigkeitscheck der 3 Modi zusammengefuehrt
Der Block 'Gefaellestrecke-Modul geladen? + init-bibliothek falls noetig' war in vf-linienzug-modus/-modus2/-modus3 wortwoertlich (bis auf den Alert-Text- Key) dreifach vorhanden. Neue Hilfsfunktion vfl-gf-abhaengigkeit-sicherstellen (alert-key) ersetzt alle drei Stellen; die modusspezifischen Alert-Texte (Modus 1 ausfuehrlicher als 2/3) bleiben als Parameter erhalten, keine Verhaltensaenderung. Hintergrund: Analyse der beiden verbliebenen Punkt-4-Baustellen (siehe vorige Session) ergab, dass der Journal-Serialisierer (String+JSON) KEIN Duplikat ist (JSON ist reine Diagnose-Einbahnstrasse fuers .dbg-Log, kein Parser zurueck) und das Modi-1/2/3-Praeludium bewusst NICHT weiter vereinheitlicht werden sollte (die Abbruch-Handler-Aktivierung unterscheidet sich gewollt pro Modus - Risiko > Nutzen). Dieser 3x identische GF-Check war der einzige echte Rest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+15
-20
@@ -111,6 +111,18 @@
|
|||||||
(defun vfl-as-winkel () (if (boundp '*vfl-as-winkel*) *vfl-as-winkel* "90"))
|
(defun vfl-as-winkel () (if (boundp '*vfl-as-winkel*) *vfl-as-winkel* "90"))
|
||||||
(defun vfl-es-winkel () (if (boundp '*vfl-es-winkel*) *vfl-es-winkel* "90"))
|
(defun vfl-es-winkel () (if (boundp '*vfl-es-winkel*) *vfl-es-winkel* "90"))
|
||||||
|
|
||||||
|
;; Gemeinsame Vorbedingung aller drei Linienzug-Modi: die GF-Segmente/-Boegen
|
||||||
|
;; nutzen Funktionen aus Gefaellestrecke.lsp (gf-insert-hz-incl-scaled,
|
||||||
|
;; gf-bogen-blockname, ...). Bei reiner VarioFoerderer-Ladung ohne
|
||||||
|
;; Gefaellestrecke wuerde der GF-Zweig fehlschlagen - deshalb hier pruefen und
|
||||||
|
;; danach die AS/ES-/Bogen-Bibliothek initialisieren (init-bibliothek), falls
|
||||||
|
;; noch nicht geschehen. alert-key: modusspezifischer i18n-Text (Modus 1 ist
|
||||||
|
;; ausfuehrlicher als 2/3, daher als Parameter statt vereinheitlicht).
|
||||||
|
(defun vfl-gf-abhaengigkeit-sicherstellen (alert-key)
|
||||||
|
(if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED"))))
|
||||||
|
(progn (alert (ssg-text alert-key)) (exit)))
|
||||||
|
(if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek)))
|
||||||
|
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
;; TEIL 0b: EINGABE-JOURNAL (RECORD & REPLAY)
|
;; TEIL 0b: EINGABE-JOURNAL (RECORD & REPLAY)
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
@@ -2962,18 +2974,7 @@
|
|||||||
(dbgmsg "LIVE-BAU (kein Replay)"))
|
(dbgmsg "LIVE-BAU (kein Replay)"))
|
||||||
(dbgflush)))
|
(dbgflush)))
|
||||||
|
|
||||||
;; Abhaengigkeit: die GF-Segmente/-Boegen nutzen Funktionen aus
|
(vfl-gf-abhaengigkeit-sicherstellen "vfl-alert-gf-modul-fehlt")
|
||||||
;; Gefaellestrecke.lsp (gf-insert-hz-incl-scaled, gf-bogen-blockname, ...).
|
|
||||||
;; Bei reiner VarioFoerderer-Ladung ohne Gefaellestrecke wuerde der GF-Zweig
|
|
||||||
;; fehlschlagen - deshalb hier pruefen.
|
|
||||||
(if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED"))))
|
|
||||||
(progn
|
|
||||||
(alert (ssg-text "vfl-alert-gf-modul-fehlt"))
|
|
||||||
(exit)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek))
|
|
||||||
|
|
||||||
;; --- Abbruch-Sicherung scharf schalten (VOR dem ersten Prompt!) ---
|
;; --- Abbruch-Sicherung scharf schalten (VOR dem ersten Prompt!) ---
|
||||||
;; Ab hier kann jederzeit Geometrie entstehen. Ein *error*-Handler faengt
|
;; Ab hier kann jederzeit Geometrie entstehen. Ein *error*-Handler faengt
|
||||||
@@ -4339,10 +4340,7 @@
|
|||||||
(dbgclose)))
|
(dbgclose)))
|
||||||
(if old-error (old-error msg) (princ)))))
|
(if old-error (old-error msg) (princ)))))
|
||||||
|
|
||||||
;; Abhaengigkeit Gefaellestrecke-Modul (GF-Bausteine)
|
(vfl-gf-abhaengigkeit-sicherstellen "vfl-m3-alert-gf-modul")
|
||||||
(if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED"))))
|
|
||||||
(progn (alert (ssg-text "vfl-m3-alert-gf-modul")) (exit)))
|
|
||||||
(if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek))
|
|
||||||
|
|
||||||
;; --- 1. Pfad-Objekte waehlen (LINE/ARC) ---
|
;; --- 1. Pfad-Objekte waehlen (LINE/ARC) ---
|
||||||
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
||||||
@@ -4789,10 +4787,7 @@
|
|||||||
(dbgclose)))
|
(dbgclose)))
|
||||||
(if dbg-old-error (dbg-old-error msg) (princ)))))
|
(if dbg-old-error (dbg-old-error msg) (princ)))))
|
||||||
|
|
||||||
;; Abhaengigkeit Gefaellestrecke-Modul
|
(vfl-gf-abhaengigkeit-sicherstellen "vfl-m3-alert-gf-modul")
|
||||||
(if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED"))))
|
|
||||||
(progn (alert (ssg-text "vfl-m3-alert-gf-modul")) (exit)))
|
|
||||||
(if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek))
|
|
||||||
|
|
||||||
;; --- 1. Pfad-Objekte waehlen ---
|
;; --- 1. Pfad-Objekte waehlen ---
|
||||||
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
||||||
|
|||||||
Reference in New Issue
Block a user