[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-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)
|
||||
;; ============================================================
|
||||
@@ -2962,18 +2974,7 @@
|
||||
(dbgmsg "LIVE-BAU (kein Replay)"))
|
||||
(dbgflush)))
|
||||
|
||||
;; Abhaengigkeit: 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.
|
||||
(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))
|
||||
(vfl-gf-abhaengigkeit-sicherstellen "vfl-alert-gf-modul-fehlt")
|
||||
|
||||
;; --- Abbruch-Sicherung scharf schalten (VOR dem ersten Prompt!) ---
|
||||
;; Ab hier kann jederzeit Geometrie entstehen. Ein *error*-Handler faengt
|
||||
@@ -4339,10 +4340,7 @@
|
||||
(dbgclose)))
|
||||
(if old-error (old-error msg) (princ)))))
|
||||
|
||||
;; Abhaengigkeit Gefaellestrecke-Modul (GF-Bausteine)
|
||||
(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))
|
||||
(vfl-gf-abhaengigkeit-sicherstellen "vfl-m3-alert-gf-modul")
|
||||
|
||||
;; --- 1. Pfad-Objekte waehlen (LINE/ARC) ---
|
||||
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
||||
@@ -4789,10 +4787,7 @@
|
||||
(dbgclose)))
|
||||
(if dbg-old-error (dbg-old-error msg) (princ)))))
|
||||
|
||||
;; Abhaengigkeit Gefaellestrecke-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))
|
||||
(vfl-gf-abhaengigkeit-sicherstellen "vfl-m3-alert-gf-modul")
|
||||
|
||||
;; --- 1. Pfad-Objekte waehlen ---
|
||||
(princ (ssg-text "vfl-m3-pfad-waehlen"))
|
||||
|
||||
Reference in New Issue
Block a user