feat: Linienzug-Batch-Konvertierung headless, alter Block bleibt bis zum Erfolg
- vfl-konvertiere-ent laeuft unter *vfl-headless* (Wizard/GUI aus): reicht ein Journal nicht, Abbruch mit Fundstelle statt Live-Rueckfrage im Batch - alter VF_n-Block wird erst nach erfolgreichem Neubau geloescht; bei Fehlschlag raeumt vfl-konvert-aufraeumen die Teil-Geometrie weg - SSG_DIM_ALL_2D/_3D listet fehlgeschlagene Bloecke am Ende auf und konvertiert jetzt auch Modus-3-Bloecke (linienzug3 wurde uebersprungen) - statischer Headless-Test: vfl-menu-strwert/vflw-radio-wahl-impl erlaubt - TODO: Stufe 2 und Spec-Uebersetzer Modus 2/3 in eigene Dateien ausgelagert Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -226,6 +226,7 @@
|
||||
(if (car (atoms-family 1 '("SSG-ENSURE")))
|
||||
(progn (ssg-ensure "Gefaellestrecke") (ssg-ensure "VarioFoerderer")))
|
||||
(setq enames '() n-gf 0 n-vf 0 n-skip 0)
|
||||
(setq *vfl-konvert-fehler* nil) ; Fehlschlaege der Linienzug-Konvertierung
|
||||
(ssg-start "SSG_DIM_BATCH" '(("OSMODE") ("ATTREQ") ("ATTDIA")))
|
||||
(setvar "OSMODE" 0)
|
||||
;; Erst alle enames sammeln (entdel veraendert die Zeichnung waehrend der Iteration)
|
||||
@@ -247,12 +248,12 @@
|
||||
(if (gf-konvertiere-ent ent ziel-dim) (setq n-gf (1+ n-gf))))
|
||||
((wcmatch bname "VF_*")
|
||||
;; VF_-Bloecke nach Edit-Marker unterscheiden: Standard/Etage
|
||||
;; ueber vf-konvertiere-ent, Linienzug (Modus 1/2) ueber den
|
||||
;; ueber vf-konvertiere-ent, Linienzug (Modus 1/2/3) ueber den
|
||||
;; Journal-Replay-Konverter vfl-konvertiere-ent. Altbestand ohne
|
||||
;; bekannten Marker wird uebersprungen.
|
||||
(setq marker (car (vfs-xdata-lesen ent)))
|
||||
(cond
|
||||
((member marker '("linienzug" "linienzug2"))
|
||||
((member marker '("linienzug" "linienzug2" "linienzug3"))
|
||||
(if (vfl-konvertiere-ent ent ziel-dim) (setq n-vf (1+ n-vf))
|
||||
(setq n-skip (1+ n-skip))))
|
||||
((member marker '("standard" "etage"))
|
||||
@@ -264,6 +265,14 @@
|
||||
(ssg-end)
|
||||
(princ (ssg-textf "dim-batch-fertig"
|
||||
(list ziel-dim (itoa n-gf) (itoa n-vf) (itoa n-skip))))
|
||||
;; Fehlgeschlagene Linienzug-Bloecke gesammelt ausgeben (alter Block blieb
|
||||
;; jeweils unveraendert stehen, siehe vfl-konvertiere-ent)
|
||||
(if *vfl-konvert-fehler*
|
||||
(progn
|
||||
(princ (ssg-textf "dim-batch-fehlerliste"
|
||||
(list (itoa (length *vfl-konvert-fehler*)))))
|
||||
(foreach f *vfl-konvert-fehler*
|
||||
(princ (ssg-textf "dim-batch-fehler-zeile" (list (car f) (cdr f)))))))
|
||||
(princ)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user