feat: Eckrad-Dialog, Kreiselname, Hoehen-Neuberechnung beim Export
- Eckrad: eigener DCL-Dialog (eckrad_edit.dcl) beim Einfuegen und per Doppelklick (EckradEdit); Sivas-Merkmale am Kreisel ausgerichtet (2950, 3381, 3992 Ja/Nein); bei Sep./Scanner-Zaehlung ausgenommen - Kreisel: eigener Name bleibt in Bezeichnung + Beschriftung erhalten - Sivas: Kreisel/Eckrad unterschiedlicher Hoehe nicht mehr zusammengefasst - Export: Hoehen-Attribute in Z verschobener Kreisel/Eckrad/VF/GF neu berechnet - GF-Edit: Einfuegehoehe aus aktueller Z-Koordinate
This commit is contained in:
+66
-2
@@ -617,6 +617,46 @@
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; TESTS: export.lsp - Hoehen-Attribute aus Z neu berechnen
|
||||
;; ------------------------------------------------------------
|
||||
(defun tu-tests-hoehen ( / _w)
|
||||
(princ "\n[export/hoehen]")
|
||||
|
||||
;; Nicht verschoben -> nil (Block bleibt beim Bau-Wert)
|
||||
(tu-nil "csv:hoehen-werte/kreisel-unveraendert"
|
||||
(csv:hoehen-werte "KREISEL" 2000.0 '(("HOEHE" . "2000") ("MONTAGEHOEHE_m" . "1.800"))))
|
||||
(tu-nil "csv:hoehen-werte/vf-unveraendert"
|
||||
(csv:hoehen-werte "VF" 2000.0 '(("HOEHE_VON_mm" . "2000") ("HOEHE_BIS_mm" . "1876"))))
|
||||
|
||||
;; Kreisel / Eckrad verschoben
|
||||
(setq _w (csv:hoehen-werte "KREISEL" 2500.0 '(("HOEHE" . "2000"))))
|
||||
(tu-eq "csv:hoehen-werte/kreisel-hoehe" "2500" (cdr (assoc "HOEHE" _w)))
|
||||
(tu-eqf "csv:hoehen-werte/kreisel-montage" 2.5 (atof (cdr (assoc "MONTAGEHOEHE_m" _w))))
|
||||
(setq _w (csv:hoehen-werte "ECKRAD" 1500.0 '(("HOEHE" . "2000"))))
|
||||
(tu-eq "csv:hoehen-werte/eckrad-hoehe" "1500" (cdr (assoc "HOEHE" _w)))
|
||||
(tu-nil "csv:hoehen-werte/eckrad-ohne-montage" (assoc "MONTAGEHOEHE_m" _w))
|
||||
|
||||
;; GF abwaerts: Differenz 124 bleibt, MONTAGE = VON/1000
|
||||
(setq _w (csv:hoehen-werte "GF" 2500.0
|
||||
'(("HOEHE_VON_mm" . "2000") ("HOEHE_BIS_mm" . "1876") ("DELTA_H_mm" . "123"))))
|
||||
(tu-eq "csv:hoehen-werte/gf-von" "2500" (cdr (assoc "HOEHE_VON_mm" _w)))
|
||||
(tu-eq "csv:hoehen-werte/gf-bis" "2376" (cdr (assoc "HOEHE_BIS_mm" _w)))
|
||||
(tu-eqf "csv:hoehen-werte/gf-montage" 2.5 (atof (cdr (assoc "MONTAGEHOEHE_m" _w))))
|
||||
|
||||
;; VF steigend ("Auf"): BIS liegt ueber VON, DELTA_H_mm ohne Vorzeichen
|
||||
(setq _w (csv:hoehen-werte "VF" 1000.0
|
||||
'(("HOEHE_VON_mm" . "2000") ("HOEHE_BIS_mm" . "2400") ("DELTA_H_mm" . "400"))))
|
||||
(tu-eq "csv:hoehen-werte/vf-auf-von" "1000" (cdr (assoc "HOEHE_VON_mm" _w)))
|
||||
(tu-eq "csv:hoehen-werte/vf-auf-bis" "1400" (cdr (assoc "HOEHE_BIS_mm" _w)))
|
||||
(tu-eqf "csv:hoehen-werte/vf-auf-montage" 1.2 (atof (cdr (assoc "MONTAGEHOEHE_m" _w))))
|
||||
|
||||
;; VF ohne VON/BIS -> Rueckfall z - DELTA_H_mm
|
||||
(setq _w (csv:hoehen-werte "VF" 3000.0 '(("DELTA_H_mm" . "500"))))
|
||||
(tu-eq "csv:hoehen-werte/vf-rueckfall-bis" "2500" (cdr (assoc "HOEHE_BIS_mm" _w)))
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; TESTS: Gefaellestrecke.lsp - Geometrie-/Listen-Helfer
|
||||
;; ------------------------------------------------------------
|
||||
@@ -671,7 +711,7 @@
|
||||
;; ------------------------------------------------------------
|
||||
;; TESTS: KreiselInsert.lsp - Geometrie-Helfer
|
||||
;; ------------------------------------------------------------
|
||||
(defun tu-tests-kreisel ()
|
||||
(defun tu-tests-kreisel ( / _e)
|
||||
(princ "\n[KreiselInsert]")
|
||||
|
||||
;; Projektion eines Punktes auf eine Gerade
|
||||
@@ -689,6 +729,30 @@
|
||||
(tu-eqf "kreisel-idx-to-rotation/2" 90.0 (kreisel-idx-to-rotation 2))
|
||||
(tu-eq "kreisel-rotation-to-idx/90" 2 (kreisel-rotation-to-idx 90.0))
|
||||
(tu-eq "kreisel-rotation-to-idx/180" 1 (kreisel-rotation-to-idx 180.0))
|
||||
|
||||
;; Beschriftung mit/ohne eigenen Namen
|
||||
(tu-eq "kreisel-label-text/name"
|
||||
"KREISEL 3: Puffer STANDARD_2300" (kreisel-label-text 3 "Puffer" "STANDARD" 2300.0))
|
||||
(tu-eq "kreisel-label-text/vorgabe-name"
|
||||
"KREISEL 3: PIN_4000" (kreisel-label-text 3 "Kreisel3" "PIN" 4000.0))
|
||||
(tu-eq "kreisel-label-text/leer"
|
||||
"KREISEL 3: PIN_4000" (kreisel-label-text 3 "" "PIN" 4000.0))
|
||||
|
||||
;; Eckrad-Dialog: Eingaben -> (attribs . rotation)
|
||||
(setq _e (eckrad-dialog-werte '(("NUMMER" . "3") ("HOEHE" . "0") ("DREHRICHTUNG" . "UZS"))
|
||||
"Eck3" "2500" "-90" "1" "0" "1"))
|
||||
(tu-eqf "eckrad-dialog-werte/rotation-normiert" 270.0 (cdr _e))
|
||||
(tu-eq "eckrad-dialog-werte/hoehe" "2500" (cdr (assoc "HOEHE" (car _e))))
|
||||
(tu-eq "eckrad-dialog-werte/nummer-bleibt" "3" (cdr (assoc "NUMMER" (car _e))))
|
||||
(tu-eq "eckrad-dialog-werte/name" "Eck3" (cdr (assoc "Bezeichnung" (car _e))))
|
||||
(tu-eq "eckrad-dialog-werte/guz" "GUZ" (cdr (assoc "DREHRICHTUNG" (car _e))))
|
||||
(tu-eq "eckrad-dialog-werte/einzelmodul" "0" (cdr (assoc "GERUEST_EINZELMODUL" (car _e))))
|
||||
(tu-eq "eckrad-dialog-werte/geruest-typ" (nth 1 *ssg-geruest-optionen*)
|
||||
(cdr (assoc "GERUEST_TYP" (car _e))))
|
||||
(tu-nil "eckrad-dialog-werte/hoehe-ungueltig"
|
||||
(eckrad-dialog-werte nil "" "abc" "0" "0" "1" "2"))
|
||||
(tu-nil "eckrad-dialog-werte/drehung-leer"
|
||||
(eckrad-dialog-werte nil "" "2000" "" "0" "1" "2"))
|
||||
)
|
||||
|
||||
|
||||
@@ -1982,7 +2046,7 @@
|
||||
|
||||
(foreach fn '("tu-tests-core" "tu-tests-lang" "tu-tests-id" "tu-tests-vfcore"
|
||||
"tu-tests-etage"
|
||||
"tu-tests-export" "tu-tests-gf" "tu-tests-omni" "tu-tests-kreisel"
|
||||
"tu-tests-export" "tu-tests-hoehen" "tu-tests-gf" "tu-tests-omni" "tu-tests-kreisel"
|
||||
"tu-tests-sepliste" "tu-tests-json" "tu-tests-geruest"
|
||||
"tu-tests-sepscan" "tu-tests-vfl-segs" "tu-tests-vfl-abbruch"
|
||||
"tu-tests-werkzeuge")
|
||||
|
||||
Reference in New Issue
Block a user