Files
dxfmakros/tests/test_test_system.lsp
T
s.ayadi b6aa3d604c [FIX] test_system.json: Separator vor Weiche Kreisel 7 -> 8, Separator-Hoehe
- Neuer Separator auf Kreisel_TestSystem_07 Bahn L vor der Weiche zu
  Kreisel_TestSystem_08 (aus results/export.csv, Separator 0022). Ohne ihn
  steuert niemand den Uebergang 7 -> 8, im TRO-Fluss von sps_skel war der
  Ausgang vom Eingang aus nicht erreichbar.
- Separator auf Kreisel_TestSystem_08 Bahn R lag auf z=0 statt 2000
  (Export: Hoehe 0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:39:43 +02:00

66 lines
3.1 KiB
Common Lisp

;; ============================================================
;; test_test_system.lsp - Nachbau der Testanlage "test_system".
;;
;; Datenquelle: tests/testdata/test_system.json. Die Zeichnung wurde mit
;; unseren Makros gebaut (KREISEL_n-Wrapper, Separatoren, BTMT), die Testdaten
;; kommen darum aus dem Rueckleser, nicht aus dem Scanner:
;; python lib/dxf_anlage_export.py \
;; C:/develop/sps_skel/data/test_system.dxf \
;; tests/testdata/test_system.json --projekt TestSystem
;;
;; Inhalt: 9 Kreisel (STANDARD, Ebenen 0 / 2000 / 3000), 11 Separatoren,
;; BTMT Beladung und SC Entladung - keine Gefaellestrecken, keine VF.
;; - Der 11. Separator (Kreisel_TestSystem_07 Bahn L, vor der Weiche zu
;; Kreisel_TestSystem_08) ist nachgetragen (2026-10-15): ohne ihn steuert
;; niemand den Uebergang 7 -> 8, im TRO-Fluss von sps_skel war der
;; Ausgang dann vom Eingang aus nicht erreichbar.
;; - Die Kreisel wurden in der Zeichnung einzeln gebaut, die Nummer begann
;; dabei mehrmals neu bei 1 (vier KREISEL_1_*). dxf_anlage_export.py
;; vergibt fuer die Doppelten Kreisel_TestSystem_07..09 - die Nummern der
;; gebauten Zeichnung weichen also von der Vorlage ab.
;; - Die x-Werte sind NACH dem Rueckleser von Hand korrigiert: in der
;; Zeichnung lagen die Kreisel bis zu 5.5 mm daneben, jetzt beruehren sich
;; alle 8 Weichenpaare exakt (1-9, 9-8, 8-7, 7-2, 2-3, 3-4, 4-5, 5-6;
;; Kreisel 1 fest, Separatoren/BTMT mit ihrem Kreisel verschoben). Ein
;; erneuter Lauf von dxf_anlage_export.py macht das rueckgaengig.
;;
;; Zweck: Vorlage fuer sps_skel. Nachbau -> EXPORTCSV -> CSV, auf die dort
;; material_flow.py / tro_flow.py / scl_skeleton.py angewendet werden.
;;
;; Keine eigene Bau-Logik: Eintragsschema und Lauf wie TEST_DEMATIC_ARVATO
;; (dematic_arvato:bau-datei aus tests/test_dematic_arvato.lsp).
;;
;; Aufruf in BricsCAD:
;; (load (strcat (getenv "DXFMAKRO") "/tests/test_test_system.lsp"))
;; TEST_TEST_SYSTEM
;; ============================================================
(if (not (boundp '*test-system-records*)) (setq *test-system-records* nil))
;; Beim LADEN holen (siehe test_dematic_arvato.lsp: per load definierte
;; Funktionen sind erst nach Rueckkehr zum Top-Level sichtbar).
(if (null (car (atoms-family 1 '("DEMATIC_ARVATO:BAU-DATEI"))))
(load (strcat (getenv "DXFMAKRO") "/tests/test_dematic_arvato.lsp")))
(defun test_system:datei ()
(strcat (getenv "DXFMAKRO") "/tests/testdata/test_system.json"))
(defun c:TEST_TEST_SYSTEM ()
(setq *test-system-records*
(dematic_arvato:bau-datei "TEST_TEST_SYSTEM" "Testanlage test_system"
(test_system:datei)))
(princ))
;; Ergebnis-Export (Konvention <name>:export-results fuer test_run_all.lsp)
(defun test_system:export-results (out-dir / pfad)
(if (null *test-system-records*)
(princ "\n Keine test_system-Ergebnisse vorhanden.")
(progn
(vl-mkdir out-dir)
(setq pfad (strcat out-dir "/test_system_results.json"))
(vsp-results-schreiben *test-system-records* pfad)))
(princ))
(princ "\nTEST_TEST_SYSTEM geladen. Aufruf: TEST_TEST_SYSTEM")
(princ)