diff --git a/Lisp/vf_linienzug.lsp b/Lisp/vf_linienzug.lsp index 58bee24..df6aadd 100644 --- a/Lisp/vf_linienzug.lsp +++ b/Lisp/vf_linienzug.lsp @@ -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"))