[ADD] Nachbau ILS-3.0-Showroom: tests/testdata/showroom_ils.json aus Showroom_ILS_3_0.dxf (6 Kreisel, 11 Gefaellestrecken, Separatoren/Scanner; Hoehen noch Platzhalter), Treiber tests/test_showroom_ils.lsp (TEST_SHOWROOM_ILS, Menue Tests -> ILS 3.0 Showroom), in alltests.json bis zu den Hoehen deaktiviert; [ADD] dxf_scan_components.py: --flach (waagrechte Staustrecken mit AS an genau einem Ende als GF), --kreisel-achse (Kreisel ohne AN8/SP8, z.B. Schleifen mit Weichenboegen), zerstueckelte Staustrecken-Linien werden vereint, ES am unteren Ende wird erkannt und verbraucht, AS/ES-Seite ohne Seitenangabe im Namen aus der Lage zur Fahrtrichtung, Kurznamen AE-*/EE-*; [FIX] Kreisel-Paarung: zwei Kreisel auf derselben Achse wurden ueber die Luecke gepaart (800 + 12832 statt 9033 + 3000) - Tausch-Nachbesserung auf minimale Abstandssumme; [CHANGE] test_dematic_arvato.lsp: Lauf als dematic_arvato:bau-datei herausgeloest (vom Showroom-Treiber mitgenutzt); [ADD] Tests in test_dxf_scan_gf.py
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
;; ============================================================
|
||||
;; test_showroom_ils.lsp - Nachbau des ILS-3.0-Showrooms.
|
||||
;;
|
||||
;; Datenquelle: tests/testdata/showroom_ils.json, erzeugt aus der
|
||||
;; Fremdzeichnung (flacher 2D-Plan, keine Hoehen):
|
||||
;; 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
|
||||
;;
|
||||
;; Inhalt: 6 Kreisel, 11 Gefaellestrecken (Modus 1), Separatoren/Scanner.
|
||||
;; - 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.
|
||||
;; - HOEHEN FEHLEN NOCH: alle z = 0, die GF laufen mit dem Platzhalter
|
||||
;; winkel_grad 3.0. Sobald die Kreisel-Hoehen bekannt sind, den Scanner
|
||||
;; mit --kreisel-hoehe X Y Z je Kreisel neu laufen lassen - dann bekommen
|
||||
;; die GF start_mm.z/hoehe_ende_mm und der Treiber rechnet den Winkel.
|
||||
;;
|
||||
;; 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 <name>: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)
|
||||
Reference in New Issue
Block a user