Merge gemacht. Versuch eines Tests der lisp Routinen erstellt
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
;; ============================================================
|
||||
;; ILS_test.lsp - Automatisierter ILS Kreisel-Test
|
||||
;;
|
||||
;; Oeffnet ILStest.dxf, erzeugt 5 Kreisel per draw-module
|
||||
;; (gleiche Kernfunktion wie KreiselConnect/KreiselInsert),
|
||||
;; exportiert CSV und speichert.
|
||||
;;
|
||||
;; Voraussetzung: SSG_LIB muss geladen sein (ssg_load.lsp).
|
||||
;; ============================================================
|
||||
|
||||
(defun c:ILSTEST ( / test-pfad dxf-pfad abstand z-hoehe)
|
||||
|
||||
(princ "\n========== ILS TEST START ==========")
|
||||
|
||||
(setq test-pfad (getenv "DXFM_TESTS"))
|
||||
(if (null test-pfad)
|
||||
(progn (princ "\nFEHLER: DXFM_TESTS nicht gesetzt!") (exit))
|
||||
)
|
||||
|
||||
;; DXF oeffnen (erzeugt durch create_ILStest_dxf.py)
|
||||
(setq dxf-pfad (strcat test-pfad "/ILStest.dxf"))
|
||||
(if (not (findfile dxf-pfad))
|
||||
(progn (princ (strcat "\nFEHLER: " dxf-pfad " nicht gefunden!")) (exit))
|
||||
)
|
||||
(command "_.OPEN" dxf-pfad)
|
||||
|
||||
;; Konstanten fuer die Geometrie
|
||||
;; Linien: H1 bei Y=0, H2 bei Y=5000, V1 bei X=0, V2 bei X=5000
|
||||
;; Alle auf Z=2500, je 2000mm lang
|
||||
;; Kreiseldurchmesser=800 -> Abstand = Linienabstand - Durchmesser
|
||||
(setq abstand (- 5000.0 *kreisel-durchmesser*)) ;; 4200mm
|
||||
(setq z-hoehe 2500.0)
|
||||
|
||||
(ssg-start "ILS TEST" '(("OSMODE") ("CECOLOR") ("ATTREQ") ("ATTDIA")))
|
||||
(setvar "OSMODE" 0)
|
||||
(setvar "ATTREQ" 0)
|
||||
(setvar "ATTDIA" 0)
|
||||
|
||||
;; ---- Kreisel 1: Horizontal, oben->unten (90°), STANDARD ----
|
||||
;; AN-Punkt auf H2 (Y=5000), SP-Richtung nach unten (Y=0)
|
||||
;; Rotation 270° = von oben nach unten
|
||||
(princ "\n[TEST] Kreisel 1: Horizontal oben->unten, STANDARD")
|
||||
(draw-module (list 500.0 5000.0 z-hoehe)
|
||||
abstand 270.0
|
||||
(list (cons "KREISELART" "STANDARD")
|
||||
(cons "NAME" "TEST_H_ObenUnten")))
|
||||
|
||||
;; ---- Kreisel 2: Horizontal, unten->oben (270°), PIN ----
|
||||
;; AN-Punkt auf H1 (Y=0), SP-Richtung nach oben (Y=5000)
|
||||
;; Rotation 90° = von unten nach oben
|
||||
(princ "\n[TEST] Kreisel 2: Horizontal unten->oben, PIN")
|
||||
(draw-module (list 1500.0 0.0 z-hoehe)
|
||||
abstand 90.0
|
||||
(list (cons "KREISELART" "PIN")
|
||||
(cons "NAME" "TEST_H_UntenOben")))
|
||||
|
||||
;; ---- Kreisel 3: Vertikal, links->rechts (0°), PIN ----
|
||||
;; AN-Punkt auf V1 (X=0), SP-Richtung nach rechts (X=5000)
|
||||
;; Rotation 0° = von links nach rechts
|
||||
(princ "\n[TEST] Kreisel 3: Vertikal links->rechts, PIN")
|
||||
(draw-module (list 0.0 500.0 z-hoehe)
|
||||
abstand 0.0
|
||||
(list (cons "KREISELART" "PIN")
|
||||
(cons "NAME" "TEST_V_LinksRechts")))
|
||||
|
||||
;; ---- Kreisel 4: Vertikal, rechts->links (180°), STANDARD ----
|
||||
;; AN-Punkt auf V2 (X=5000), SP-Richtung nach links (X=0)
|
||||
;; Rotation 180° = von rechts nach links
|
||||
(princ "\n[TEST] Kreisel 4: Vertikal rechts->links, STANDARD")
|
||||
(draw-module (list 5000.0 1500.0 z-hoehe)
|
||||
abstand 180.0
|
||||
(list (cons "KREISELART" "STANDARD")
|
||||
(cons "NAME" "TEST_V_RechtsLinks")))
|
||||
|
||||
;; ---- Kreisel 5: KreiselInsert-Equivalent ----
|
||||
;; Position 3000/3000/2000, 6000mm lang, PIN, 10 Grad
|
||||
(princ "\n[TEST] Kreisel 5: Insert 3000/3000/2000, 6000mm, PIN, 10°")
|
||||
(draw-module (list 3000.0 3000.0 2000.0)
|
||||
6000.0 10.0
|
||||
(list (cons "KREISELART" "PIN")
|
||||
(cons "NAME" "TEST_Insert")))
|
||||
|
||||
(ssg-end)
|
||||
|
||||
;; Speichern als DXF
|
||||
(command "_.SAVEAS" "DXF" (strcat test-pfad "/ILStest.dxf") "_Y")
|
||||
(princ "\n[TEST] DXF gespeichert.")
|
||||
|
||||
;; Export CSV (nutzt csv:run-export aus tests.lsp)
|
||||
;; Ergebnisse landen in DXFM_RESULTS
|
||||
(princ "\n[TEST] Starte CSV-Export...")
|
||||
(csv:run-export "ILSTEST" "export_csv.py" "ILStest_export.csv")
|
||||
|
||||
(princ "\n========== ILS TEST ENDE ==========")
|
||||
(princ)
|
||||
)
|
||||
|
||||
(princ "\nILS_test.lsp geladen. Befehl: ILSTEST")
|
||||
(princ)
|
||||
Reference in New Issue
Block a user