;; ============================================================ ;; test_showroom_ils.lsp - Nachbau des ILS-3.0-Showrooms. ;; ;; Datenquelle: tests/testdata/showroom_ils.json. Entstehung in zwei Stufen: ;; 1. Scanner auf der Fremdzeichnung (flacher 2D-Plan, Hoehen vom Anwender): ;; python lib/dxf_scan_components.py \ ;; C:/develop/sps_skel/data/Showroom_ILS_3_0.dxf data \ ;; tests/testdata/showroom_ils.json --projekt Showroom \ ;; --flach --ohne-hoehen \ ;; --kreisel-achse 27797.93 16298.90 36705.93 16298.90 \ ;; --kreisel-achse 28772.93 13093.90 35305.93 13093.90 \ ;; --kreisel-hoehe 26997.93 3066.4 5055 \ ;; --kreisel-hoehe 26997.93 12898.9 5055 \ ;; --kreisel-hoehe 37105.93 9888.9 1700 \ ;; --kreisel-hoehe 27397.93 16298.9 5055 \ ;; --kreisel-hoehe 28372.93 13093.9 3195 ;; 2. VON HAND (geht bei Stufe 1 verloren - danach neu eintragen): ;; Kreisel_Showroom_04 (vertikal, rechts) samt Separator/Scanner bei ;; y=14979 entfernt, dafuer VF_Showroom_01 (VarioFoerderer standard, ;; Auf von Kreisel_Showroom_03 zu Kreisel_Showroom_05) eingetragen. ;; ;; Inhalt: 5 Kreisel, 1 VarioFoerderer, 11 Gefaellestrecken (Modus 1), ;; Separatoren/Scanner. ;; - Ebenen: oben 5055 (Kreisel 01/02/05), Mitte 3195 (06), unten 1700 (03). ;; - Kreisel_Showroom_05/06 sind Schleifen ohne AN8/SP8 im Plan (an beiden ;; Enden Weichenboegen) - per --kreisel-achse als STANDARD-Kreisel ;; angenaehert (Radmitten = Mittelpunkte der PIN-Kreise). ;; - Weichen (WB-*/WM-*/WL-*/WR-*) werden bewusst NICHT nachgebaut. ;; - Die GF sind steil (1860 bzw. 1495 mm Abfall auf 2405 mm) - den Winkel ;; rechnet dematic_arvato:gf-winkel aus hoehe_ende_mm, und ;; dematic_arvato:gf-endhoehe-pruefen meldet "warnung", wenn eine GF ;; den unteren Kreisel um mehr als 5 mm verfehlt. ;; ;; 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_showroom_ils.lsp")) ;; TEST_SHOWROOM_ILS ;; ============================================================ (if (not (boundp '*showroom-ils-records*)) (setq *showroom-ils-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 showroom_ils:datei () (strcat (getenv "DXFMAKRO") "/tests/testdata/showroom_ils.json")) (defun c:TEST_SHOWROOM_ILS () (setq *showroom-ils-records* (dematic_arvato:bau-datei "TEST_SHOWROOM_ILS" "ILS 3.0 Showroom" (showroom_ils:datei))) (princ)) ;; Ergebnis-Export (Konvention :export-results fuer test_run_all.lsp) (defun showroom_ils:export-results (out-dir / pfad) (if (null *showroom-ils-records*) (princ "\n Keine Showroom-Ergebnisse vorhanden.") (progn (vl-mkdir out-dir) (setq pfad (strcat out-dir "/showroom_ils_results.json")) (vsp-results-schreiben *showroom-ils-records* pfad))) (princ)) (princ "\nTEST_SHOWROOM_ILS geladen. Aufruf: TEST_SHOWROOM_ILS") (princ)