;; ============================================================ ;; 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 :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)