[CHANGE] JSON-Testdaten-Feldnamen aus dxf_anlage_export.py in lib/testdata_schema.py zentralisiert

dxf_anlage_export.py und dxf_scan_components.py fuehrten dieselben Feldnamen (abstand, deltaL_mm, as_seite, ...) aus doc/json-input-lisp.md unabhaengig als lose String-Literale - ein Tippfehler oder eine Schema-Aenderung in nur einer Datei waere nicht aufgefallen. Neues Modul lib/testdata_schema.py buendelt die Feldnamen/festen Werte der dokumentierten Schemas (Kreisel, Einzelblock, VF Standard/Etage, Gefaellestrecke Modus 1) als benannte Konstanten; dxf_anlage_export.py nutzt sie jetzt durchgaengig.

dxf_scan_components.py bewusst NICHT mitumgebaut: deutlich grösser/komplexer, mit zusaetzlichen Sonderfaellen (z.B. "startpunkt"/"gerade"-Form), ein vollstaendiger Umbau haette den Rahmen dieser Aenderung gesprengt und mehr Risiko als Nutzen gehabt.

Verhaltensgleich: alle 9 Tests in tests/test_dxf_anlage_export.py laufen weiterhin gruen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 10:43:09 +02:00
parent 1e7e2c6349
commit aaf47ab3c1
3 changed files with 131 additions and 43 deletions
+8
View File
@@ -10,6 +10,14 @@ Die zugehoerigen LISP-Routinen mit Signaturen stehen in
`tests/testdata/object_data.md` (geloescht in Commit `e147b89`, auf das Code-
Kommentare teilweise noch verweisen).
**Feldnamen als Python-Konstanten**: `lib/testdata_schema.py` buendelt die
Feldnamen/festen Werte der Abschnitte 1 (Kreisel), 2 (Einzelbloecke), 3 (VF
Standard/Etage) und 4.1 (Gefaellestrecke Modus 1) als benannte Konstanten
(`sch.F_ABSTAND`, `sch.SEITE_LINKS`, ...), genutzt von `lib/dxf_anlage_export.py`
(eigene, mit unseren Makros gebaute Zeichnungen). `lib/dxf_scan_components.py`
(fremde Zeichnungen) hat dieselben Feldnamen weiterhin als eigene String-
Literale - gleiches Schema, noch nicht auf das gemeinsame Modul umgestellt.
---
## 0. Uebersicht