[REFACTOR] VF: 10-Feld-Eingabe-Entpackblock zentralisiert

Der identische (setq deltaL (nth 0 eingabe) ...)-Block mit 10 Feldern stand 4x
(vf_standard: vfs-standard-dialog-ablauf + c:VARIOFOERDERER_EDIT, vf_etage:
vfe-etage-dialog-ablauf + vfe-edit-ent).

Neu in vf_core.lsp: *vf-basis-eingabe-felder* (zentrale Feldreihenfolge) +
vf-basis-eingabe-entpacken (set 'sym wert auf die dyn.-skopten Aufrufer-Locals).
Alle 4 Aufrufer deklarieren die 10 Namen weiterhin in ihrer /-Liste.

Reines Refactoring, identisches Verhalten. Paren-Balance geprueft.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-29 07:39:39 +02:00
parent 1e50a9388f
commit 012c5da7f9
3 changed files with 22 additions and 40 deletions
+18
View File
@@ -949,6 +949,24 @@
;; ============================================================
;; TEIL 9: GEMEINSAME EINGABE-ABFRAGE
;; ============================================================
;; Feld-Reihenfolge der Basis-Dialog-Ergebnisliste (vfs-dialog-eingabe-basis).
;; EINE zentrale Definition statt vierfach denselben (nth i eingabe)-Block.
(setq *vf-basis-eingabe-felder*
'(deltaL deltaH richtung z-start hz seite dim geruest-einzelmodul geruest-typ motorseite))
;; Entpackt die Basis-Dialog-Ergebnisliste in die gleichnamigen (dynamisch
;; skopten) Lokalvariablen des Aufrufers. Ersetzt den 10-zeiligen
;; (setq deltaL (nth 0 eingabe) ...)-Block. Nutzt (set 'sym wert): die Symbole
;; sind in der /-Deklaration des aufrufenden defun als Locals gebunden, daher
;; wirkt das Setzen nur dort (AutoLISP dynamic scoping).
(defun vf-basis-eingabe-entpacken (eingabe / i)
(setq i 0)
(foreach feld *vf-basis-eingabe-felder*
(set feld (nth i eingabe))
(setq i (1+ i)))
eingabe)
(defun vf-eingabe-abfragen ( / eingabe-modus line-points startpunkt endpunkt differenz
deltaL deltaH deltaX deltaY richtung antwort hz-winkel)
(princ (ssg-text "vfc-eingabemodus-header"))
+2 -20
View File
@@ -901,16 +901,7 @@
(if (null eingabe)
(princ (ssg-text "vfc-vorgang-abgebrochen"))
(progn
(setq deltaL (nth 0 eingabe)
deltaH (nth 1 eingabe)
richtung (nth 2 eingabe)
z-start (nth 3 eingabe)
hz (nth 4 eingabe)
seite (nth 5 eingabe)
dim (nth 6 eingabe)
geruest-einzelmodul (nth 7 eingabe)
geruest-typ (nth 8 eingabe)
motorseite (nth 9 eingabe))
(vf-basis-eingabe-entpacken eingabe)
(setq startpunkt (list (car startpunkt-xy) (cadr startpunkt-xy) z-start))
;; Gewaehlte Dimension (2D/3D) + Motorseite fuer den Bau erzwingen, danach zurueck.
(setq *ssg-ils-dim* dim)
@@ -957,16 +948,7 @@
(if (null eingabe)
(princ (ssg-text "vfc-vorgang-abgebrochen"))
(progn
(setq deltaL (nth 0 eingabe)
deltaH (nth 1 eingabe)
richtung (nth 2 eingabe)
z-start (nth 3 eingabe)
hz (nth 4 eingabe)
seite (nth 5 eingabe)
dim (nth 6 eingabe)
geruest-einzelmodul (nth 7 eingabe)
geruest-typ (nth 8 eingabe)
motorseite (nth 9 eingabe))
(vf-basis-eingabe-entpacken eingabe)
(setq startpunkt (list (car startpunkt) (cadr startpunkt) z-start))
(setq best-winkel-attr (atoi (cond ((cdr (assoc "VF_WINKEL" attribs))) ("0"))))
+2 -20
View File
@@ -1073,16 +1073,7 @@
(if (null eingabe)
(princ (ssg-text "vfc-vorgang-abgebrochen"))
(progn
(setq deltaL (nth 0 eingabe)
deltaH (nth 1 eingabe)
richtung (nth 2 eingabe)
z-start (nth 3 eingabe)
hz (nth 4 eingabe)
seite (nth 5 eingabe)
dim (nth 6 eingabe)
geruest-einzelmodul (nth 7 eingabe)
geruest-typ (nth 8 eingabe)
motorseite (nth 9 eingabe))
(vf-basis-eingabe-entpacken eingabe)
(setq startpunkt (list (car startpunkt-xy) (cadr startpunkt-xy) z-start))
;; Gewaehlte Dimension (2D/3D) + Motorseite fuer den Bau erzwingen (Override), danach zurueck.
(setq *ssg-ils-dim* dim)
@@ -1229,16 +1220,7 @@
(if (null eingabe)
(princ (ssg-text "vfc-vorgang-abgebrochen"))
(progn
(setq deltaL (nth 0 eingabe)
deltaH (nth 1 eingabe)
richtung (nth 2 eingabe)
z-start (nth 3 eingabe)
hz (nth 4 eingabe)
seite (nth 5 eingabe)
dim (nth 6 eingabe)
geruest-einzelmodul (nth 7 eingabe)
geruest-typ (nth 8 eingabe)
motorseite (nth 9 eingabe))
(vf-basis-eingabe-entpacken eingabe)
(setq startpunkt (list (car startpunkt) (cadr startpunkt) z-start))
;; Vorbelegung Winkel/Verteilung: bestehenden Winkel vorschlagen, L_GF-