Wizard mit Oberflächenstückwerk für den Mode 3 für den VF gebaut

This commit is contained in:
2026-08-26 11:33:19 +02:00
parent 5cb0b00ce5
commit e3dbaceb24
10 changed files with 1651 additions and 183 deletions
+24 -5
View File
@@ -764,11 +764,30 @@
;; 30/90-Wahl fuer ein AS/ES-Element. Rueckgabe: "30" oder "90" (Vorgabe 90).
;; headerkey: i18n-Key fuer die Kopfzeile ("vf-winkel-aus-header" oder
;; "vf-winkel-ein-header"). Rueckgabe: "30" oder "90" (Default 90).
(defun vf-frage-element-winkel (headerkey)
(princ (ssg-text headerkey))
(princ (ssg-text "vf-winkel-90"))
(princ (ssg-text "vf-winkel-30"))
(if (= (getstring (ssg-text "prompt-wahl-1-2")) "2") "30" "90"))
;; Wizard: nutzt vflw-wahl (dcl/vf_linienzug_wizard.dcl, definiert in
;; vf_linienzug.lsp) falls dieses Modul geladen und *vfl-wizard-mode* aktiv
;; ist - sonst (oder bei jedem Fehler) unveraendert die Konsolen-Fragen
;; (princ + getstring, de/en ueber ssg-text). Gemeinsam genutzt von
;; Gefaellestrecke.lsp UND vf_linienzug.lsp.
(defun vf-frage-element-winkel (headerkey / antwort)
(if (and (boundp '*vfl-wizard-mode*) *vfl-wizard-mode*
(car (atoms-family 1 '("VFLW-WAHL"))))
(progn
(setq antwort
(vl-catch-all-apply 'vflw-wahl
(list (ssg-text headerkey)
(list (ssg-text "vf-winkel-90") (ssg-text "vf-winkel-30")) 1)))
(if (or (vl-catch-all-error-p antwort) (null antwort) (= antwort ""))
(setq antwort "1"))
)
(progn
(princ (ssg-text headerkey))
(princ (ssg-text "vf-winkel-90"))
(princ (ssg-text "vf-winkel-30"))
(setq antwort (getstring (ssg-text "prompt-wahl-1-2")))
)
)
(if (= antwort "2") "30" "90"))
;; AS-/ES-Masse-Globals (aus-dx/dy/dz bzw. ein-dx/dy/dz) fuer die gewaehlte
;; Winkel-/Seiten-Variante neu setzen (fuer berechne-alle-winkel, GF-Winkel,
+747 -84
View File
File diff suppressed because it is too large Load Diff
+5 -4
View File
@@ -1197,10 +1197,11 @@
;; Marker (Linienzug/Altbestand) werden abgewiesen.
(if (= (car xd) "etage")
(progn (vfe-edit-ent ent) (ssg-end) (exit)))
;; Linienzug-Bloecke tragen als Marker "linienzug" + serialisiertes Eingabe-
;; Journal (vf_linienzug.lsp). Der Edit-Zweig laesst Glieder zuruecknehmen und
;; baut die Kette per Replay neu auf.
(if (= (car xd) "linienzug")
;; Linienzug-Bloecke tragen als Marker "linienzug" (Modus 1) oder
;; "linienzug2" (Modus 2) + serialisiertes Eingabe-Journal (vf_linienzug.lsp).
;; vfl-edit-ent liest den Marker selbst erneut und dispatcht intern weiter
;; (Modus 1: Glieder zuruecknehmen + Replay; Modus 2: voller Reset).
(if (member (car xd) '("linienzug" "linienzug2"))
(progn (vfl-edit-ent ent) (ssg-end) (exit)))
(if (/= (car xd) "standard")
(progn (alert (ssg-textf "vfs-edit-keine-xdata" (list bname))) (ssg-end) (exit)))